問題
マシンにはネットワーク カードが 1 つしかありませんが、ifconfig では virbr0 という名前で 2 つのインターフェイスが表示されます と lxcbr0 .それらを使用していない場合、それらを完全に削除または無効にする方法。
# ifconfig .... lxcbr0 Link encap:Ethernet HWaddr 82:61:68:AC:39:0F inet addr:10.116.186.1 Bcast:0.0.0.0 Mask:255.255.255.0 inet6 addr: fe80::8061:68ff:feac:390f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:390 (390.0 b) virbr0 Link encap:Ethernet HWaddr 52:54:00:80:A7:C3 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
解決策
Linux ホスト サーバーでは、仮想ネットワーク スイッチがネットワーク インターフェイスとして表示されます。 libvirt デーモンが最初にインストールされて開始されたときに作成されるデフォルトのものは、virbr0 として表示されます。 VM がトラフィックをルーティングするためのゲートウェイとして機能します。また、libvirtd は、VM パケットの適切なルーティング/nating のために、iptables ルールを iptable 構成に挿入します。
libvirtd サービスを使用したくない場合は、同じサービスを停止することができます。これにより、virbr0 インターフェースのシステムからこれらすべてのネットワーク構成が削除されます。
lxcbr0 – パッケージ lxc を使用して lxc コンテナーをインストールおよび構成するときに作成される仮想ブリッジです。 lxc コンテナーを実行していない場合は、このインターフェースを削除することもできます。
virbr0 インターフェースの削除
ケース 1 :libvirtd サービスを使用していない
libvirtd サービスを使用していない場合は、そのサービスを停止できます。
RHEL/CentOS 5、6 の場合
1. libvirtd サービスを停止します。
# service libvirtd stop
2. libvirtd サービスを永続的に無効にして、起動時にサービスが開始されないようにします。
# chkconfig --list | grep libvirtd # chkconfig libvirtd off
RHEL/CentOS 7 の場合
1.サービスのステータスを確認し、systemctl コマンドを使用して libvirtd サービスを無効にします。
# /bin/systemctl stop libvirtd.service
# /bin/systemctl status libvirtd.service ● libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) Active: inactive (dead) since Fri 2016-10-07 11:04:31 IST; 2s ago Docs: man:libvirtd(8) http://libvirt.org Process: 1275 ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS (code=exited, status=0/SUCCESS) Main PID: 1275 (code=exited, status=0/SUCCESS)
2. サービスを永久に無効にする。
# /bin/systemctl disable libvirtd.service Removed symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service.
ケース 2 :libvirtd を使用し、「virbr0」は不要
このシナリオでは、libvirtd サービスは引き続き実行されますが、virbr0 インターフェイスは削除されます。以下の手順に従って、virbr0 インターフェースを削除してください。
1. 仮想マシンのデフォルトのネットワーク設定を一覧表示
# virsh net-list Name State Autostart Persistent ---------------------------------------------------------- default active yes yes
2. ネットワークのデフォルトを破棄します。
# virsh net-destroy default Network default destroyed
3. デフォルトの仮想ネットワークを構成から完全に削除します。
# virsh net-undefine default Network default has been undefined
4. インターフェイス virbr0 はなくなりました。 ifconfig または ip コマンドの出力で確認できます。
# ifconfig virbr0 virbr0: error fetching interface information: Device not found
実行中のマシンで virbr0 インターフェースを削除する (再起動後の非持続性)
1. まず、以下のコマンドを使用して、システムで使用可能な仮想ブリッジ インターフェイスを一覧表示します。
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.5254003008b6 yes virbr0-nic
2. 削除する前に、ブリッジ インターフェースをダウンさせます。
# ip link set virbr0 down
3. 次に、ブリッジを取り外します
# brctl delbr virbr0
4. ブリッジが削除されているかどうかを確認します
# brctl show bridge name bridge id STP enabled interfaces
lxcbr0 インターフェースの削除
lxcbr0 は、パッケージ lxc を使用して lxc コンテナーをインストールおよび構成するときに作成される仮想ブリッジです。 lxcbr0 インターフェースを削除するには、以下の手順に従ってください。
1. /etc/sysconfig/lxc の以下の行を変更します .これは再起動後に有効になります。
行を
USE_LXC_BRIDGE="true"
へ
USE_LXC_BRIDGE="false"
2. 実行中のシステムの lxcbr0 ブリッジ インターフェイスを削除できます。ただし、これは再起動後には有効になりません。したがって、最初に上記の手順を実行する必要があります。最初にブリッジ インターフェースをリストします。
# brctl show
3. 削除する前にブリッジ インターフェイスをダウンさせます
# ip link set lxcbr0 down
4. 次に、「brctl delbr」コマンドを使用してブリッジを削除します。
# brctl delbr lxcbr0
5. ブリッジが削除されているかどうかを確認します。
# brctl show