2. 設定コマンド

  1. IP エイリアスのモジュールをロードします (カーネルにモジュールを組み込んで いる場合、この手順は不要です)。

    /sbin/insmod /lib/modules/`uname -r`/ipv4/ip_alias.o
  2. ループバックデバイスと 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 アドレスは、エイリアス にする必要はありません。

  3. ルートの設定をします。まず最初に、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 コマンドによって生成されたものです。