つまり1枚のネットワークデバイスに複数のIPアドレスを割り当てる方法です。
この方法を使えば、複数のIPアドレスへのアクセスを1台のマシンで処理することができます。
DNSの設定などを変えることなしに、複数のアドレスへの処理を1台のマシンにさせるなどの設定が可能になります。
これには、LinuxのIP aliasingいう機能を利用することになります。
この機能がカーネルに組み込まれていなければ、組み込む必要があります。
なお、設定などに、LANカードを2枚使う場合と似通った部分がありますので、 「LinuxでLANカードを2枚使う」も参考にして下さい。
今回の場合(Plamo Linux 1.4.4)は、モジュールとして提供されていたので、モジュールを組み込むことにしました。
linux# depmod -a linux# modprobe ip_alias.o linux# lsmod Module: #pages: Used by: ip_alias 1 0 |
depmod -aは、モジュールの依存関係を調べるコマンド。modprobeは、モジュールを指定して組み込むコマンド。lsmodは、現在組み込まれているモジュールを確認するコマンドです。
このままでは、再起動時に設定が消えてしまうので、
/etc/rc.d/rd.modules
に、
/sbin/modprobe ip_alias.o
の行を追加し、起動時にモジュールを組み込む設定にします。
IP alias機能が有効になったら、ネットワークインターフェイスにIPアドレスを割り当てます。
/sbin/ifconfig eth1:0 10.0.1.40 netmask 255.255.255.0 broadcast 10.0.1.255 /sbin/route add -host 10.0.1.40 dev eth1:0 |
ここでは、eth1:0(2枚目のLANカード)に、10.0.1.40というアドレスを割り当てています。
なお、eth1:1、eth1:2、などと指定することで、さらにIPアドレスを割り当てることも可能です。
再起動時にIPアドレスの設定を行うために、
/etc/rc.d/rc.inet1
に、上記のifconfigコマンドとrouteコマンドを追記します。
ifconfigコマンドを使ってネットワークの状態を確認します。
linux# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:16 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 Collisions:0 eth0 Link encap:Ethernet HWaddr 00:40:33:56:7D:D4 inet addr:210.154.87.30 Bcast:210.154.87.31 Mask:255.255.255.240 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5198 errors:0 dropped:0 overruns:0 frame:0 TX packets:2276 errors:0 dropped:0 overruns:0 carrier:0 Collisions:0 Interrupt:12 Base address:0xd400 eth1 Link encap:Ethernet HWaddr 00:40:33:A0:E4:95 inet addr:10.0.1.30 Bcast:10.0.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2364 errors:0 dropped:0 overruns:0 frame:3 TX packets:111 errors:0 dropped:0 overruns:0 carrier:0 Collisions:0 Interrupt:10 Base address:0xd000 eth1:0 Link encap:Ethernet HWaddr 00:40:33:A0:E4:95 inet addr:10.0.1.40 Bcast:10.0.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 Collisions:0 |
別のマシンからpingコマンドなどを使って、割り当てたIPアドレスが有効になっているか確認します。
linux# ping 10.0.1.40 PING 10.0.1.40 (10.0.1.40): 56 data bytes 64 bytes from 10.0.1.40: icmp_seq=0 ttl=64 time=1.3 ms 64 bytes from 10.0.1.40: icmp_seq=1 ttl=64 time=0.5 ms 64 bytes from 10.0.1.40: icmp_seq=2 ttl=64 time=0.5 ms 64 bytes from 10.0.1.40: icmp_seq=3 ttl=64 time=0.5 ms --- 10.0.1.40 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.5/0.7/1.3 ms |