一、少量 IP 手动绑定
1、复制网卡配置文件:以eth0
为例,进入/etc/sysconfig/networkscripts
目录,执行cp ifcfgeth0 ifcfgeth0:0
,将原始的网卡配置文件复制一份并重命名为ifcfgeth0:0
,如果需要为其他网卡配置多个 IP,相应修改文件名即可。
2、编辑新配置文件:使用文本编辑器如vim
打开ifcfgeth0:0
文件,进行如下配置 :

DEVICE:设置为eth0:0
,与文件名保持一致。
BOOTPROTO:通常设为static
,表示使用静态 IP 地址;也可设为none
。
HWADDR:填写该网卡的 MAC 地址。
ONBOOT:设置为yes
,表示系统启动时启用该网卡。
IPADDR:指定要绑定的新 IP 地址。
NETMASK:设置对应的子网掩码。

GATEWAY:若有网关,需填写网关地址。
3、启动网卡:配置完成后,执行ifup eth0:0
命令启用新配置的网卡,若想测试网络连通性,可以使用ping
命令。
二、自动绑定一个 IP 段或多个 IP 段
1、新建配置文件:同样在/etc/sysconfig/networkscripts
目录下,新建一个如ifcfgeth0range0
的文件。
2、写入配置内容:文件中的内容示例如下 :
DEVICE:设置为eth0
,表明是绑定到eth0
网卡。

ONBOOT:设置为yes
,开机时启用该网卡。
BOOTPROTO:一般设为static
。
IPADDR_START:网段的起始 IP 地址。
IPADDR_END:网段的截止 IP 地址。
NETMASK:子网掩码。
CLONENUM_START:网卡别名的起始位置,如这里的0
表示从eth0:0
开始,且会将IPADDR_START
设置的 IP 绑定到eth0:0
上。
NO_ALIASROUTING:设置为yes
,使数据包始终通过主网卡进出,不走网卡别名,可加快路由响应速度。
3、重启网络服务:保存文件后,执行service network restart
命令重启网络服务,使配置生效。
三、CentOS 7 及以上版本配置多 IP
1、查看当前配置:使用ip addr
命令查看当前网络接口的 IP 地址等配置信息。
2、修改网卡配置文件:找到要配置的网卡对应的配置文件,一般在/etc/sysconfig/networkscripts/
目录下,如ifcfgens33
等,打开文件后,在原有配置基础上添加新的 IP 地址配置,如IPADDR1=192.168.1.102
等。
3、重启网络服务:修改完成后,执行systemctl restart network
命令重启网络服务,使新的 IP 地址生效。
四、使用 nmcli 命令添加附加 IP(适用于 CentOS 7 及以上)
1、查看网络连接状态:使用nmcli device status
命令查看当前网络连接的状态和设备名称。
2、添加附加 IP:假设要为ens33
接口添加附加 IP,执行命令nmcli con mod ens33 +ipv4.addresses 192.168.1.103/24
,其中192.168.1.103/24
是要添加的 IP 地址及子网掩码。
3、应用配置:执行nmcli con up ens33
命令使配置立即生效。
五、注意事项
1、在配置多个 IP 之前,需确保所分配的 IP 地址在网络中是唯一的,避免 IP 地址冲突导致网络故障。
2、若网络中有 DHCP 服务器,要注意其分配 IP 地址的范围,防止与手动配置的 IP 地址产生冲突。
3、对于一些对网络配置要求较高的应用程序或服务,可能需要在相应的配置文件中指定使用的 IP 地址,以确保其正常运行。
以下是两个关于在 CentOS 系统中配置多个 IP 地址的常见问题及解答:
1、问:为什么我按照上述方法配置了多个 IP,但只有一个 IP 能正常使用?
答:可能有以下原因:一是配置有误,如 IP 地址、子网掩码、网关等信息填写错误,需仔细检查配置文件中的相关参数;二是网络设备或路由器的设置限制了多 IP 的使用,可检查网络设备的配置,确保其支持并允许多个 IP 地址在同一网卡上使用;三是可能存在 IP 地址冲突,虽然在配置时避免了冲突,但网络中其他设备的动态获取 IP 可能导致冲突,可使用工具如arp a
查看网络中的 IP 使用情况,排查是否有冲突的 IP。
2、问:如何在不重启网络服务的情况下,临时添加或删除一个 IP 地址?
答:可以使用ip
命令来实现,临时添加 IP 地址可执行sudo ip addr add <IP 地址>/<子网掩码> dev <网络接口>
,例如sudo ip addr add 192.168.1.105/24 dev eth0
;临时删除 IP 地址则执行sudo ip addr del <IP 地址>/<子网掩码> dev <网络接口>
,如sudo ip addr del 192.168.1.105/24 dev eth0
,不过这种方式添加的 IP 地址在系统重启后会失效,若需长期使用,还需按上述方法修改配置文件并重启网络服务。