DSR - arosh/arosh.github.com GitHub Wiki

arp_announce

自分が送る ARP リクエストの IP パケットに詰める IP アドレスとしてどれを選ぶか決める

  • デフォルトの 0 では、インターフェースを考慮せずに自身が持つすべての IP アドレスのうちいずれかが選ばれる
  • 1 にすると、サブネットが適合しない IP アドレスは選ばれない
  • 2 にすると、そのインターフェースが持っていない IP アドレスは選ばれない

DSR では VIP を lo につけるが、それを eth0 から広報されると困るので arp_announce = 2 にする必要がある。

arp_ignore

ARP request が来た時のレスポンスを制御する。

  • デフォルトの 0 では、自身が持っている IP アドレスについての問い合わせは、どのインターフェースについても応答する
  • 1 では、そのインターフェースに設定された IP アドレスについてのみ応答する
  • 2~8 では、もっと厳しい制限が付く

DSR では lo につけられた VIP の問い合わせを eth0 で応答すると困るので arp_ignore = 1 以上にする必要がある。

rp_filter

入力トラフィックと出力トラフィックのインターフェースが異なるような通信をフィルターする設定。Linux カーネルのデフォルトでは 0 で制限がないが、ディストリビューション側でデフォルト値が変わっていることが多く、Ubuntu 20.04 では 2 になっている。

/proc/sys/net/ipv4/conf/{default,all}

default は新たに追加されたインターフェースのデフォルト設定を提供する。

all はインターフェースごとの明示的な設定が行われなかった場合のフォールバックを提供する。

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/deployment_guide/s2-proc-dir-sys

References