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
答え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の起動時に私にとって重要です。ディスクのない単一のクライアントで複数のリースを無駄にしたくありません。