ブリッジインターフェイスエラー

ブリッジインターフェイスエラー

Debian を VirtualBox Guest として実行する際に問題があります。ブリッジを設定することはできますが、ログに多数のエラーがあふれ、システムが利用できなくなります。エラーの例:

11月12日 16:30:55 jessie-gnome カーネル: [737.277528] br0: 自身のアドレスが eth0 のソースアドレスであるパケットを受信しました。

11月12日 16:31:00 jessie-gnome カーネル: [742.280085] net_ratelimit: 47185 コールバック抑制

11月12日 16:31:00 jessie-gnome カーネル: [742.280088] br0: 自分のアドレスをソースアドレスとして eth1 からパケットを受信しました。

11月12日 16:31:00 jessie-gnome カーネル: [742.280178] br0: 自分のアドレスをソースアドレスとして eth1 からパケットを受信しました。

11月12日 16:31:00 jessie-gnome カーネル: [742.280282] br0: 自分のアドレスをソースアドレスとして eth1 からパケットを受信しました。

私のインターフェースファイルは次のとおりです

auto lo
iface lo inet loopback



iface eth0 inet manual

iface eth1 inet manual

auto br0
iface br0 inet static
    address 192.168.80.5
    netmask 255.255.255.0
    network 192.168.80.0
    gateway 192.168.80.1
     bridge_stp off       # disable Spanning Tree Protocol
     bridge_fd 0          # no forwarding delay
     bridge_ports eth0 eth1
     up iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT

より多くのCPU時間を消費するプロセスは次のとおりです。

  580 avahi     20   0   32224   2756   2492 R 16,2  0,2   1:30.48 avahi-daemon                                                                     
    3 root      20   0       0      0      0 R 15,5  0,0   1:43.27 ksoftirqd/0                                                                      
  923 root      20   0  215988  34140  18968 S 15,2  2,2   0:34.59 Xorg                                                                             
 1261 sergio    20   0 1330672 202952  68820 R 12,9 13,2   0:32.71 gnome-shell                                                                      
    7 root      20   0       0      0      0 S 12,6  0,0   1:22.70 rcu_sched  

オペレーティングシステムはDebian 8です。

これらのエラーをどのように修正できますか?

答え1

Linuxブリッジが特定のブリッジポートから新しい送信元MACアドレスを含むパケットを受信すると、MAC学習テーブルにポート番号とともにMACアドレスが格納されます。テーブル内の各項目はタイマーに関連付けられているため、その前に更新しないと、特定の時間(いわゆる「エージング時間」)が経過すると、項目は期限切れになります。デフォルトでは、Linuxブリッジエージング時間は300秒に設定されています。

この問題を解決するには、Linux ブリッジで MAC アドレス学習を無効にする必要があります。これを行うには、次のコマンドを使用して「年齢時間」を0に設定します。

sudo brctl setageing br0 0

引用:https://medium.com/@tienbm90/resolved-br0-received-packet-on-xx-with-own-address-as-source-address-fad895d410a4

答え2

古い投稿に返信して申し訳ありません。また、RPI4でraspbian(Debian 10 Buster)を使用し、これを見ると、ブリッジeth0.1とwlan0があります。 iftopを実行すると、この現象が発生するようです。

プロセスがブリッジでフィルタリング/受信を有効にすると、wlan0とeth0.1はこのメッセージでmac結果を生成し、wlan0も無効になると考えられます。この問題を解決しました。

#!/bin/bash
dmesg -T -x --follow |
while read LINE
do
   if [[ "$LINE" == *"received packet on wlan0 with own address"* ]]; then
      sleep 1
      echo "RESTART hostapd: $LINE" >> /var/log/wlan0.log
      systemctl restart hostapd
   fi
done

答え3

これらのメッセージが引き続き表示される場合は、ブリッジがスパニングツリープロトコルを使用しないように構成されている可能性があります。さらに、ソフトブリッジに接続された一部の外部ネットワークは、2つのブリッジポート間のループを閉じることがあります。

この問題を解決するには、以下を試してくださいbrctl stp br0 on

明らかに、デフォルト値はSTP = offです。これはinitrdブートプロセスの初期にかなりベアカーネル5.2.7で私の状況でした。 「ipconfig」が操作を実行する前に、ディスクレスクライアントをPXE起動し、Linuxユーザースペースにソフトブリッジを設定しようとしています。 :-)

注:ブリッジが作成されると、br0インターフェイスは最初に追加された物理インターフェイスのMACアドレスを使用します。これはここで議論されている「問題」とは何の関係もないかもしれませんが…PXEの起動時に私にとって重要です。ディスクのない単一のクライアントで複数のリースを無駄にしたくありません。

関連情報