IP エイリアスのモジュールをロードします (カーネルにモジュールを組み込んで いる場合、この手順は不要です)。
/sbin/insmod /lib/modules/`uname -r`/ipv4/ip_alias.o |
ループバックデバイスと eth0 を設定し、eth0 インターフェイスに対してメイン IP アドレスから順番にすべての IP アドレスを設定します。
/sbin/ifconfig lo 127.0.0.1 /sbin/ifconfig eth0 up /sbin/ifconfig eth0 172.16.3.1 /sbin/ifconfig eth0:0 172.16.3.10 /sbin/ifconfig eth0:1 172.16.3.100 |
172.16.3.1 というのが、メインとなる IP アドレスであり、.10 と .100 とが エイリアスです。重要なのは、eth0:x (x=0,1,2,...n) という部分にそれぞれ 違う IP アドレスを設定しているということです。メイン IP アドレスは、エイリアス にする必要はありません。
ルートの設定をします。まず最初に、loopback です。次に、ret、そして最後に、 それぞれの IP アドレスをデフォルト (もともと割り当てられていた IP のこと) から順に設定します。
/sbin/route add -net 127.0.0.0 /sbin/route add -net 172.16.3.0 dev eth0 /sbin/route add -host 172.16.3.1 dev eth0 /sbin/route add -host 172.16.3.10 dev eth0:0 /sbin/route add -host 172.16.3.100 dev eth0:1 /sbin/route add default gw 172.16.3.200 |
これで、終了です。
上記例題の IP アドレスには、説明の便宜上、プライベート IP アドレス (RFC 1918) を使っています。実際には、読者自身の正式な IP アドレスか、もしくは自分用の IP アドレスに置き換えてください。
例題では、3 つの IP アドレスしか設定していませんが、最大で 256 の IP アドレス まで設定できます。この最大値は、/usr/include/linux/net_alias.h で設定できます。 とはいえ、256 の IP アドレスを一枚のネットワークカードに設定する人はいないで しょうけど :-)!
以下に、著者の /sbin/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:5088 errors:0 dropped:0 overruns:0 TX packets:5088 errors:0 dropped:0 overruns:0 eth0 Link encap:10Mbps Ethernet HWaddr 00:8E:B8:83:19:20 inet addr:172.16.3.1 Bcast:172.16.3.255 Mask:255.255.255.0 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:334036 errors:0 dropped:0 overruns:0 TX packets:11605 errors:0 dropped:0 overruns:0 Interrupt:7 Base address:0x378 eth0:0 Link encap:10Mbps Ethernet HWaddr 00:8E:B8:83:19:20 inet addr:172.16.3.10 Bcast:172.16.3.255 Mask:255.255.255.0 UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0 eth0:1 Link encap:10Mbps Ethernet HWaddr 00:8E:B8:83:19:20 inet addr:172.16.3.100 Bcast:172.16.3.255 Mask:255.255.255.0 UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0 |
また、/proc/net/aliases は、次のようなものです。
device family address eth0:0 2 172.16.3.10 eth0:1 2 172.16.3.100 |
そして、/proc/net/alias_tupes が、以下です。
type name n_attach 2 ip 2 |
もちろん、/proc/net 以下の出力は、手動で編集したのでは なく、ifconfig コマンドによって生成されたものです。