RHEL7系统中为同一网卡配置多个IP地址的详细指南

admin
在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 anmcli connection show,获取目标网卡名称(如ens33ens160等),本文以ens33为例。
  • 确保系统有root权限:后续操作需要管理员权限。

方法一:使用nmcli命令行工具(推荐)

NetworkManager是RHEL7默认的网络管理工具,nmcli是其命令行接口,支持动态配置且无需重启网络服务,适合自动化管理。

步骤1:查看当前网络连接配置

nmcli connection show "ens33"  # 假设网卡名称为ens33,注意连接名称可能与网卡名一致

输出示例:

RHEL7系统中为同一网卡配置多个IP地址的详细指南

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/24168.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:编辑配置文件

使用vinano打开ifcfg-ens33,修改以下参数:

  • BOOTPROTO设置为static(静态IP)。
  • 通过IPADDR0IPADDR1IPADDR2等定义多个IP(012表示序号)。
  • PREFIX或`NETMASK
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码