CentOS/RHELのネットワーク設定

いつもなんとなくでやってる事も多いので、ちょっと気合を入れてまとめてみました。
エイリアスの事とか、ifcfg-ethの書き方とか、もっとまとめたい事ありますが、疲れたのでここまでに。
というか、まとめようと思って探すと、知らなかった公式マニュアルとかでてきちゃいました。
さすが公式マニュアルだけあって、そこ見たほうが早いくらいまとまってますね。
公式マニュアルは、ページ下部にまとめてリンク置いてます。

構成ファイル

/etc/sysconfig/network ([http
//www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/ja-JP/Deployment_Guide/s2-sysconfig-network.html:title=解説]):OS全体で共通のネットワーク設定。複数のNICがあり、別の設定をする場合は下記。
/etc/sysconfig/network-scripts/ifcfg-eth[0-9] ([http
//www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/ja-JP/Deployment_Guide/s1-sysconfig-etcsysconf-dir.html:title=解説]):NIC毎のネットワーク設定。/etc/sysconfig/networkの設定を継承する。
/etc/resolv.conf ([http
//www.linux.or.jp/JM/html/LDP_man-pages/man5/resolv.conf.5.html:title=解説]):このOSが利用するDNSサーバのIPを記述するファイル。
/etc/hosts ([http
//www.linux.or.jp/JM/html/LDP_man-pages/man5/hosts.5.html:title=解説]):IPアドレスとホスト名が対に定義されるファイル。DNSをルックアップする前にこれが参照される。DNSが無い場合や、何かの実験など若干特殊な事例に使われる。
/etc/host.conf ([http
//www.linux.or.jp/JM/html/LDP_man-pages/man5/host.conf.5.html:title=解説]):前述の/etc/hostsやDNSなどの、どれからルックアップするかの順番を定義する。

設定方法

vi /etc/sysconfig/network-scripts/ifcfg-eth[0-9]

ifcfg-eth0やifcfg-eth1などを、直接作成します。
時間が無いのでredhad.comのマニュアルへのリンクだけしておきます。Ethernet Interfaces(英語)
なぜかこのページの日本語版が見当たりませんでした。

/sbin/ifconfig
#/sbin/ifconfig eth0 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
#/sbin/ifconfig eth0:0 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.1.255
#/sbin/ifconfig eth1 192.168.1.20 netmask 255.255.255.0 broadcast 192.168.1.255

ifconfigは現在の設定確認だけでなく、上記の様にネットワーク設定も行えます。
しかし、OSが再起動したり、/sbin/service network reload|restartすると、その設定は消えてしまいます。
実験や確認などで一時的に設定したい時には使えますが、常用する設定には使えません。

/usr/sbin/netconfig

詳しくは知らないのですが、少なくともCentOS5.1では、このコマンドは無くなった*1そうです。
変わりに下記system-config-networkが使えます。

/usr/sbin/system-config-network

DEC Line Drawing Character*2による、CUI上のGUIで設定ができます。
前述の/etc/sysconfig/network-scripts/ifcfg-eth[0-9]が作成・編集されます。
基本的な項目だけ設定が出来るものでした。

設定したらnetworkをリロード

#/etc/init.d/network reload
#/sbin/service network reload

設定ファイルを作成・編集しても、すぐには反映されません。
上記コマンドをどちらか実行して、設定ファイルを読み込ませます。

*1:この辺が理由かも。http://www.jp.redhat.com/support/errata/RHEA/RHEA-2007-0852J.html

*2:間違った呼称かも・・・

*3:チャプター番号の違いからもわかりますが、英語版の方が充実してるみたいです。