(Linux)ネットワークの設定

Linuxディストリビューションによって、
インタフェースの設定方法は変わりますが
本記事ではCentOS6と7の設定方法について説明します。

流れ

・設定ファイルの編集
・ネットワークの再起動
・状態確認

CentOS6

・設定ファイル
 /etc/sysconfig/network-scripts/ifcfg-eth0
 /etc/sysconfig/network-scripts/ifcfg-eth1
 ※編集方法はページ下部を参照
・ネットワークを再起動するコマンド
 service network restart
・インタフェースの状態確認
 ifconfig
・ルーティングテーブルの確認
 route

CentOS7

まずは現在のネットワーク状態を確認

[root@osboxes ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::997:363c:644c:a71f  prefixlen 64  scopeid 0x20<link>
        ether 0c:21:96:63:c5:00  txqueuelen 1000  (Ethernet)
        RX packets 12371  bytes 19342121 (18.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10404  bytes 753854 (736.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s3でIPv4アドレスがとれていない。認識されているデバイス名を確認する。

[root@osboxes ~]# nmcli d
DEVICE      TYPE      STATE      CONNECTION
enp0s3        ethernet  disconnected --
virbr0      bridge    connected  virbr0
lo          loopback  unmanaged  --
virbr0-nic  tun       unmanaged  --

enp0s3のインタフェース自体は認識されてるが、切断済みのステータスになっている。

インタフェース設定ファイルが存在するか確認する。

[root@osboxes ~]# ls /etc/sysconfig/network-scripts/
fdown-ppp       ifup-ib      ifup-Team
ifcfg-lo             ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown               ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep          ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth           ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib            ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp          ifup             ifup-post    network-functions-ipv6
ifdown-ipv6          ifup-aliases     ifup-ppp
ifdown-isdn          ifup-bnep        ifup-routes
ifdown-post          ifup-eth         ifup-sit

インタフェース設定ファイルが存在しないので、enp0s3をEthernetとして明示的に追加する。

[root@osboxes ~]# nmcli connection add type ethernet ifname enp0s3
Connection 'enp0s3' (6a178893-339c-4c20-9d10-0babc6eb7cf9) successfully  added.

追加に成功したとのメッセージが出たので、再度インタフェース設定ファイルを確認する。

[root@osboxes ~]# ls /etc/sysconfig/network-scripts/
ifcfg-ethernet-enp0s3    ifdown-post      ifup-eth     ifup-sit
ifdown-ppp       ifup-ib      ifup-Team
ifcfg-lo               ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown                 ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep            ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth             ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib              ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp            ifup             ifup-post    network-functions-ipv6
ifdown-ipv6            ifup-aliases     ifup-ppp
ifdown-isdn            ifup-bnep        ifup-routes

インタフェース設定ファイル(ifcfg-ethernet-enp0s3)を発見。

今回はDHCPなのでifcfgファイルは編集する必要なし(デフォがDHCPなので)

とりあえず再起動する。

[root@osboxes ~]# reboot

ネットワーク状態を確認する。

・設定ファイル
 /etc/sysconfig/network-scripts/ifcfg-enp0s3
 /etc/sysconfig/network-scripts/ifcfg-ens160
 /etc/sysconfig/network-scripts/ifcfg-ens192 とかとか

 ※編集方法はページ下部を参照
・ネットワークを再起動するコマンド
 systemctl restart NetworkManager
 systemctl restart network
・インタフェースの状態確認
 ip addr(ip aでも可)
・ルーティングテーブルの確認
 ip route

設定ファイルの編集箇所

ONBOOT=yes ← 起動時に有効にする
BOOTPROTO=none ← DHCPの場合は「dhcp」に
#HWADDR=00:0C:29:xx:xx:xx ← 自動取得にするので文頭に「#」
IPADDR=xxx.xxx.xxx.xxx ← 環境に即して
NETMASK=xxx.xxx.xxx.xxx ← 環境に即して
GATEWAY=xxx.xxx.xxx.xxx ← 環境に即して