私は今調査Docker ブリッジの背後に DHCP サーバーを設定します。私のdockerブリッジが使用しています。着信要求をブリッジされたネットワークにdocker compose
転送する方法を探しています。確認に使用する予定のDHCPDISCOVER
IPSがモードに設定されています。NFQUEUE
変化*)いくつかのDHCPパケット。チェーンやチェーンqueue num
では使用できません。ingress
egress
チェーンfwd
で使用できることを知っていますが、これは2つの問題を引き起こします。ingress
- パケット
fwd
エドNF_STOLEN
重要性これ以上パスが発生しないため、パケットは IPS に送信されません。 fwd
ルールとingress
チェーンには名前付きNICが必要です。 Dockerはこれらのインタフェースを動的に提供するため、これはきちんとした解決策のようには見えず、後でテーブルとチェーンを追加する必要があるオーバーヘッドを追加します。
このために、以下を試しました。
table inet nat {
chain prerouting {
type nat hook prerouting priority -100; policy accept;
ether daddr ff:ff:ff:ff:ff:ff udp sport 68 ip daddr 255.255.255.255 dnat to 172.25.10.5;
}
}
そして
table netdev filterearly_lan {
chain ingress {
type filter hook ingress device enp1s0.10 priority -500; policy accept;
ether daddr ff:ff:ff:ff:ff:ff udp sport 68 ip daddr set 172.25.10.5;
}
}
しかし、の出力には何も表示されないようですtcpdump -i br-a039f83f0bc5 port 67 and port 68 or arp -nne
。
NICを指定せずにこの種の配信を実行できますか?ありがとう
* nftablesはパケットの奥深くに到達できないため、DHCPサーバーのIP(オプション54)フィールドを変更します。