Сетевая маска для IP-адреса точка-точка?

В туннеле точка-точка мне удавалось иметь один и тот же IP дважды. Это похоже на ошибку, я думаю, это может быть связано с каким-то внутренним представлением сетевой маски. Его можно воспроизвести с помощью следующих шагов.

Я создал туннель tun следующим образом:

ip tuntap add dev tun3 mode tun user alice group alice
ip address add 10.8.0.1 peer 10.8.0.2/32 dev tun3

Я указал адрес:

$ ip address list dev tun3
…
inet 10.8.0.1 peer 10.8.0.2/32 scope global tun3
…

Как вы видите, похоже, что с 10.8.0.1 нет сетевой маски. Но ifconfig сообщает / 32:

$ ifconfig tun3
…
inet 10.8.0.1  netmask 255.255.255.255  destination 10.8.0.2
…

Если я использую iproute2 для добавления того же адреса 10.8.0.1/32, ошибки нет, адрес добавляется и затем отображается.

# ip address add 10.8.0.1/32 dev tun3
$ ip address list dev tun3
…
inet 10.8.0.1 peer 10.8.0.2/32 scope global tun3
…
inet 10.8.0.1/32 scope global tun3
…

Вопрос в том, Почему? Я ожидал:

    RTNETLINK answers: File exists

Если вам интересно, зачем мне это делать, я пытался помочь с этим вопросом .

0
задан 14 January 2020 в 17:22
1 ответ

Вместо использования ifconfig для назначения IP-адреса, вы можете использовать ip из пакета iproute2. В его руководстве это описано достаточно четко:

man ip-адрес: "...

peer ADDRESS адрес удалённой оконечной точки для интерфейсов точек". За ADDRESS опять же может следовать косая черта и десятичное число, кодирующее длину сетевого префикса. Если указан одноранговый адрес, то локальный адрес не может иметь длину префикса. Сетевой префикс связан с одноранговым, а не с локальным адресом.

..."

.
-1
ответ дан 15 January 2020 в 01:52

Теги

Похожие вопросы