ブリッジ設定でiptablesからnftablesに切り替える

ブリッジ設定でiptablesからnftablesに切り替える

多くのLinuxディストリビューションがデフォルトでiptablesからnftablesに移行されることを考慮して、iptablesルールを移行したいと思います。

2つのブリッジを持つUbuntuサーバーがあります(主にサーバーで実行されているVMおよびLXDコンテナを収容するため)。どちらもネットプランで生成されます。

物理NIC eth0(タグなしVLAN10)はbr0にブリッジされます。 br0 は VLAN10 から IP を取得します。 eth0がIPを取得できませんでした。

VLAN66(タグ付き)はeth0で個別に設定され、br66でブリッジされます。 br66(またはVLAN66)にIPは設定されていません。

現在(怠惰な)すべてのフィルタリングがiptables、stdin、フィルタテーブルの転送、および出力チェーンで実行されるようにbr_netfilterモジュールをロードします。これにより、ebtableを個別に構成することを回避できます。

nftablesを見ると、ブリッジフィルタリングは別々のシリーズを介して行われるため、これらの怠惰なアプローチは機能しないことがわかります。

私の質問は:サーバーのインターフェイスがすべてブリッジされている場合、私のnftablesルールの主な焦点はブリッジファミリにあるべきですか?では、現在iptablesのフィルタテーブルに設定されているすべてのルールをip / ip6 / inetシリーズではなくBridgeシリーズに複製する必要がありますか?それとも混ぜて使うべきか、それならどうすれば分けなければなりませんか?

愚かな質問ならすみません。

編集:設定情報を追加しました。これらのvethインターフェイスはLXDコンテナに使用できます。

ネットワーク計画:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
      dhcp6: false
  bridges:
    br0:
      interfaces: [ eth0 ]
      macaddress: xx:xx:xx:xx:xx:94
      dhcp4: true
      dhcp6: true
      parameters:
        forward-delay: 0
        stp: false
    br66:
      interfaces: [ vlan66 ]
      macaddress: xx:xx:xx:xx:xx:8d
      dhcp4: false
      dhcp6: false
      link-local: [ ]
      accept-ra: false
      parameters:
        forward-delay: 0
        stp: false
  vlans:
    vlan66:
      id: 66
      link: eth0
      dhcp4: false
      dhcp6: false

IPアドレス:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:ee brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:94 brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.10/24 brd 10.10.10.255 scope global dynamic br0
       valid_lft 5022sec preferred_lft 5022sec
    inet6 fdfd:2553:8868:10:xxxx:xxxx:xxxx:xx94/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86361sec preferred_lft 14361sec
    inet6 2403:xxxx:xxxx:xx10:xxxx:xxxx:xxxx:xx94/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86361sec preferred_lft 14361sec
    inet6 fe80::xxxx:xxxx:xxxx:xx94/64 scope link 
       valid_lft forever preferred_lft forever
4: br66: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:8d brd ff:ff:ff:ff:ff:ff
5: vlan66@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br66 state UP group default qlen 1000
    link/ether 2c:4d:54:d2:84:ee brd ff:ff:ff:ff:ff:ff
7: veth940fee62@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br66 state UP group default qlen 1000
    link/ether e6:40:d8:1f:7b:93 brd ff:ff:ff:ff:ff:ff link-netnsid 0
9: vethff4da3d7@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br66 state UP group default qlen 1000
    link/ether 3a:ba:7e:c8:49:20 brd ff:ff:ff:ff:ff:ff link-netnsid 1
11: veth0d67113a@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br66 state UP group default qlen 1000
    link/ether 86:65:7f:bc:a0:c6 brd ff:ff:ff:ff:ff:ff link-netnsid 2
13: veth22f981e6@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br66 state UP group default qlen 1000
    link/ether 92:93:15:f6:ed:09 brd ff:ff:ff:ff:ff:ff link-netnsid 3
15: veth1d23d0ca@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br66 state UP group default qlen 1000
    link/ether 6e:8a:7d:48:0a:08 brd ff:ff:ff:ff:ff:ff link-netnsid 4

brctlは以下を示しています:

bridge name     bridge id               STP enabled     interfaces
br0             8000.xxxxxxxxxx94       no              eth0
br66            8000.xxxxxxxxxx8d       no              veth0d67113a
                                                        veth1d23d0ca
                                                        veth22f981e6
                                                        veth940fee62
                                                        vethff4da3d7
                                                        vlan66

ベストアンサー1

他のフォーラムの誰かが私に次の非常に便利なnftablesパケットフロー図を教えてくれました。

パケットフローチャート

これは私の考えを整理するのに多くの助けになります。まだルールを確定していませんが、メンバーインターフェイス間のブリッジを通過するパケットのルールは、ブリッジファミリーの転送チェーンに移動し、ブリッジインターフェイスからローカルホストに移動するパケットのルールは次のとおりです。 inetシリーズの入力チェーンに移動し、ブリッジ間のパケットルールはinetシリーズの順方向チェーンに移動します。

おすすめ記事