Ubuntuネットワークカードブリッジおよびブリッジ後のネットワーク不通の解決方法
最近はDockerの勉強をしていて、ローカルエリアネットワークで異なるマシンで動作するDockerネットワークをオンにしてブリッジ方式を使おうとしています.以下に、関連するいくつかの操作と発生した問題と解決方法を記録します.
1.bridge-utilsのインストール(システムはUbuntu 15.04)
apt-get install -y bridge-utils
2.Dockerサービスを停止
systemctl stop docker.service
3.Dockerが作成したデフォルトの仮想NICを削除
ip link set dev docker0 down
brctl delbr docker0
4.NICのプロファイルの変更
vi/etc/network/interfaces
上記の内容を(完全な構成)に変更します.
5.NICの再起動
/etc/network/networking restart
再起動後ifconfigを実行すると、br 0の仮想ネットワークカードが1つ存在することがわかります.
6.dockerのブリッジ構成の変更
echo 'DOCKER_OPTS="-b=br0"' >>/etc/default/docker systemctl start docker.service
OK、ブリッジはすでに構成されており、Dockerのブリッジはbr 0にバインドされています.
遭遇した問題:ネット上のNICブリッジの構成を参照するため、ほとんどの資料は /etc/network/interfacesのbr 0の構成には、次の行があります. bridge_stp off ,しかし、プロファイルを変更するたびに、NICを再起動すると、ネットワークが通じなくなり、数秒も通じ、いくつかのコマンドを実行することができますが、その後、ネットワークが切断されます(MD、冗談を言っています!).そして、ルーティングのチェック、IPとゲートウェイの設定、Macアドレスのバインドなど、一日中問題点を探していましたが、ネットワークが切断されます.
最後に、どれだけの資料を調べたら、偶然http://blog.csdn.net/cybertan/article/details/8160102で説明している手順を実行してください.
だから、なぜネットが通じないのか、一瞬にして分かった:サーバー内部でループになった!そこで思い切って:bridge_stp off 一行の注釈を落として(後で発見して:bridge_stp noに変えるべきです)、更にネットカードを再起動して、瞬間的にネットは通じて、しかし私の後ろでまた何台かの機械の上でテストして、やはりだめなようで、システムを再起動した後で、ブリッジは大丈夫です.でも、後で気づいた:bridge_stp on/noは、ブリッジにはあまり影響しません.どうせシステムを再起動する必要があります.この問題に2、3日振り回されたので、ここで忘れて、同じ問題に直面した同級生を助けたいと思っています.
1.bridge-utilsのインストール(システムはUbuntu 15.04)
apt-get install -y bridge-utils
2.Dockerサービスを停止
systemctl stop docker.service
3.Dockerが作成したデフォルトの仮想NICを削除
ip link set dev docker0 down
brctl delbr docker0
4.NICのプロファイルの変更
vi/etc/network/interfaces
auto p1p1
iface p1p1 inet static
address 10.0.40.11
netmask 255.255.255.0
network 10.0.40.0
broadcast 10.0.40.255
gateway 10.0.40.1
dns-nameservers 114.114.114.114
上記の内容を(完全な構成)に変更します.
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto p1p1
iface p1p1 inet manual
auto br0
iface br0 inet static
address 10.0.40.11
network 10.0.40.0
netmask 255.255.255.0
broadcast 10.0.40.255
gateway 10.0.40.1
bridge_ports p1p1
dns-nameservers 114.114.114.114
# bridge_stp off
bridge_fd 0
bridge_maxwait 0
5.NICの再起動
/etc/network/networking restart
再起動後ifconfigを実行すると、br 0の仮想ネットワークカードが1つ存在することがわかります.
6.dockerのブリッジ構成の変更
echo 'DOCKER_OPTS="-b=br0"' >>/etc/default/docker systemctl start docker.service
OK、ブリッジはすでに構成されており、Dockerのブリッジはbr 0にバインドされています.
遭遇した問題:ネット上のNICブリッジの構成を参照するため、ほとんどの資料は /etc/network/interfacesのbr 0の構成には、次の行があります. bridge_stp off ,しかし、プロファイルを変更するたびに、NICを再起動すると、ネットワークが通じなくなり、数秒も通じ、いくつかのコマンドを実行することができますが、その後、ネットワークが切断されます(MD、冗談を言っています!).そして、ルーティングのチェック、IPとゲートウェイの設定、Macアドレスのバインドなど、一日中問題点を探していましたが、ネットワークが切断されます.
最後に、どれだけの資料を調べたら、偶然http://blog.csdn.net/cybertan/article/details/8160102で説明している手順を実行してください.
bridge eth0 (promiscuous mode, ), br0 (forwarding state), br0 eth0 MAC , eth0 IP。“brctl stp br0 on” br0 STP ,STP (Spanning Tree Protocol), bridge LAN (bridge loop)。 STP, bridge 。
だから、なぜネットが通じないのか、一瞬にして分かった:サーバー内部でループになった!そこで思い切って:bridge_stp off 一行の注釈を落として(後で発見して:bridge_stp noに変えるべきです)、更にネットカードを再起動して、瞬間的にネットは通じて、しかし私の後ろでまた何台かの機械の上でテストして、やはりだめなようで、システムを再起動した後で、ブリッジは大丈夫です.でも、後で気づいた:bridge_stp on/noは、ブリッジにはあまり影響しません.どうせシステムを再起動する必要があります.この問題に2、3日振り回されたので、ここで忘れて、同じ問題に直面した同級生を助けたいと思っています.