tabimoba.net

とあるエンジニアの雑記帳

「ifconfig eth0:?」は古い!CentOS/RHELでのIPエイリアスの設定方法

CentOS6.4および RHEL(Red Hat Enterprise Linux)6.4では、ifconfig eth0:?コマンドの実行や、/etc/sysconfig/network-scriptsディレクトリにifcfg-eth0:?ファイルを配置してIPエイリアスを設定する(NIC1枚に対して複数のIPアドレスを割り当てる)ことは非推奨となりました。

# man ifconfig
NOTE
This program is obsolete! For replacement check ip addr and ip link. For statistics use ip -s link.

これにより、network-scriptsディレクトリ以下にifcfg-eth0:?のようなエイリアスごとの設定ファイルを用意する方法は使えなくなりました。(RHEL6.4で確認、CentOS6.4は未確認ですがおそらく同じかと)
ifconfig eth0:?コマンドでのIPエイリアス設定はまだ行えますが、OSのアップデートやバージョンアップにより今後使用できなくなることが考えられます。

今後IPエイリアスを追加するには、ifconfigコマンドではなくip addコマンドを使用して追加することになります。手順は以下のとおりです。

コマンドでIPエイリアスを追加する場合

以下の設定は、OS起動中のみ有効です。(再起動するとリセットされます)

ip addr add 192.168.0.2/24 dev eth0

なお、追加されたIPエイリアスはip addr showコマンドで確認することができます。(ifconfigコマンドではip addr addで追加されたIPエイリアスを確認することができません)

/etc/sysconfig/network-scriptsの設定でIPエイリアスを追加する場合

CentOS6.4およびRHEL6.4では「ifcfg-eth0:?」のようにエイリアスごとに設定ファイルを用意して設定せず、以下のように「ifcfg-eth0」ファイルにエイリアスの設定を含めます。

「IPADDR2」,「NETMASK2」のようにIPADDR,NETMASKそれぞれの末尾に数字を付加した設定がIPエイリアスとして適用されます。

なお、こちらの設定は再起動後も有効です。

IPADDR=192.168.0.1
NETMASK=255.255.255.0
IPADDR2=192.168.0.2
NETMASK2=255.255.255.0
IPADDR3=192.168.0.3
NETMASK3=255.255.255.0
IPADDR4=192.168.0.4
NETMASK4=255.255.255.0
IPADDR5=192.168.0.5
NETMASK5=255.255.255.0
IPADDR6=192.168.0.6
NETMASK6=255.255.255.0
IPADDR7=192.168.0.7
NETMASK7=255.255.255.0

現在ifcfg-eth0:?形式が有効であっても、今後yumでアップデートが行われた際に、IPエイリアスの設定が適用されなくなる可能性がありますので、現在ifcfg-eth0:?の形式でIPエイリアスを管理している場合は、速やかに新しい形式に移行することをお勧めします。