IPエイリアスでサーバに複数のIPを割り当てる

1台のサーバで複数ドメインの SSL 対応をやることになって、サーバ(というかNIC)に複数のIPアドレスを割り当てることになった。名前ベースの VirtualHost だと SSL 対応できないからね。VirtualHost で複数 SSL 運用するのであれば、IPベースしかないわけです。

こういう場合は、IPエイリアスを使うのが定石。

# ifconfig eth1:0 xxx.xxx.xxx.11 netmask 255.255.255.240
# ifconfig eth1:1 xxx.xxx.xxx.12 netmask 255.255.255.240

こんな感じで、NIC(ここではeth1)に複数IPアドレスを割り当てていけば OK なんだけど、このままだと、再起動時に設定が無効になっちゃう。仕方なく network の起動スクリプトに、同じコマンドを記述して起動していたんだけど、Redhat なら静的ファイルで管理できるみたい。

# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
BROADCAST=xxx.xxx.xxx.15
HWADDR=xx:xx:xx:xx:xx:xx
IPADDR=xxx.xxx.xxx.10
NETMASK=255.255.255.240
NETWORK=xxx.xxx.xxx.1
ONBOOT=yes
TYPE=Ethernet

という NIC に対して、次のようにエイリアスファイルを作っていけば OK みたい。

# vi /etc/sysconfig/network-scripts/ifcfg-eth1:0
DEVICE=eth1:0
BOOTPROTO=static
BROADCAST=xxx.xxx.xxx.15
HWADDR=xx:xx:xx:xx:xx:xx
IPADDR=xxx.xxx.xxx.11
NETMASK=255.255.255.240
NETWORK=xxx.xxx.xxx.1
ONBOOT=yes
TYPE=Ethernet

# vi /etc/sysconfig/network-scripts/ifcfg-eth1:1 DEVICE=eth1:1 BOOTPROTO=static BROADCAST=xxx.xxx.xxx.15 HWADDR=xx:xx:xx:xx:xx:xx IPADDR=xxx.xxx.xxx.12 NETMASK=255.255.255.240 NETWORK=xxx.xxx.xxx.1 ONBOOT=yes TYPE=Ethernet

これまで1枚の NIC に対して 1つのファイルなんだと思っていたので、エイリアスの場合どうするのかなーなんて思っていたんですが、IPエイリアスごとにファイルを用意して管理できるんですねー。これは良いこと知りました。ありがとうございます。

このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt4/mt-tb.cgi/482