在RHEL7系统中,为同一网卡配置多个IP地址可通过修改网卡配置文件或使用nmcli命令实现,若采用配置文件方式,需编辑如ifcfg-ens33文件,添加IPADDR2、NETMASK2等参数定义额外IP,或创建虚拟接口(如ens33:1)单独配置,使用nmcli时,可通过"nmcli con mod ens33 +ipv4.addresses 192.168.1.2/24"添加地址,再激活连接,配置完成后,需执行"systemctl restart network"或"nmcli con up ens33"使配置生效,此方法适用于需为单网卡绑定多IP的场景,满足虚拟化、服务隔离等需求。
在服务器运维中,同一块网卡配置多个IP地址是一种常见需求,需要同时服务多个网络子网、隔离不同业务流量、或满足特定应用的绑定要求,RHEL7(Red Hat Enterprise Linux 7)默认使用NetworkManager管理网络,本文将详细介绍通过命令行工具(nmcli)和手动配置文件两种方式,为同一网卡添加多个IP地址的操作步骤及验证方法。
背景与准备工作
为什么需要同一网卡多IP?
- 多业务隔离:不同业务使用不同IP,便于网络策略管理和故障排查。
- 节省网卡资源:避免为每个子网配置独立网卡,降低硬件成本。
- 服务灵活性:单个网卡可同时监听多个IP,提供多样化的网络服务。
准备工作
- 确认系统版本:
cat /etc/redhat-release(需为RHEL7或类似CentOS7系统)。 - 查看当前网卡信息:使用
ip a或nmcli connection show,获取目标网卡名称(如ens33、ens160等),本文以ens33为例。 - 确保系统有root权限:后续操作需要管理员权限。
方法一:使用nmcli命令行工具(推荐)
NetworkManager是RHEL7默认的网络管理工具,nmcli是其命令行接口,支持动态配置且无需重启网络服务,适合自动化管理。
步骤1:查看当前网络连接配置
nmcli connection show "ens33" # 假设网卡名称为ens33,注意连接名称可能与网卡名一致
输出示例:

connection.id: ens33
connection.type: 802-3-ethernet
interface-name: ens33
ipv4.method: auto # 当前为自动获取IP
ipv4.addresses: 192.168.1.100/24 # 原有IP
ipv4.gateway: 192.168.1.1
ipv4.dns: 8.8.8.8
若当前为DHCP(auto),需修改为静态IP(manual)才能添加多个固定IP。
步骤2:修改连接类型为静态IP(若为DHCP)
nmcli connection modify "ens33" ipv4.method manual
步骤3:添加多个IP地址
使用nmcli connection modify命令,通过ipv4.addresses参数添加多个IP(格式为IP/掩码,多个IP用逗号分隔),例如添加168.1.101/24和168.1.102/24:
nmcli connection modify "ens33" ipv4.addresses "192.168.1.100/24,192.168.1.101/24,192.168.1.102/24"
- 说明:
168.1.100/24是原有IP,可保留或替换;新增IP需与原IP在同一网段(掩码一致)。
步骤4:配置网关和DNS(可选)
若需修改网关或DNS,使用以下命令:
nmcli connection modify "ens33" ipv4.gateway "192.168.1.1" # 设置网关 nmcli connection modify "ens33" ipv4.dns "8.8.8.8,114.114.114.114" # 设置DNS
步骤5:重启网络连接使配置生效
nmcli connection down "ens33" && nmcli connection up "ens33"
步骤6:验证配置
使用ip a查看网卡IP地址:
ip a show ens33
输出示例:
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:1a:2b:3c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 scope global secondary ens33 # 原IP
inet 192.168.1.101/24 scope global secondary ens33 # 新增IP1
inet 192.168.1.102/24 scope global secondary ens33 # 新增IP2
inet6 fe80::20c:29ff:fe1a:2b3c/64 scope link
valid_lft forever preferred_lft forever
若看到多个inet条目(标记为secondary),说明配置成功。
方法二:手动编辑网络配置文件
若习惯直接修改配置文件(或无nmcli环境),可通过编辑ifcfg-*文件实现多IP配置。
步骤1:定位配置文件
NetworkManager的网卡配置文件位于/etc/sysconfig/network-scripts/,命名规则为ifcfg-网卡名,例如ifcfg-ens33:
ls /etc/sysconfig/network-scripts/ifcfg-ens33
步骤2:备份原配置文件
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
步骤3:编辑配置文件
使用vi或nano打开ifcfg-ens33,修改以下参数:
- 将
BOOTPROTO设置为static(静态IP)。 - 通过
IPADDR0、IPADDR1、IPADDR2等定义多个IP(0、1、2表示序号)。 PREFIX或`NETMASK
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

