OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2016/02/03

OSSでLinuxサーバ構築

RHEL 7.1でネットワークデバイス名をethXに変更する

トップページOSSでLinuxサーバ構築 > RHEL 7.1でネットワークデバイス名をethXに変更する
このエントリーをはてなブックマークに追加

概要

 Red Hat Enterprise Linux 6まではネットワークデバイス名として eth0, eth1, eth2, ・・・というネーミングが付与されていました。 バージョン7になってからは、この ethX というネーミングではなくenpXsX や enoX のように構成によって様々なネーミングが付与されるように変更されました。 実際一度設定するとあまり関係なかったりしますが、どうも馴染めないという場合は ethX のネーミングに変更することができます。 ネーミング以外でどのような影響があるのか正確に調査していませんが、設定方法について紹介します。

構成

想定環境

 以下では2つのLANポートを持つサーバで設定作業を行っています。 1つ目のLANポートにのみLANケーブルが接続されている状態です。

サーバ構成

OSバージョン

Red Hat Enterprise Linux 7.1 x86_64

ソフトウェア・パッケージ一覧

特に追加パッケージは必要ありません。

サーバ構築

設定

(1) GRUB 2のパラメータを変更

 GRUB 2では設定ファイル(/boot/grub2/grub.cfg)を直接エディタで修正するのではなく、 一度パラメータファイル(/etc/default/grub)を修正し、そのパラメータファイルを読み込んで 設定ファイルに反映するような流れとなりました。 パラメータファイルを vi で開き、「GRUB_CMDLINE_LINUX」の値に追記します。

# cd /etc/default/
# vi grub
ファイル名:/etc/default/grub
※赤字部分を追記※
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel00/root rd.lvm.lv=rhel00/swap rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"

(2) GRUB 2の設定ファイルへ変更を反映

 修正したパラメータを読み込んで、GRUB 2の設定ファイルに変更後の設定を反映します。 -o オプションで GRUB 2の設定ファイルを指定します。

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-229.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-229.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-2bd61f2aff4447f3993f0e3f506c69f8
Found initrd image: /boot/initramfs-0-rescue-2bd61f2aff4447f3993f0e3f506c69f8.img
done

(3) Linuxを再起動

 変更後のGRUB 2の設定が読み込まれるように、Linuxを再起動します。

# shutdown -r 0

(4) ネットワークデバイス名の確認

 Linuxの再起動が終わると、ネットワークデバイス名が昔ながらのethXのネーミングに 変更されてLinuxが起動してきます。以前設定していたIPアドレスやサブネットマスク、 デフォルトゲートウェイなどの設定はリセットされてしまいますので、再度設定する必要があります。 なお、以下の画面で eth1 の状態が「DOWN」と表示されているのは、LANケーブルを挿していないためです。

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether bc:ee:7b:5f:e3:c1 brd ff:ff:ff:ff:ff:ff
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:1b:21:61:aa:56 brd ff:ff:ff:ff:ff:ff

(5) IPアドレスとサブネットマスクの設定

 eth0 にIPアドレスとサブネットマスクを設定します。

# ip addr add 192.168.0.104/255.255.255.0 dev eth0

(6) IPアドレスとサブネットマスクの設定確認

 eth0 にIPアドレスとサブネットマスクが設定されたことを確認します。 ネットワークデバイスが複数ある場合は、デバイス毎に(5),(6)の手順を繰り返してください。

# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether bc:ee:7b:5f:e3:c1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.104/24 scope global eth0 ←IPアドレスとサブネットマスクが設定された
       valid_lft forever preferred_lft forever
    inet6 2408:210:9606:6100:beee:7bff:fe5f:e3c1/64 scope global dynamic
       valid_lft 14156sec preferred_lft 12356sec
    inet6 fe80::beee:7bff:fe5f:e3c1/64 scope link
       valid_lft forever preferred_lft forever
3: eth1:  mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:1b:21:61:aa:56 brd ff:ff:ff:ff:ff:ff

(7) デフォルトゲートウェイとDNSサーバの設定

 ネットワークデバイス eth0 の状態を確認すると、ゲートウェイとDNSの設定が行われていないことが 分かりますので、設定を追加します。

# nmcli device show eth0
GENERAL.デバイス:                       eth0
GENERAL.タイプ:                         ethernet
GENERAL.ハードウェアアドレス:           BC:EE:7B:5F:E3:C1
GENERAL.MTU:                            1500
GENERAL.状態:                           100 (接続済み)
GENERAL.接続:                           eth0
GENERAL.CON パス:                       /org/freedesktop/NetworkManager/ActiveConnection/0
WIRED-PROPERTIES.キャリア:              オン
IP4.アドレス[1]:                        192.168.0.104/24
IP4.ゲートウェイ: ←設定されていない
IP6.アドレス[1]:                        2408:210:9606:6100:beee:7bff:fe5f:e3c1/64
IP6.アドレス[2]:                        fe80::beee:7bff:fe5f:e3c1/64
IP6.ゲートウェイ:                       fe80::3ae0:8eff:fe19:5328
# nmcli connection modify eth0 ipv4.gateway 192.168.0.1 ipv4.dns 192.168.0.1

(8) デフォルトゲートウェイとDNSサーバの設定確認

 設定が終わったら、eth0 のデバイスを再起動し、変更を反映させます。 その後、再度 eth0 の状態を確認すると、ゲートウェイとDNSが設定されていることが分かります。

# nmcli connection down eth0 && nmcli connection up eth0
Connection 'eth0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/0)
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/1)
# nmcli device show eth0
GENERAL.デバイス:                       eth0
GENERAL.タイプ:                         ethernet
GENERAL.ハードウェアアドレス:           BC:EE:7B:5F:E3:C1
GENERAL.MTU:                            1500
GENERAL.状態:                           100 (接続済み)
GENERAL.接続:                           eth0
GENERAL.CON パス:                       /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.キャリア:              オン
IP4.アドレス[1]:                        192.168.0.104/24
IP4.ゲートウェイ:                       192.168.0.1 ←設定された
IP4.DNS[1]:                             192.168.0.1 ←設定された
IP6.アドレス[1]:                        fe80::beee:7bff:fe5f:e3c1/64
IP6.ゲートウェイ:

(9) 設定ファイルの確認(念のため)

 nmcliコマンドで設定したネットワークの設定が、設定ファイルに反映されていることを確認します。 必須ではありませんが、念のための作業です。

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR=BC:EE:7B:5F:E3:C1
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.0.104 ←IPアドレス
PREFIX=24       ←サブネットマスク(24 = 255.255.255.0)
GATEWAY=192.168.0.1  ←ゲートウェイ
DNS1=192.168.0.1   ←DNSサーバ
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=e800e69a-da76-40e2-b29a-3ecd64e5bbd7
DEVICE=eth0      ←ネットワークデバイス名
ONBOOT=no
# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.0.1 ←DNSサーバ

プロフィール

らのっち

損害保険会社のIT企画部に勤務するSEです。OSSを勉強中です。

<所属>
日本PostgreSQLユーザ会とくしまOSS普及協議会


第000414号