IPv4 Only 化する Bridge ツールの作り方
一部のプラットフォームでIPv6の無効化ができず、その手のデバッグをするときに不便なので作った

作り方

1. ブリッジの構築

よくある Raspberry Pi でL2ブリッジの構築を行う。
interfaceとdhcpcdとnetwork managerの情報が錯綜してるが、OSのバージョンに合わせて頑張る

2. ip6tables のルール設定

ip6tables -A FORWARD -j DROP

INPUT/OUTPUTかと思いきや、FORWARD

3. iptables のルールを永続化

iptables-persistent を入れる。

/etc/iptables/rule.v6 を一応確認しておく

4. カーネルモジュールを追加する

ブリッジでiptablesを通すために、モジュールを入れる。
なお、nftablesではなく、iptablesのルールを直で見に行く仕様のようなので、注意。
(そのため、なぜかiptablesのルールをいじるということになっている)

sudo modprobe br_netfilter 
echo "br_netfilter" >> /etc/modules
  • 参考
    • https://github.com/alexellis/k8s-on-raspbian/issues/5

5. /etc/sysctl.conf 設定追加

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1

これにより、bridgeインターフェースのトラフィックがiptablesのルールを見に行くようになる。
ちなみにルールは上記でも書いたようにFORWARDルールを参照する。

Previous Post Next Post

デュアルスタック環境を強制的にIPv4化するブリッジ