rp_filter
送信元アドレスへの経路が着信インターフェースと一致しないパケットを破棄するLinuxの設定。なりすまし対策だが、原因不明のパケットロスの半分はこれのせいでもある。
発想の元はRFC 3704で、ルーティングテーブル上まったく別の方向にあるはずのアドレスを名乗るパケットは、送信元が偽造されている可能性が高い、というものだ。厳格モード(rp_filter=1)では、応答がパケットの届いたインターフェースから出ていくことが条件になり、緩和モード(2)では、そのアドレスに到達可能でありさえすればよい。問題は、正当な非対称ルーティングも見た目がまったく同じことで、マルチホームのサーバーやVPN構成では、ログ一行残さず通信が消える。対処法は緩和モードにするか、ポリシールーティングで経路を対称にすることだ。破棄数は/proc/net/netstatのIPReversePathFilterで確認できる。