Centos7 一张网卡上添加多个IP

centos 7 出来了这么长的时间了,应该很稳定了,是时候把服务器们的系统升级到centos7了. 我现在都有点不太乐意用centos6了

但是在centos7 中,添加多个IP以及IP range的办法与centos 6 有了很大的不同. 我今天搜索了半天,才找到一个行之有效的解决办法.

首先,在centos 7中,添加IP段,已经不能用ifcfg-eth-range0之类的方式了,你会发现这样使用根本添加不上IP.  

Centos7已经把networking的设置完全交给了NetworkManager,也就是nmcli和nmtui的方式。顾名思义,nmcli是 command line,nmcli 是 GUI。但是作为从centos5就开始用ifcfg的人来说,更喜欢ifcfg的方式.

幸好centos7 仍然保留了ifcfg (interface configure)的方式,但是所有的IP都要写入ifcfg-ethx当中.

假如centos7主IP为69.76.12.2/29,位于eth0. 我们需要添加69.76.12.3/29,69.76.12.4/29, 69.76.12.5/29到 eth0上.

正确的ifcfg-eth0的配置应该为:

IPADDR=69.76.12.2

PREFIX=29

IPADDR1=69.76.12.3

PREFIX1=29

IPADDR2=69.76.12.4

PREFIX2=29

IPADDR3=69.76.12.5

PREFIX3=29

GATEWAY=69.76.12.1

注意这里面的gateway后面应该跟的数字,应该和主ip是数字是一样。因为在范例中主ip没有跟数字,所以这里也不需要添加数字.

网上的很多教程,都是写成如下的格式:

IPADDR0=69.76.12.2

PREFIX0=29

IPADDR1=69.76.12.3

PREFIX1=29

IPADDR2=69.76.12.4

PREFIX2=29

IPADDR3=69.76.12.5

PREFIX3=29

GATEWAY0=69.76.12.1

我们注意到,这个范例里面把主IP当成序列0了,因此我们gateway后面也要加上序列0,否则只用gateway=69.76.12.1的话,会因为没有正确的gateway而无法访问internet

当我写完这篇文章的时候,才发现linode有一篇类似的文章,内容很少,但是写出了正确的方法: https://www.linode.com/docs/networking/linux-static-ip-configuration/

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.