Linux KVMホストのネットワーク設定-CentOS 7¶
CentOS 7をKVMホストとするときのネットワーク設定メモです。
CentOS 7では、NetworkManagerを介した設定が推奨で、直接/etc/sysconfig/network-script/ifcfg-* を編集するのは非推奨となっています。
NetworkManagerのコマンドラインツールnmcli
が提供され、サーバー(GUIレス)な環境でも対応可能となっています。
KVMゲストが外部ネットワークへブリッジ接続する場合の設定方法¶
KVMゲストがネットワークにKVMホストをブリッジして接続する場合、あらかじめKVMホストにブリッジデバイスを設けておく必要があります。
CentOS 7を仮想サーバーとしてインストールした直後は、KVMホスト内部のブリッジ(virbr0)が生成されていますが、このブリッジではKVMゲストは直接外部のネットワークへ接続することができません(KVMホストをNATとして外部のネットワークに接続)。
そこで、KVMホストに外部ネットワークに接続するブリッジを作成し、KVMホストのNICデバイスはこのブリッジに接続するように構成します。
以下、作成するブリッジのデバイス名をbr0、NICデバイス名 enp4s0 とします。
NetworkManager (nmcli) を使用した設定¶
- 既存のenp4s0 を削除
# nmcli connection delete enp4s0
- br0 を新規作成
# nmcli connection add type bridge autoconnect yes con-name br0 ifname br0
- br0 のスパニングツリー設定を無効化
# nmcli connection modify br0 bridge.stp no
- enp4s0 を作成
# nmcli connection add type bridge-slave autoconnect yes con-name enp4s0 ifname enp4s0 master br0
- br0 のIPアドレス設定(CentOS 7.0時代の設定、7.1以降はエラーとなる)
# nmcli connection modify br0 ipv4.method manual ipv4.addresses "192.168.0.101/24 192.168.0.1" \ ipv4.dns 192.168.0.2
設定を変更したら、対象デバイスを一旦停止し再起動します。
# nmcli dev disconnect iface enp4s0 # nmcli dev connect iface enp4s0
- nmcli con down / up でもできるようですが、「con downすると手動モードになって・・・dev disconnectを推奨する」という記述がRed Hatのマニュアルにありました。