つまり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 |