를 사용하여 네트워크 인터페이스에 IP 주소를 할당할 때 ip addr add noprefixroute
지정된 접두사 길이는 어떤 영향을 줍니까 ? 사용하지 않을 경우 noprefixroute
프리픽스 길이를 사용하여 추가된 주소의 네트워크 프리픽스에 대한 경로를 자동으로 생성 및 삭제합니다. 그거 말고 다른 기능도 있나요?
예를 들어, 차이점은 무엇입니까?
ip addr add noprefixroute 10.137.0.36/16 dev eth0
그리고
ip addr add noprefixroute 10.137.0.36/32 dev eth0
?
답변1
실제로 유용한 차이점은 많지 않은 것 같지만 적어도 한 가지 차이점이 있습니다. 즉, 보조 주소를 처리하는 방식은 경로 추가 여부에 관계없이 변경되지 않습니다.
동일한 넷마스크를 사용하는 동일한 네트워크의 다른 주소와 동일한 인터페이스에 두 번째 주소가 추가되면 다음과 같이 분류됩니다.보조 주소. 첫 번째 주소(기본 주소, 아니요중학교속성)이 제거되면 동일한 IP LAN에서 일치하는 다른 모든 주소는 모두중고등 학년, 도 삭제되었습니다.
예:
처음부터 시작하세요:
# ip addr flush dev eth0
기본 주소 추가(첫 번째 주소):
# ip addr add noprefixroute 10.137.0.36/16 dev eth0
동일한 넷마스크를 사용하여 동일한 IP LAN 내에 주소를 추가하세요.
# ip addr add noprefixroute 10.137.0.42/16 dev eth0
현재 상태 확인
# ip route # ip addr show dev eth0 2: eth0@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 0e:00:00:74:02:fd brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 10.137.0.36/16 scope global noprefixroute eth0 valid_lft forever preferred_lft forever inet 10.137.0.42/16 scope global secondary noprefixroute eth0 valid_lft forever preferred_lft forever
기본(첫 번째)을 제거하고 두 번째도 사라지는 것을 확인하세요.
# ip addr del 10.137.0.36/16 dev eth0 # ip addr show dev eth0 2: eth0@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 0e:00:00:74:02:fd brd ff:ff:ff:ff:ff:ff link-netnsid 0
두 개의 /32를 사용하는 경우 둘 다 기본 주소로 간주되므로 이러한 현상이 발생하지 않습니다(/32를 사용하면 동일한 IP LAN에 속하지 않음). 그런데, 모든 보조 노드를 삭제하는 대신 보조 노드를 기본 노드로 승격시키는 매개변수가 있습니다.promote_secondaries
.
결론: noprefixroute
경로 생성에는 영향을 주지만 주소에 연결된 다른 속성에는 영향을 주지 않습니다.
더 분명한 차이점이 있는지 확실하지 않습니다. 다음과 같이 설정하면 ARP를 통해 무언가를 찾을 수 있습니다.arp_ignore
또는arp_announce
기본 기본값과 다릅니다.arp_filter
설명은 라우팅이 아닌 주소에 관한 것입니다.