2011年9月11日日曜日

RHEL6/SL6/CentOS6 ネットワーク設定まとめ


このエントリーをはてなブックマークに追加


5 → 6 でいろいろと変わったネットワーク関係の設定をまとめ。


インターフェース名・順序

5まではifcfg-ethX内のHWADDRやmodprobe.confなんか使ってethXの順番をいじってたが、6以降は全てudev一本で制御できるようになっている(5でもudevを使ってif順序を制御することは可能。

udevでのネットワーク設定は以下にまとめられている。

/etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:c8:16:8d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
下線部部分でMACアドレスとデバイス名の関連付けを行っている。

NAME=の部分は好きに設定できるのでこんな事もできる。

# cat /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:c8:16:8d", ATTR{type}=="1", KERNEL=="eth*", NAME="internal0"

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="internal0"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO=static
IPADDR=192.168.1.111
PREFIX=24

# ifconfig -a
internal0 Link encap:Ethernet  HWaddr 08:00:27:C8:16:8D
          inet addr:192.168.1.111  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2001:c90:941:1984:a00:27ff:fec8:168d/64 Scope:Global
          inet6 addr: fe80::a00:27ff:fec8:168d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:153 errors:0 dropped:0 overruns:0 frame:0
          TX packets:131 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:16735 (16.3 KiB)  TX bytes:15919 (15.5 KiB)

この設定ファイルはNICが交換されたり新しいNICが追加されると自動的にエントリーが追加される。そのためHW交換したときは注意が必要。ちなみにこのudevファイルはこのスクリプトが実行されることで生成されます。

/lib/udev/write_net_rules

こちらに解説があります。


ネットワーク設定関連ファイル

アドレスの設定は相変わらず以下のファイルで行う。

・/etc/sysconfig/network
・/etc/sysconfig/network-scripts/ifcfg-*
・/etc/nsswitch.conf
・/etc/resolv.conf
・/etc/hosts

必要最低限の設定は以下

/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hostname.domainname.co.jp
GATEWAY=192.168.XXX.XXX

/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
#HWADDR=xx:xx:xx:xx:xx:xx
NM_CONTROLLED="no"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.XXX.XXX
#NETMASK=255.255.255.0
PREFIX=24
DEFROUTE=yes
#GATEWAY=192.168.YYY.YYY
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
#NAME="System eth0"
#UUID=956848c7-9e25-48da-9b17-e0dbe868542a
■補足:HWADDR
MACとインターフェースの関連付け。書いておいても問題ないが、udevとの二重管理になるので行ごと削除するのがおすすめ。

■補足:NM_CONTROLLED
yesにするとNetwork Managerの管理下に置かれる。ほぼノートPC専用オプション。サーバの場合は行ごと消してしまっても問題ない。chkconfigでデーモンごとOFFにしてもよい。chkconfig NetworkManager off

■補足:BOOTPROTO
BOOTPROTO には static というオプションはなく、dhcp、bootp、それ以外 となります。
明示的にアドレスを指定する場合は static、アドレスを与えないインターフェスの場合 none としておくのが慣例です。

■補足:ONBOOT
起動時にNICを有効化

■補足:IPADDR
IPアドレスを指定

■補足:NETMASK, PREFIX
この2つはどちらの記述でも構いませんが、RHEL6からはPREFIXが推奨されています。

■補足:DEFROUTE
このオプションは複数NICを備えるサーバで、デフォルトの通信に利用されるインターフェースを指定します。yesとしたインターフェースがデフォルト通信用になります。1NICの場合は指定しても、しなくてもどちらでも構いません。

■補足:GATEWAY
NICごとに個別にゲートウェイを指定する場合に使う。基本的にルータとして使う場合のオプション。指定しない場合は /etc/sysconfig/network の値が使われる。デフォルトゲートウェイを1つだけ指定する場合は、/etc/sysconfig/network に記述した方が設定がわかりやすい(ここは好みなので、どちらでも良い。

■補足:IPV4_FAILURE_FATAL
IPv4の設定に失敗した場合、IPv6の設定を行う。noで有効(IPv6を設定する)、yesで無効(IPv6を設定しない)

■補足:IPV6INIT
IPv6を利用するか。

■補足:NAME
NetworkManagerで利用される名前。設定不要。

■補足:UUID
NetworkManagerでの識別子に使われる。設定不要。


DNSを使う場合は/etc/resolv.confを編集。
nameserver 192.168.1.254
nameserver 192.168.2.254

DNSを使わない場合は、/etc/nsswitch.conf の hosts の項目からdnsを外すこともできる(resolv.confを空欄にしても良い)
37 #hosts:     db files nisplus nis dns
 38 hosts:      files dns
 39

ifconfig と ip コマンド

RHEL6以降は、ip コマンドを使うのが推奨です。
KVMによる仮想化機能が強化されたRHEL6以降、仮想NWを構築するためにネットワーク周りに様々な拡張が施されています。古い ifconfig では、それらの新しいネットワーク環境を完全に制御することができません。

0 件のコメント:

コメントを投稿