CentOS7でネットワークインタフェースの設定

Linux

CentOS 7 でネットワークインタフェースの設定を行うときのメモです。

ネットワークインタフェースの設定には設定ファイルを編集するものだと思っていたのですが、最近はコマンドによる設定が一般的なのでしょうか。間違いは少なくなると思いますしファイルを直接編集するのは思わぬトラブルの元でもあるので正しい方向だとは思いますが覚えるのが面倒ですね。

nmcliコマンド

ネットワークの設定にはnmcliコマンドを使用します。そもそもコマンドの名前が覚えにくいのですが。

デバイスの状況確認

まずはどのようなインタフェース(デバイス)があるのか確認します。

# nmcli device
DEVICE  TYPE      STATE         CONNECTION
eth0    ethernet  connected     System eth0
eth1    ethernet  disconnected  --
eth2    ethernet  disconnected  --
lo      loopback  unmanaged     --

接続の状態が出力されます。

デバイスeth0は既に接続されていて、他のデバイスは接続されていない事がわかります。

ついでにデバイスeth0の詳細を見てみます。

# nmcli device show eth0
GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         <省略>
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     System eth0
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         <省略>
IP4.GATEWAY:                            <省略>
IP4.ROUTE[1]:                           <省略>
IP4.ROUTE[2]:                           <省略>
IP4.DNS[1]:                             <省略>
IP4.DNS[2]:                             <省略>
IP6.GATEWAY:                            --

デバイスeth1の詳細も見ておきます。

# nmcli device show eth1
GENERAL.DEVICE:                         eth1
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         <省略>
GENERAL.MTU:                            1500
GENERAL.STATE:                          30 (disconnected)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
WIRED-PROPERTIES.CARRIER:               on

コネクションの確認

デバイス(インターフェース)に直接設定を行うのではなく、コネクションという単位でデバイスに設定を割り当てます。

コネクションの状態を見てみます。

# nmcli connection
NAME         UUID                                  TYPE      DEVICE
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  --
System eth2  3a73717e-65ab-93e8-b518-24f5af32dc0d  ethernet  --

System eth0というコネクションがデバイスeth0に結びついています。これはデバイスの状態でもわかりました。

既にSystem eth1というコネクションがあるのでこれがeth1と結びついて動けばいい事にします。

固定IPアドレスの設定

IPアドレス172.16.1.1/24を設定します。

# nmcli connection modify 'System eth1' ipv4.method manual ipv4.addresses 172.16.1.1/24

自動的に接続できるようにする

起動時に自動的に接続できるようにしておきます。

# nmcli connection modify 'System eth1' connection.autoconnect yes

インタフェースを起動する

いよいよコネクションを起動してインタフェースが使えるようにします。

# nmcli connection up 'System eth1'
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/24)

設定確認

デバイスの状態を確認してみます。

# nmcli device
nmcli device
DEVICE  TYPE      STATE         CONNECTION
eth0    ethernet  connected     System eth0
eth1    ethernet  connected     System eth1
eth2    ethernet  disconnected  --
lo      loopback  unmanaged     --

無事connectedになりました。

詳細を確認してみます。

# nmcli device show eth1
GENERAL.DEVICE:                         eth1
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         <省略>
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     System eth1
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/24
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         172.16.1.1/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 172.16.1.0/24, nh = 0.0.0.0, mt = 103
IP6.GATEWAY:                            --

動作確認

同一ネットワークにある172.16.1.10へpingを行ってみましょう。

ping 172.16.1.10
PING 172.16.1.10 (172.16.1.10) 56(84) bytes of data.
64 bytes from 172.16.1.10: icmp_seq=1 ttl=64 time=0.173 ms
64 bytes from 172.16.1.10: icmp_seq=2 ttl=64 time=0.187 ms
64 bytes from 172.16.1.10: icmp_seq=3 ttl=64 time=0.186 ms
^C
--- 172.16.1.10 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.173/0.182/0.187/0.006 ms

念のためarpを確認します。

arp 172.16.1.10
Address                  HWtype  HWaddress           Flags Mask            Iface
172.16.1.10              ether   <省略>               C                     eth1

どうやら問題ないようですね。

コメント

タイトルとURLをコピーしました