1 つの単一ネットワーク インターフェイスに複数の IP アドレスを作成する
単一のネットワーク インターフェイス上で複数の IP アドレスを作成または構成する概念はIP エイリアスと呼ばれます。 IP エイリアシングは、単一のサブネット ネットワーク上で異なるIP アドレスを持つ単一のネットワーク インターフェイスを使用してApache上に複数の仮想サイトを設定する場合に非常に便利です。
このIP エイリアシングを使用する主な利点は、各IPに物理アダプタを接続する必要がなく、代わりに複数の仮想インターフェイスを作成できることです(単一の物理カードにエイリアス) を付けます。
ここで説明する手順は、Red Hat、Fedora、CentOSなどのすべての主要な Linux ディストリビューションに適用されます。複数のインターフェイスを作成し、それに IP アドレスを手動で割り当てるのは、大変な作業です。ここでは、一連の IP 範囲を定義して IP アドレスを割り当てる方法を見ていきます。また、仮想インターフェイスを作成し、さまざまな範囲の IP アドレスを一度にインターフェイスに割り当てる方法についても理解してください。この記事ではLAN IP の を使用したため、実際に使用するものに置き換えてください。
仮想インターフェイスの作成と複数の IP アドレスの割り当て
ここには、イーサネットデバイスのデフォルトのインターフェースである「ifcfg-eth0」というインターフェースがあります。 2 番目のイーサネットデバイスを接続した場合は、接続したデバイスごとに「ifcfg-eth1」デバイスなどが存在します。これらのデバイス ネットワーク ファイルは、「/etc/sysconfig/network-scripts/」ディレクトリにあります。ディレクトリに移動し、「ls -l」を実行してすべてのデバイスを一覧表示します。
cd /etc/sysconfig/network-scripts/
ls -l
サンプル出力
ifcfg-eth0 ifdown-isdn ifup-aliases ifup-plusb init.ipv6-global
ifcfg-lo ifdown-post ifup-bnep ifup-post net.hotplug
ifdown ifdown-ppp ifup-eth ifup-ppp network-functions
ifdown-bnep ifdown-routes ifup-ippp ifup-routes network-functions-ipv6
ifdown-eth ifdown-sit ifup-ipv6 ifup-sit
ifdown-ippp ifdown-tunnel ifup-isdn ifup-tunnel
ifdown-ipv6 ifup ifup-plip ifup-wireless
3 つの追加の仮想インターフェイスを作成して、3 つの IP アドレス (172.16.16.126、172.16.16.127、および 172.16.16.128) をバインドするとします。 ) をNICに送信します。したがって、「ifcfg-eth0」 は同じプライマリ IP アドレスを維持しながら、3 つの追加のエイリアス ファイルを作成する必要があります。このようにして、次のIP アドレスをバインドする 3 つのエイリアスの設定に進みます。
Adapter IP Address Type
-------------------------------------------------
eth0 172.16.16.125 Primary
eth0:0 172.16.16.126 Alias 1
eth0:1 172.16.16.127 Alias 2
eth0:2 172.16.16.128 Alias 3
ここで、「:X」は、インターフェイス eth0 のエイリアスを作成するデバイス (インターフェイス) 番号です。エイリアスごとに、番号を順番に割り当てる必要があります。たとえば、インターフェイス「ifcfg-eth0」の既存のパラメータを ifcfg-eth0:0、ifcfg-eth0:1 という仮想インターフェイスにコピーします。とifcfg-eth0:2。ネットワーク ディレクトリに移動し、以下に示すようにファイルを作成します。
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:0
cp ifcfg-eth0 ifcfg-eth0:1
cp ifcfg-eth0 ifcfg-eth0:2
ファイル「ifcfg-eth0」を開いて内容を確認します。
[root@tecmint network-scripts]# vi ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.125
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
ここで必要なパラメータは 2 つだけです (DEVICE と IPADDR)。したがって、VI エディタで各ファイルを開き、DEVICE 名を対応するエイリアスに変更し、IPADDR アドレスを変更します。たとえば、ファイル「ifcfg-eth0:0」、「ifcfg-eth0:1」、および「ifcfg-eth0:2」を開きます。 VI エディタを開き、両方のパラメータを変更します。最終的には以下のようになります。
ifcfg-eth0:0
DEVICE="eth0:0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.126
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
ifcfg-eth0:1
DEVICE="eth0:1"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.127
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
ifcfg-eth0:2
DEVICE="eth0:2"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.128
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
すべての変更を行ったら、すべての変更を保存し、変更を反映するためにネットワーク サービスを再起動します。
[root@tecmint network-scripts]# /etc/init.d/network restart
すべてのエイリアス (仮想インターフェイス) が稼働していることを確認するには、「ifconfig」または「ip」コマンドを使用できます。
[root@tecmint network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.125 Bcast:172.16.16.100 Mask:255.255.255.224
inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:237 errors:0 dropped:0 overruns:0 frame:0
TX packets:198 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25429 (24.8 KiB) TX bytes:26910 (26.2 KiB)
Interrupt:18 Base address:0x2000
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.126 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.127 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:2 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.128 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
異なるマシンからそれぞれに ping を送信します。すべてが正しく設定されていれば、それぞれから ping 応答が得られます。
ping 172.16.16.126
ping 172.16.16.127
ping 172.16.16.128
サンプル出力
[root@tecmint ~]# ping 172.16.16.126
PING 172.16.16.126 (172.16.16.126) 56(84) bytes of data.
64 bytes from 172.16.16.126: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.126: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.126: icmp_seq=3 ttl=64 time=0.159 ms
--- 172.16.16.126 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms
[root@tecmint ~]# ping 172.16.16.127
PING 172.16.16.127 (172.16.16.127) 56(84) bytes of data.
64 bytes from 172.16.16.127: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.127: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.127: icmp_seq=3 ttl=64 time=0.159 ms
--- 172.16.16.127 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms
[root@tecmint ~]# ping 172.16.16.128
PING 172.16.16.128 (172.16.16.128) 56(84) bytes of data.
64 bytes from 172.16.16.128: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.128: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.128: icmp_seq=3 ttl=64 time=0.159 ms
--- 172.16.16.128 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms
すべてがスムーズに機能しているようです。これらの新しい IP を使用すると、Apache や FTP アカウントなどで仮想サイトをセットアップできます。
複数の IP アドレス範囲の割り当て
「ifcfg-eth0」 という特定のインターフェイスに対して複数の IP アドレスの範囲を作成したい場合は、「 ifcfg-eth0-range0」を選択し、以下に示すようにifcfg-eth0 の内容をコピーします。
[root@tecmint network-scripts]# cd /etc/sysconfig/network-scripts/
[root@tecmint network-scripts]# cp -p ifcfg-eth0 ifcfg-eth0-range0
次に、「ifcfg-eth0-range0」ファイルを開き、以下に示すように「IPADDR_START」と「IPADDR_END」の IP アドレス範囲を追加します。
[root@tecmint network-scripts]# vi ifcfg-eth0-range0
#DEVICE="eth0"
#BOOTPROTO=none
#NM_CONTROLLED="yes"
#ONBOOT=yes
TYPE="Ethernet"
IPADDR_START=172.16.16.126
IPADDR_END=172.16.16.130
IPV6INIT=no
#GATEWAY=172.16.16.100
保存してネットワークサービスを再起動/開始します
[root@tecmint network-scripts]# /etc/init.d/network restart
仮想インターフェイスがIP アドレスを使用して作成されていることを確認します。
[root@tecmint network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.125 Bcast:172.16.16.100 Mask:255.255.255.224
inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1385 errors:0 dropped:0 overruns:0 frame:0
TX packets:1249 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:127317 (124.3 KiB) TX bytes:200787 (196.0 KiB)
Interrupt:18 Base address:0x2000
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.126 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.127 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:2 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.128 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:3 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.129 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
eth0:4 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:172.16.16.130 Bcast:172.16.16.100 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
設定に問題がある場合は、コメント欄に質問を投稿してください。