天天看点

在CentOS 7上给一个网卡分配多个IP地址在CentOS 7上给一个网卡分配多个IP地址

有时你也许想要给一个网卡多个地址。你该怎么做呢?另外买一个网卡来分配地址?在小型网络中其实不用这么做。我们现在可以在centos/rhel 7中给一个网卡分配多个ip地址。想知道怎么做么?好的,跟随我,这并不难。

在CentOS 7上给一个网卡分配多个IP地址在CentOS 7上给一个网卡分配多个IP地址

首先,让我们找到网卡的ip地址。在我的centos 7服务器中,我只使用了一个网卡。

用root特权运行下面的命令:

<code>ip addr</code>

示例输出:

<code>1: lo: &lt;loopback,up,lower_up&gt; mtu 65536 qdisc noqueue state unknown</code>

<code>link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00</code>

<code>inet 127.0.0.1/8 scope host lo</code>

<code>valid_lft forever preferred_lft forever</code>

<code>inet6 ::1/128 scope host</code>

<code>2: enp0s3: &lt;broadcast,multicast,up,lower_up&gt; mtu 1500 qdisc pfifo_fast state up qlen 1000</code>

<code>link/ether 08:00:27:80:63:19 brd ff:ff:ff:ff:ff:ff</code>

<code>inet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3</code>

如上所见,我的网卡名是enp0s3,ip地址是192.168.1.150。

如你所知,网卡的配置文件存储在 /etc/sysconfig/network-scripts/ 目录下。每个网卡的详细内容将会以不同的名字存储,比如ifcfg-enp0s3。

让我们看下ifcfg-enp0s3的细节。

<code>cat /etc/sysconfig/network-scripts/ifcfg-enp0s3</code>

<code>type="ethernet"</code>

<code>bootproto="none"</code>

<code>defroute="yes"</code>

<code>ipv4_failure_fatal="no"</code>

<code>ipv6init="yes"</code>

<code>ipv6_autoconf="yes"</code>

<code>ipv6_defroute="yes"</code>

<code>ipv6_failure_fatal="no"</code>

<code>name="enp0s3"</code>

<code>uuid="e9f9caef-cb9e-4a19-aace-767c6ee6f849"</code>

<code>onboot="yes"</code>

<code>hwaddr="08:00:27:80:63:19"</code>

<code>ipaddr0="192.168.1.150"</code>

<code>prefix0="24"</code>

<code>gateway0="192.168.1.1"</code>

<code>dns1="192.168.1.1"</code>

<code>ipv6_peerdns="yes"</code>

<code>ipv6_peerroutes="yes"</code>

好的,现在我们将在相同的子网中分配多个地址了。

编辑文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3:

<code>vi /etc/sysconfig/network-scripts/ifcfg-enp0s3</code>

像下面那样加入额外的ip地址。

<code>uuid="933cdc9b-b383-4ddd-b219-5a72c69c9cf0"</code>

<code>hwaddr="08:00:27:3f:ab:68"</code>

<code>ipaddr1="192.168.1.151"</code>

<code>ipaddr2="192.168.1.152"</code>

如你所见,我已经加了两个ip地址:ipaddr1=”192.168.1.151″ &amp; ipaddr2=”192.168.1.152″

类似地,你可以加入更多的ip地址。

最后,保存并退出文件。重启网络服务来使更改生效。

<code>systemctl restart network</code>

现在,让我们检查是否已经加入了ip地址。

<code>: lo: &lt;loopback,up,lower_up&gt; mtu 65536 qdisc noqueue state unknown</code>

<code>link/ether 08:00:27:3f:ab:68 brd ff:ff:ff:ff:ff:ff</code>

<code>inet 192.168.1.151/24 brd 192.168.1.255 scope global secondary enp0s3</code>

<code>inet 192.168.1.152/24 brd 192.168.1.255 scope global secondary enp0s3</code>

<code>inet6 fe80::a00:27ff:fe3f:ab68/64 scope link</code>

如你所见,单个网卡已经有3个ip地址了。

让我们ping一下新增的ip地址:

<code>ping -c 4 192.168.1.151</code>

<code>ping 192.168.1.151 (192.168.1.151) 56(84) bytes of data.</code>

<code>64 bytes from 192.168.1.151: icmp_seq=1 ttl=64 time=0.048 ms</code>

<code>64 bytes from 192.168.1.151: icmp_seq=2 ttl=64 time=0.075 ms</code>

<code>64 bytes from 192.168.1.151: icmp_seq=3 ttl=64 time=0.077 ms</code>

<code>64 bytes from 192.168.1.151: icmp_seq=4 ttl=64 time=0.077 ms</code>

<code></code>

<code>--- 192.168.1.151 ping statistics ---</code>

<code>4 packets transmitted, 4 received, 0% packet loss, time 2999ms</code>

<code>rtt min/avg/max/mdev = 0.048/0.069/0.077/0.013 ms</code>

<code>ping -c 4 192.168.1.152</code>

<code>ping 192.168.1.152 (192.168.1.152) 56(84) bytes of data.</code>

<code>64 bytes from 192.168.1.152: icmp_seq=1 ttl=64 time=0.034 ms</code>

<code>64 bytes from 192.168.1.152: icmp_seq=2 ttl=64 time=0.075 ms</code>

<code>64 bytes from 192.168.1.152: icmp_seq=3 ttl=64 time=0.073 ms</code>

<code>64 bytes from 192.168.1.152: icmp_seq=4 ttl=64 time=0.075 ms</code>

<code>--- 192.168.1.152 ping statistics ---</code>

<code>rtt min/avg/max/mdev = 0.034/0.064/0.075/0.018 ms</code>

如果你想要使用不同的子网,你要改变prefix0=24成不同的子网,比如 prefix1=16。

比如,我想要添加一个a类地址(*比如10.0.0.1)到我的网卡中。

<code>ipaddr3="10.0.0.1"</code>

<code>prefix1=16</code>

你可以看到我已经添加一个a类地址(10.0.0.1)并且前缀是16。

保存并退出文件。重启网络服务,接着,ping新增的地址:

<code>ping -c 4 10.0.0.1</code>

<code>ping 10.0.0.1 (10.0.0.1) 56(84) bytes of data.</code>

<code>64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.097 ms</code>

<code>64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.073 ms</code>

<code>64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.074 ms</code>

<code>64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=0.075 ms</code>

<code>--- 10.0.0.1 ping statistics ---</code>

<code>4 packets transmitted, 4 received, 0% packet loss, time 3000ms</code>

<code>rtt min/avg/max/mdev = 0.073/0.079/0.097/0.014 ms</code>

相似地,你可以添加不同的网关。

就是这样。

原文发布时间:2015-03-26

本文来自云栖合作伙伴“linux中国”

继续阅读