Linux一块网卡可设多个IP地址吗?详解配置方法与应用场景

admin
Linux一块网卡完全可以设置多个IP地址,配置方法多样,包括修改配置文件、使用nmcli或ip命令,应用场景丰富,如虚拟主机部署、负载均衡、网络测试及服务隔离,这种方法能有效利用硬件资源,满足多样化的网络需求。

在Linux系统的网络配置中,一个非常常见且实用的问题是:一块网卡(物理接口)能否设置多个IP地址?

答案是肯定的,这不仅完全可行,而且是Linux网络管理中非常基础且强大的功能,通过在一块物理网卡上绑定多个逻辑IP地址(通常称为“多IP”或“虚拟IP”),我们可以实现多种网络需求,而无需增加额外的硬件成本。

核心概念:物理接口与虚拟接口

Linux一块网卡可设多个IP地址吗?详解配置方法与应用场景

要理解这一配置,首先需要明白“物理接口”和“虚拟接口”的区别。

  • 物理接口:如 eth0ens33ens160 等,这是网卡硬件在系统中的真实标识。
  • 虚拟接口:在物理接口后面加冒号 ,后面跟数字,eth0:0ens33:1,这实际上是在同一块物理硬件上创建的多个逻辑网络入口。

常见的配置方法

根据Linux发行版的不同,配置多IP地址的方法也有所差异,以下是几种主流的方式。

使用 ip 命令(最通用、推荐)

ip 命令是现代Linux系统中最强大的网络配置工具,几乎所有发行版都支持。

  1. 添加IP地址: 语法:ip addr add [IP地址]/[子网掩码] dev [网卡名称] 示例: 在网卡 eth0 上添加一个IP地址 168.1.100,掩码为 24(即 255.255.0)。

    ip addr add 192.168.1.100/24 dev eth0
  2. 删除IP地址:

    ip addr del 192.168.1.100/24 dev eth0
  3. 查看当前状态: 添加成功后,使用 ip addr showip a 可以看到 eth0 下面出现了 eth0:1 的条目。

使用 ifconfig 命令(传统方式)

ifconfig 是早期的网络配置工具,虽然在新版Linux中已被 ip 命令部分取代,但在很多老旧系统或脚本中依然广泛使用。

  1. 添加IP地址: 语法:ifconfig [网卡名称]:[编号] [IP地址] netmask [子网掩码] up 示例:
    ifconfig eth0:0 192.168.1.100 netmask 255.255.255.0 up

使用 netplan(适用于 Ubuntu 18.04+ / Debian 10+)

对于Ubuntu Server等使用Netplan的系统,推荐使用YAML配置文件来管理网络,这种方式重启后依然有效。

  1. 编辑配置文件,通常位于 /etc/netplan/ 目录下(01-netcfg.yaml)。
  2. 配置如下:
    network:
      version: 2
      ethernets:
        eth0:
          dhcp4: no
          addresses:
            - 192.168.1.100/24
            - 192.168.1.101/24  # 添加第二个IP
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]
  3. 应用配置:sudo netplan apply

使用 nmcli(NetworkManager工具)

如果你使用的是带有图形界面的Linux系统(如GNOME桌面版),或者依赖NetworkManager管理网络,可以使用 nmcli

  • 添加IP:
    sudo nm
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

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