を使用してネットワークインターフェイスに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
実際に有用な違いはあまりないようですが、少なくとも1つの違いがあります。つまり、セカンダリアドレスの処理方法は、ルートを追加するかどうかに関係なく変更されません。
同じネットマスクを使用する同じネットワーク上の他のアドレスと同じインターフェイスに2番目のアドレスを追加すると、次のように分類されます。補助アドレス。最初の住所(基本住所、いいえ中学校属性)が削除されると、同じ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
基本(最初)を削除し、2番目も消えていることを確認してください。
# 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
2つの/ 32を使用している場合は両方ともベースアドレスと見なされるため、この現象は発生しません(/ 32を使用すると同じIP LANに属しません)。ただし、すべてのセカンダリノードを削除するのではなく、セカンダリノードをプライマリノードに昇格させるパラメータがあります。promote_secondaries
。
結論:noprefixroute
ルートの作成には影響しますが、アドレスに関連付けられている他のプロパティには影響しません。
より明確な違いがあるかどうかはわかりません。次のように設定すると、ARPを介して何かを見つけることができます。arp_ignore
またはarp_announce
デフォルトのデフォルト値とは異なります。arp_filter
説明は、ルーティングではなくアドレスに関するものです。