在这篇简短的文章中,我将向您展示如何在任何基于RedHat的系统(Rhel,Centos,Fedora等)上快速添加一系列IP。当您必须向系统中添加许多IP时,这将非常方便并节省大量时间。通常,当您在基于RedHat的系统中向网络接口添加新IP时,会在/ etc / sysconfig / network-scripts /中创建文件ifcfg-eth0:x。例如:
/etc/sysconfig/network-scripts/ifcfg-eth0:0 DEVICE=eth0:0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.0.100 NETMASK=255.255.255.0 NETWORK=192.168.0.0 BROADCAST=192.168.0.255 TYPE=Ethernet
与以上示例类似,您可以创建多个别名。但是,如果您必须添加很多这样的IP地址呢?假设我想以这种方式添加100个IP……这是可能的,但效果不是很好,对吧?基于RedHat的系统提供了一种快速绑定IP范围的方法,使我们无需创建大量文件,从而节省了时间。如果文件/ etc / sysconfig / network-scripts / ifcfg-eth0-range0不存在,则创建它;如果已有,只需添加以下内容:
/etc/sysconfig/network-scripts/ifcfg-eth0-range0 IPADDR_START=192.168.0.100 IPADDR_END=192.168.0.200 CLONENUM_START=0
其中:IPADDR_START是该范围中的第一个IP,IPADDR_END是该范围中的最后一个IP。CLONENUM_START是将分配给第一个IP别名接口的号码(在此示例中为eth0:0)。
如果您需要添加更多IP地址范围,则只需使用其他文件即可。ifcfg-eth0-range1,用于每个范围。您需要小心并使用正确的CLONENUM_START来覆盖其他别名。配置IP范围后,只需重启网络服务即可将其激活:
service network restart
centos 7和centos 6添加IP的方式有所差异
确定网络设备名称:
ip link | awk 'NR%2==1'| awk '{print $2,$8,$9}'| tr -d ':'
返回enp1s0f0为主要网络接口。
vi /etc/sysconfig/network-scripts/enp1s0f0
在末尾处加上一句:(重点)
NM_CONTROLLED=NO
保存。(Redhat/CentOS 7.x需要更改此配置以启用范围文件。它简单地允许我们通过使接口不再由系统控制来利用范围文件。)
然后新建enp1s0f0-range0
vi /etc/sysconfig/network-scripts/ifcfg-enp1s0f0-range0
写入
IPADDR_START=113.245.192.130 #起始IP IPADDR_END=113.245.192.254 #结束IP PREFIX=25 #IP块/范围的CIDR前缀 CLONENUM_START=0 #起始编号
重启网络
systemctl restart network
CIDR前缀表:
CIDR前缀 | 例 | IP数量 |
---|---|---|
/ 32 | 192.168.1.90/32 | 1 |
/ 31 | 192.168.1.90/31 | 2 |
/ 30 | 192.168.1.92/30 | 4 |
/ 29 | 192.168.1.200/29 | 8 |
/ 28 | 192.168.1.16/28 | 16 |
/ 27 | 192.168.1.64/27 | 32 |
/ 26 | 192.168.1.192/26 | 64 |
/ 25 | 192.168.1.128/25 | 128 |
/ 24 | 192.168.1.0/24 | 256 |
可以创建的范围文件数量没有限制,因此如果您希望配置多个范围,只需创建另一个范围文件(例如:ifcfg-enp1s0f0-range0,ifcfg-enp1s0f0-range1等,参考这里)。
查看网络接口:
ifconfig
重点是在enp1s0f0文件末尾添加: NM_CONTROLLED=NO
然后创建enp1s0f0-range文件添加其他IP