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 件のコメント:
コメントを投稿