Ubuntu netplan 如何为网卡配置 IP 地址

发布时间: 更新时间: 总字数:945 阅读时间:2m 作者: IP:上海 网址

Ubuntu netplan 如何为网卡配置 IP 地址

Ubuntu 18.04 及之后版本

Ubuntu 18.04 及之后版本采用 netplan 管理网络配置,配置文件在 /etc/netplan/ 目录下

配置静态示例

  • /etc/netplan/01-network-manager-all.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
     dhcp4: no
     addresses: [172.20.0.81/24]
     gateway4: 172.20.0.2
     nameservers:
       addresses: [223.5.5.5]
  • 测试配置文件
netplan try
  • 应用配置文件
netplan --debug apply

配置DHCP

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: true

单网卡多IP和路由

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
     addresses:
       - 172.20.0.91/24
       - 192.168.0.91/24
     #gateway4:    # unset, since we configure routes below
     routes:
       - to: 0.0.0.0/0
         via: 172.20.0.91
         metric: 100
       - to: 192.168.0.0/24
         via: 192.168.0.91
         metric: 100

Ubuntu 18.04 之前版本

IP命令行配置如下

sudo gedit /etc/network/interfaces

DHCP

DHCP配置如下(假设通过eth1上网)

# The primary network interface - use DHCP to find our address
auto eth1
iface eth1 inet dhcp //指定为dhcp

然后重启

sudo /etc/init.d/networking restart

Static IP

静态IP地址配置如下(假设通过eth1上网)

# The primary network interface
auto eth1
iface eth1 inet static //指定为static
address 192.168.3.90 //IP地址
gateway 192.168.3.1 //网关
netmask 255.255.255.0 //子网掩码

同样需要重启

sudo /etc/init.d/networking restart

DNS

如果有必要,配置DNS sudo gedit /etc/resolv.conf

nameserver 192.168.3.2

Bond Modes

Netplan 支持的 mode 参数对应 Linux 内核 bonding 驱动的模式,只有以下 7 种:

  • balance-rr (模式 0)
  • active-backup (模式 1) - 最常用
  • balance-xor (模式 2)
  • broadcast (模式 3)
  • 802.3ad (模式 4) - 即 LACP
  • balance-tlb (模式 5)
  • balance-alb (模式 6) 自适应负载均衡,这是 Bonding 中功能最强、同时也比较智能的一种模式。它包含了 balance-tlb (模式 5) 的所有功能,并增加了 接收负载均衡 (RLB)。
    • 发送流量 (Transmit):驱动程序会根据当前各 slave 网卡的负载情况,智能地分配外发数据包。
    • 接收流量 (Receive):这是 ALB 的核心。Bond 驱动程序通过拦截并修改 ARP 应答(ARP negotiation),让局域网内不同的客户端(其他机器)学习到服务器不同物理网卡的 MAC 地址。这样,外部发来的数据流就会分散到不同的物理网卡上,从而实现接收流量的负载均衡。
    • 交换机要求:不需要。这是该模式最大的优点。你不需要在交换机上做任何特殊的配置(如 LACP 或 EtherChannel),只要交换机端口都在同一个 VLAN 即可。
    • 适用场景:流量吞吐量大、需要双向负载均衡、且无法控制或配置上级交换机的场景。

示例:

yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: false
    eno2:
      dhcp4: false

  bonds:
    bond0:
      # 将两块物理网卡加入 bond
      interfaces: [eno1, eno2]
      # 配置 IP 地址 (Access 模式直接配置在这里)
      addresses:
        - 192.168.1.100/24
      # 配置网关 (Ubuntu 22.04 推荐使用 routes 替代 gateway4)
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]

      parameters:
        # 模式选择:
        # active-backup: 主备模式。如果交换机未做任何聚合配置,选这个最稳。
        # 802.3ad: 如果交换机配置了 LACP,选这个。
        mode: active-backup
        # 系统每隔 100 毫秒 (0.1秒) 检查一次物理网卡的链路状态(即网线是否插好、光信号是否正常),是实现故障切换 (Failover) 的基础
        mii-monitor-interval: 100
        # 只有在 active-backup 模式下才需要下面这行,指定首选主网卡(可选)
        primary: eno1
本文总阅读量 次 本站总访问量 次 本站总访客数