
지점간 터널에서는 동일한 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
…
동일한 주소 10.8.0.1/32를 추가해서 사용하면 iproute2
오류 없이 주소가 추가된 후 나열됩니다.
# 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
IP 할당에 사용하는 대신 iproute2 패키지를 ifconfig
계속 사용할 수 있습니다 . ip
설명서에는 이에 대해 매우 명확하게 설명되어 있습니다.
man ip-address
: "…
피어 주소pointopoint 인터페이스에 대한 원격 끝점의 주소입니다. 다시한번 ADDRESS네트워크 접두사 길이를 인코딩하는 슬래시와 십진수가 뒤에 올 수 있습니다..피어 주소가 지정된 경우 로컬 주소는 접두사 길이를 가질 수 없습니다..네트워크 접두사는 로컬 주소가 아닌 피어와 연결됩니다..
…"