Máscara de rede para endereço IP ponto a ponto?

Máscara de rede para endereço IP ponto a ponto?

Em um túnel ponto a ponto, consegui ter o mesmo IP duas vezes. Parece um bug, acho que pode estar relacionado a alguma representação interna da máscara de rede. Ele pode ser reproduzido com as etapas abaixo.

Eu criei um túnel tun assim:

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

Listei o endereço:

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

Como você pode ver, parece não haver máscara de rede associada ao 10.8.0.1. Mas ifconfig relata /32:

$ ifconfig tun3
inet 10.8.0.1  netmask 255.255.255.255  destination 10.8.0.2

Se eu iproute2adicionar o mesmo endereço 10.8.0.1/32, não há erro, o endereço é adicionado e depois listado.

# 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

A questão é: por quê? Eu estava esperando um:

    RTNETLINK answers: File exists

Caso você esteja se perguntando por que eu tentaria isso, eu estava tentando ajudar comessa questão.

Responder1

Em vez de usar ifconfigpara atribuição de IP, você pode usar ipo pacote iproute2. Seu manual descreve isso claramente:

man ip-address: "…

ENDEREÇO ​​do paro endereço do terminal remoto para interfaces pointopoint. Novamente, o ENDEREÇOpode ser seguido por uma barra e um número decimal, codificando o comprimento do prefixo da rede.Se um endereço de peer for especificado, o endereço local não poderá ter um comprimento de prefixo.O prefixo da rede está associado ao peer e não ao endereço local.

…"

informação relacionada