1枚のNICに複数のIPアドレスを割り当てたい場合に重宝する設定です。 逆に複数のNICに1つのIPアドレスを割り当てる設定はNICチーミングです。 どちらも昔からある設定なので今更すぎますが・・・。 今回は恒久的に設定する方法を記載します。一時的に設定する方法はこちらです。 VIP(仮想IP)はWebサーバでVirtualHost設定時にIPを個別に割り当てたい場合等で便利です。 OS: CentOS 6.3(64-bit)
■VIP恒久設定用デバイスファイル作成
[root@cent63 ~]# cd /etc/sysconfig/network-scripts/ [root@cent63 network-scripts]# cp -p ifcfg-eth0 ifcfg-eth0:1 [root@cent63 network-scripts]# vi ifcfg-eth0:1 [root@cent63 network-scripts]# cat ifcfg-eth0:1 DEVICE="eth0:1" BOOTPROTO=none NM_CONTROLLED="yes" ONBOOT=yes TYPE="Ethernet" HWADDR=00:0C:29:D1:73:7C IPADDR=192.168.16.136 PREFIX=24 GATEWAY=192.168.16.254 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0:1" [root@cent63 network-scripts]#とりあえず、「DEVICE」と「IPADDR」と「NAME」を設定。その他は変更なし。
※ifcfg-eth0:2も同様に準備。
■設定反映
[root@cent63 network-scripts]# /etc/init.d/network restart
インターフェース eth0 を終了中: [ OK ]
インターフェース eth1 を終了中: [ OK ]
ループバックインターフェースを終了中 [ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中: [ OK ]
インターフェース eth1 を活性化中: [ OK ]
[root@cent63 network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:D1:73:7C
inet addr:192.168.16.36 Bcast:192.168.16.255 Mask:255.255.255.0
inet6 addr: fe80::20c:27ff:fad2:737c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:50 errors:0 dropped:0 overruns:0 frame:0
TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4380 (4.2 KiB) TX bytes:12681 (12.3 KiB)
eth1 Link encap:Ethernet HWaddr 00:0C:29:D1:73:86
inet addr:192.168.7.54 Bcast:192.168.7.255 Mask:255.255.255.0
inet6 addr: fe80::20c:27ff:fad2:7386/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:180 (180.0 b) TX bytes:4011 (3.9 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:240 (240.0 b) TX bytes:240 (240.0 b)
[root@cent63 network-scripts]#
反映されない…。(T-T)調べてみると、CentOS5系までは上記の設定だけでOKだったが、6系からはudevを使用する方式に変更となったらしい。
■udev設定
udev(userspace device management)とは、カーネルがパソコンへの接続を検出したデバイスに対して、 動的に「デバイス・ファイル」を作成して割り当てるための仕組みだそうです。
[root@cent63 ~]# cd /etc/udev/rules.d/
[root@cent63 rules.d]# cp -p 70-persistent-net.rules 70-persistent-net.rules.org
[root@cent63 rules.d]# vi 70-persistent-net.rules
[root@cent63 rules.d]# cat 70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x15ad:0x07b0 (vmxnet3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:d1:73:7c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:d1:73:7c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0:1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:d1:73:7c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0:2"
# PCI device 0x15ad:0x07b0 (vmxnet3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:d1:73:86", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
[root@cent63 rules.d]#
NAME="eth0"の行をマネして、NAME="eth0:1"とNAME="eth0:2"の行を追加。設定を反映するにはOSの再起動が必要ですが、デバイスファイルを準備してからにしてください。
■NetworkManagerの停止
NetworkManager (ネットワークマネージャ) は、ネットワークデバイスと接続が利用可能な時に それらをアクティブに維持するよう試行する動的ネットワーク制御及び設定システムです。
⇒ので、サーバOSではほぼ不要です。っというか邪魔。
[root@cent63 ~]# /etc/init.d/NetworkManager stop NetworkManager デーモンを停止中: [ OK ] [root@cent63 ~]# chkconfig NetworkManager off; chkconfig --list NetworkManager NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@cent63 ~]#
■VIP恒久設定用デバイスファイル再作成
[root@cent63 ~]# cd /etc/sysconfig/network-scripts/ [root@cent63 network-scripts]# cp -p ifcfg-eth0 ifcfg-eth0:1 [root@cent63 network-scripts]# vi ifcfg-eth0:1 [root@cent63 network-scripts]# cat ifcfg-eth0:1 DEVICE="eth0:1" BOOTPROTO=static NM_CONTROLLED="no" ONBOOT=yes TYPE="Ethernet" # UUID="43f82f1f-073f-4494-8500-8f211ec8ede2" # HWADDR=00:0C:29:D1:73:7C IPADDR=192.168.16.136 PREFIX=24 # GATEWAY=192.168.16.254 # DNS1=192.168.16.10 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no # NAME="System eth0" [root@cent63 network-scripts]#70-persistent-net.rulesに記載したデバイスファイルは必ず準備してください。 でないと再起動後にネットワークに接続できなくなります。
NetworkManager関連等、不要な設定はコメントアウトとしました。
※ifcfg-eth0:2も同様に準備。
■ifcfg-ethxxの説明
## BOOTPROTO BOOTPROTO には static というオプションはなく、dhcp、bootp、それ以外 となります。 明示的にアドレスを指定する場合は static、アドレスを与えないインターフェスの場合 none としておくのが慣例です。 ## NM_CONTROLLED yesにするとNetwork Managerの管理下に置かれる。今回は停止しているのでこの行をコメントアウトしてもよいが、明示的に"no"としています。 ## ONBOOT 起動時にNICを有効化します。 ## UUID NetworkManagerでの識別子に使われるので、設定不要です。 ## HWADDR MACとインターフェースの関連付け。書いておいても問題ないが、udevとの二重管理になるのでコメントアウトしています。 ## IPADDR IPアドレスを指定しています。 ## PREFIX NETMASKと記載してもよいですが、RHEL6(CentOS6系)からはPREFIXが推奨されています。 ## GATEWAY NICごとに個別にゲートウェイを指定する場合はここに記載します。 今回はGateWayが1つなので、/etc/sysconfig/network の設定に従うということでコメントアウト。 ## DNS1 NICごとに個別にDNSを指定する場合はここに記載します。 今回はDNSを個別設定しないので、/etc/resolv.conf の設定に従うということでコメントアウト。 ## DEFROUTE このオプションは複数NICを備えるサーバで、デフォルトの通信に利用されるインターフェースを指定します。 yesとしたインターフェースがデフォルト通信用になります。1NICの場合は指定してもしなくてもOK。 ## IPV4_FAILURE_FATAL IPv4の設定に失敗した場合、IPv6の設定を行う。 noで有効(IPv6を設定する)、yesで無効(IPv6を設定しない) ## IPV6INIT IPv6を利用するか。今回は使用しません。 ## NAME NetworkManagerでの識別子に使われるので、設定不要です。
■設定反映と確認
[root@cent63 network-scripts]# /etc/init.d/network restart
インターフェース eth0 を終了中: [ OK ]
ループバックインターフェースを終了中 [ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中: [ OK ]
インターフェース eth1 を活性化中: [ OK ]
[root@cent63 network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:D1:73:7C
inet addr:192.168.16.36 Bcast:192.168.16.255 Mask:255.255.255.0
inet6 addr: fe80::20c:27ff:fad2:737c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1434 (1.4 KiB) TX bytes:7410 (7.2 KiB)
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:D1:73:7C
inet addr:192.168.16.136 Bcast:192.168.16.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
eth0:2 Link encap:Ethernet HWaddr 00:0C:29:D1:73:7C
inet addr:192.168.16.236 Bcast:192.168.16.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
eth1 Link encap:Ethernet HWaddr 00:0C:29:D1:73:86
inet addr:192.168.7.54 Bcast:192.168.7.255 Mask:255.255.255.0
inet6 addr: fe80::20c:27ff:fad2:7386/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:120 (120.0 b) TX bytes:3894 (3.8 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:240 (240.0 b) TX bytes:240 (240.0 b)
[root@cent63 network-scripts]#
udevを設定することにより、OSを再起動しても設定は保持されるようになります。こちらの情報が何かのお役に立てましたら幸いです。サイト継続のご協力ありがとうございます。m(_ _)m
0 件のコメント:
コメントを投稿