ip addr add noprefixroute プレフィックス長の意味

ip addr add noprefixroute プレフィックス長の意味

を使用してネットワークインターフェイスに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説明は、ルーティングではなくアドレスに関するものです。

関連情報