複数の(VLAN)インターフェイスを持つルーターとして機能しているUbuntu 16.04サーバーがあります。デフォルトでは、rp_filter
(リバースパスフィルタリング)はすべてのインターフェイスで有効になっています。その方法を維持したいのですが、1つのインターフェイスだけを例外にしています。(このインターフェースからのパケットは、このインターフェースのルーティング宛先アドレスに対応しない送信元IPアドレスを持つことが許可されている必要があります。)
このインターフェイスの名前がでens20.4
、そのvlan-raw-deviceがens20
であり、宛先インターフェース(パケットフローのテスト用)に名前が付けられているとしますens20.2
(ただし、どの宛先インターフェースでも機能するはずです)。
私は成功せずrp_filter
にens20.4
のみプロパティを設定しようとしました:
echo 0 > /proc/sys/net/ipv4/conf/ens20.4/rp_filter
したがって、テストの目的でrp_filter
、vlan-raw-deviceおよびテストの宛先インターフェイスについても無効にしました。
echo 0 > /proc/sys/net/ipv4/conf/ens20/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/ens20.2/rp_filter
それでも成功しない場合、「スプーフィングされた」送信元IPアドレスを持つパケットは引き続きドロップされます。すべてのインターフェースを無効にrp_filter
した場合のみ、パケットは通過します:
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
ただし、他のすべてのインターフェイスのリバースパスフィルタリングを維持したいのですが、何が欠けていますか?