Маска сети для IP-адреса точка-точка?

Маска сети для IP-адреса точка-точка?

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

Я создал вот такой туннель:

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

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

решение1

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

man ip-address: «…

АДРЕС ПИРадрес удаленной конечной точки для интерфейсов pointopoint. Опять же, АДРЕСможет сопровождаться косой чертой и десятичным числом, кодирующим длину сетевого префикса.Если указан адрес однорангового узла, локальный адрес не может иметь длину префикса..Сетевой префикс связан с одноранговым узлом, а не с локальным адресом..

…"

Связанный контент