一个单一的网络接口上创建或配置多个IP地址的概念被称为IP别名 。 IP别名是使用一个子网的网络上使用不同IP地址的单一网络接口设置在Apache多个虚拟站点非常有用的。
使用此IP别名的主要优点是,你并不需要连接到每个IP物理适配器,而是你可以创建多个或多个虚拟接口( 别名 ),以一个单一的物理卡。
在一个NiC中创建多个IP地址
这里给出的说明适用于所有主要的Linux发行像红帽 ,Fedora的 ,和CentOS。 创建多个接口并手动为其分配IP地址是一项艰巨的任务。 在这里,我们将看到我们如何分配IP地址给它定义一组IP范围。 也了解我们将如何创建一个虚拟接口,并在一个接口分配不同范围的IP地址。 在这篇文章中,我们使用的局域网IP 的 ,所以取代那些与你将要使用的。
创建虚拟接口并分配多个IP地址
在这里,我有一个名为“ 的ifcfg-eth0的 ”一个接口, 以太网设备的默认界面。 如果你已经连接第二个以太网设备,然后会有一个“ 的ifcfg-eth1的 ”设备等为每个设备已附加。 这些设备的网络文件位于“ 在 / etc / sysconfig / network中的脚本/”目录中。 导航到该目录并执行“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
假设我们要建立三个额外的虚拟接口,三个IP地址(172.16.16.126,172.16.16.127和172.16.16.128)绑定到网卡 。 所以,我们需要创建另外三个别名文件,而“ 的ifcfg-eth0的 ”保持相同的主IP地址。 这就是我们如何向前迈进设置三个别名绑定下面的IP地址。
Adapter IP Address Type ------------------------------------------------- eth0 172.16.16.25 Primary eth0:0 172.16.16.26 Alias 1 eth0:1 172.16.16.27 Alias 2 eth0:2 172.16.16.28 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@youcl 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
在这里,我们只需要两个参数( 设备和IPADDR)。 因此,打开用VI编辑每个文件和设备名称重命名其相应的别名,修改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@youcl network-scripts]# /etc/init.d/network restart
为了验证所有别名(虚拟接口)的建立和运行,你可以使用“ 使用ifconfig ”或“ IP ”命令。
[root@youcl 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 172.16.16.126 ping 172.16.16.127 ping 172.16.16.128
示例输出
[root@youcl ~]# 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@youcl ~]# 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@youcl ~]# 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地址范围
如果你想创建一个范围内 多个IP地址的名为“ 的ifcfg-eth0的 ”一个特定的接口,我们使用“ 的ifcfg-eth0的,范围0”和复制,如下图所示的它的ifcfg-eth0的包含。
[root@youcl network-scripts]# cd /etc/sysconfig/network-scripts/ [root@youcl network-scripts]# cp -p ifcfg-eth0 ifcfg-eth0-range0
现在开“ 的ifcfg-eth0的-范围0”的文件,并添加“IPADDR_START”和“IPADDR_END”IP地址范围,如下所示。
[root@youcl 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@youcl network-scripts]# /etc/init.d/network restart
验证虚拟接口的IP地址是创建。
[root@youcl 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
如果您在设置时遇到任何问题,请在评论部分发布您的查询。