在这篇简短的文章中,我将向您展示如何在任何基于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