CentOS7でifconfigで表示されるvirbr0(libvirtd)を無効にする手順

先日、VMwareでCentOS7の仮想マシンを作成した後に、ステータスをチェックしていたらIPアドレスが2つあるように表示されていました。


そのアドレスは、virbr0に振られていて、192.168.~始まるアドレス。以下は実機で確認したifconfigの結果です。

---
[root@CentOS74 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.9.131 netmask 255.255.255.0 broadcast 192.168.9.255
ether 00:0c:29:e8:02:85 txqueuelen 1000 (Ethernet)
RX packets 216662 bytes 261918514 (249.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 36587 bytes 2499598 (2.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 488 bytes 39008 (38.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 488 bytes 39008 (38.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:7a:25:b7 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

----

このvirbr0は使用しないので無効化したいな~と思ったら、公式サイトに情報がありました。

 

 

19.1. 仮想ネットワークのスイッチ

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/virtualization_administration_guide/chap-virtualization_administration_guide-virtual_networking


以下は抜粋です。

 

Libvirt 仮想ネットワークでは 仮想ネットワークのスイッチ という概念を利用します。仮想ネットワークのスイッチは、ソフトウェアで構成されホストー物理マシンサーバー上で動作します。仮想マシン群 (ゲスト) が接続され、各ゲストのネットワークトラフィックはこのスイッチを経由することになります。

Linux ホスト物理マシンのサーバーは、 仮想ネットワークスイッチをネットワークインターフェースとして表します。 はじめて libvirtd デーモン (libvirtd) をインストールして起動した場合、 仮想ネットワークスイッチを表すデフォルトのネットワークインターフェースは virbr0 になります。

 

仮想ネットワーク用のインターフェースがvirbr0になるそうで。では、使わないので無効にする方法です。


ちなみに、ネットでは「virsh」コマンドを実行する方法が紹介されていますが、 インストール状態によっては入っていないので、コマンドが使えません。そこで、libvirtdのサービスを停止することで、表示されなくできます。


■CentOS7でifconfigで表示されるvirbr0(libvirtd)を無効にする手順

[root@CentOS74 ~]# systemctl disable libvirtd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service.
Removed symlink /etc/systemd/system/sockets.target.wants/virtlockd.socket.
Removed symlink /etc/systemd/system/sockets.target.wants/virtlogd.socket.


続いて、サービスが停止したことを確認します。

[root@CentOS74 ~]# systemctl list-unit-files libvirtd.service
UNIT FILE STATE
libvirtd.service disabled


後は、OSを再起動すると次回以降は、virbr0が表示されなくなります。192.168.~から始まるIPアドレスは利用されることがあるので、不要な場合は無効にしたほうがいいですね。

 

最近はコンテナ技術などでサーバー上に色んなサービスを起動することも増えてきて、効率よくサーバを利用することができるようになってきましたね。結果、物理サーバを構築する機会がますます減ってきます。