Linuxブリッジ(brctl)はトラフィックを転送しません。

Linuxブリッジ(brctl)はトラフィックを転送しません。

次の構成を作成しました。

/* Created a Linux bridge and brought it up */
brctl addbr AnaBr4
ifconfig AnaBr4 up

/* Created a tuntap interface and brought it up */
ip tuntap add name Xr1 mode tap
ifconfig Xr1 up

/* Added the tuntap intf to Bridge */
brctl addif AnaBr4 Xr1

Xr1を仮想ルータの1つに接続しました。 VMMを使用してUbuntuサーバーをインスタンス化し、ネットワークカードをAnaBr4に接続します。したがって、トポロジは次のようになります。

Router(intf1)------(Xr1)(Anabr4)(vnet1)-----(Ens4)Ubuntu

Ens4には10.1.1.1/24 fr intf1と10.1.1.2/24を割り当てました。

ARP検証が正しく機能していることを確認しましたが、pingトラフィック(または他のトラフィック)は表示されません。

TCPDUMP を試みたところ、brctl は ping トラフィックを受信しましたが転送しないことがわかりました。

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vnet1, link-type EN10MB (Ethernet), capture size 262144 bytes
08:35:30.530193 IP 10.1.1.2 > 10.1.1.1: ICMP echo request, id 9159, seq 986, length 64
08:35:31.558092 IP 10.1.1.2 > 10.1.1.1: ICMP echo request, id 9159, seq 987, length 64
08:35:32.578175 IP 10.1.1.2 > 10.1.1.1: ICMP echo request, id 9159, seq 988, length 64
08:35:33.602173 IP 10.1.1.2 > 10.1.1.1: ICMP echo request, id 9159, seq 989, length 64

showmacは以下のように大丈夫です。

root@kvmserver:~# brctl showmacs AnaBr4
port no mac addr        is local?   ageing timer
  1 52:46:f8:b8:27:88   no        16.73 /*Router Intf1 MAC */
  2 52:54:00:d8:8e:f8   no         0.32 /* Ubuntu MAC */
  1 aa:0b:51:de:18:7d   yes        0.00
  1 aa:0b:51:de:18:7d   yes        0.00
  2 fe:54:00:d8:8e:f8   yes        0.00
  2 fe:54:00:d8:8e:f8   yes        0.00
root@kvmserver:~#

同じ構成がほぼ8ヶ月間働きました。昨日、KVMサーバーを再ロードした後も同じ構成が機能しません。

どんな助けでも大変感謝します。

こんにちは。以下でiptablesの出力を見つけてください。

root@kvmserver:~# iptables -vnL
Chain INPUT (policy ACCEPT 822K packets, 12G bytes)
 pkts bytes target     prot opt in     out     source               destination
  101  7429 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
   26  8358 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67
    0     0 ACCEPT     udp  --  virbr1 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr1 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  virbr1 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr1 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67

Chain FORWARD (policy DROP 3538 packets, 506K bytes)
 pkts bytes target     prot opt in     out     source               destination
43713   56M ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED
14808  813K ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0
    6  1948 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 ACCEPT     all  --  virbr1 virbr1  0.0.0.0/0            0.0.0.0/0
    0     0 REJECT     all  --  *      virbr1  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr1 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
 3538  506K DOCKER-USER  all  --  *      *       0.0.0.0/0            0.0.0.0/0
 3538  506K DOCKER-ISOLATION-STAGE-1  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 DOCKER     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  docker0 docker0  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 815K packets, 12G bytes)
 pkts bytes target     prot opt in     out     source               destination
   26  8592 ACCEPT     udp  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            udp dpt:68
    0     0 ACCEPT     udp  --  *      virbr1  0.0.0.0/0            0.0.0.0/0            udp dpt:68

Chain DOCKER (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DOCKER-ISOLATION-STAGE-2  all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0
 3538  506K RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      docker0  0.0.0.0/0            0.0.0.0/0
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain DOCKER-USER (1 references)
 pkts bytes target     prot opt in     out     source               destination
 3538  506K RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0
root@kvmserver:~#

皆さん、こんにちは、

問題を発見したと思います。 /etc/sysctl.conf ファイルに以下を追加すると問題が解決しました。

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

答え1

すべての助けに感謝します。 /etc/sysctl.conf ファイルに以下を追加して、この問題を解決します。

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

関連情報