插件窝 干货文章 linux一个网口可以有多个ip地址吗

linux一个网口可以有多个ip地址吗

eth0 重启 90    来源:    2025-04-18

是的,Linux 的一个物理网口(网络接口)可以配置多个 IP 地址,这是完全支持的常见操作。以下是具体实现方法和相关说明:


一、临时添加(重启失效)

通过 ip 命令临时添加(重启后失效):

# 为主网卡(如eth0)添加第二个IP
sudo ip addr add 192.168.1.100/24 dev eth0 label eth0:1

# 验证
ip addr show eth0
  • eth0:1:虚拟子接口标签(可自定义,如 eth0:alias)。
  • 删除临时IP:sudo ip addr del 192.168.1.100/24 dev eth0

二、永久配置(不同发行版)

1. Debian/Ubuntu

编辑 /etc/network/interfaces

auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1

# 添加第二个IP
auto eth0:1
iface eth0:1 inet static
    address 192.168.1.100
    netmask 255.255.255.0

重启网络服务:

sudo systemctl restart networking

2. RHEL/CentOS/Rocky

编辑 /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes

新建子接口配置 /etc/sysconfig/network-scripts/ifcfg-eth0:1

DEVICE=eth0:1
IPADDR=192.168.1.100
NETMASK=255.255.255.0
ONPARENT=yes

重启网络:

sudo systemctl restart network

3. 新版系统(Netplan/NM)

  • Netplan(Ubuntu 18.04+)
    编辑 /etc/netplan/01-netcfg.yaml

    network:
    version: 2
    ethernets:
      eth0:
        addresses:
          - 192.168.1.10/24
          - 192.168.1.100/24  # 直接追加IP
        gateway4: 192.168.1.1
    

    应用配置:sudo netplan apply

  • NetworkManager
    使用 nmcli

    sudo nmcli con modify eth0 +ipv4.addresses "192.168.1.100/24"
    sudo nmcli con up eth0
    

三、注意事项

  1. 子接口标签eth0:1 是传统命名方式,现代系统可直接绑定多个IP到主接口。
  2. 服务兼容性:确保服务(如Web服务器)监听在正确的IP上。
  3. 路由问题:多IP时,默认路由通常依赖主IP的网关配置。
  4. IP冲突:避免同一子网内IP重复。

四、验证命令

ip addr show eth0       # 查看所有IP
ifconfig eth0           # (传统命令,部分系统需安装net-tools)
ping -I 192.168.1.100 google.com  # 指定源IP测试连通性

通过上述方法,可以灵活地为单个网口分配多个IP,满足不同网络需求(如多服务隔离、测试环境等)。