You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04双网卡同静态IP的Netplan配置诉求:实现无线/以太网独立联网

Ubuntu 22.04双网卡同静态IP的Netplan配置诉求:实现无线/以太网独立联网

嘿,这个场景我之前帮朋友处理过——同一IP跨双网卡切换办公/家庭网络,核心问题是默认路由冲突+ARP地址冲突,咱们一步步来解决:

第一步:解决同IP双网卡的ARP冲突问题

因为两个网卡都用192.168.80.111/24,同一子网里的设备会收到两个不同MAC对应同一个IP的ARP响应,直接导致网络混乱。咱们需要给每个网卡设置sysctl参数来规避这个问题:

创建一个sysctl配置文件,比如/etc/sysctl.d/99-dual-nic-arp.conf,写入以下内容:

# 让网卡只响应目标IP是自身主IP的ARP请求
net.ipv4.conf.enp3s0.arp_ignore = 1
net.ipv4.conf.wlp3s0.arp_ignore = 1

# 让网卡只对外宣告自身主IP的ARP信息
net.ipv4.conf.enp3s0.arp_announce = 2
net.ipv4.conf.wlp3s0.arp_announce = 2

# 全局生效(可选,但确保所有接口都遵循规则)
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

然后加载配置:

sudo sysctl --system

第二步:修改Netplan配置,实现策略路由

你的现有配置里两个网卡都加了默认路由,系统无法判断优先走哪条,所以咱们给每个网卡分配独立的路由表,用路由规则绑定网卡和对应的路由表:

编辑你的Netplan配置文件(通常是/etc/netplan/00-installer-config.yaml或自定义yaml文件),替换成以下内容:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: false
      dhcp6: false
      optional: true
      addresses:
        - 192.168.80.111/24
      # 为以太网分配专属路由表(表号200,自定义未占用的编号即可)
      routes:
        - to: default
          via: 192.168.80.1
          table: 200
      # 路由规则:从enp3s0发出的流量强制用表200
      routing-rules:
        - from: 192.168.80.111
          iif: enp3s0
          table: 200
          priority: 100
      nameservers:
        addresses:
          - 55.11.22.33
          - 55.11.22.34
  wifis:
    wlp3s0:
      dhcp4: false
      dhcp6: false
      optional: true
      addresses:
        - 192.168.80.111/24
      nameservers:
        addresses:
          - 192.168.80.32
      access-points:
        "wifi_conn":
          password: "passconn"
      # 为无线分配专属路由表(表号201)
      routes:
        - to: default
          via: 192.168.80.32
          table: 201
      # 路由规则:从wlp3s0发出的流量强制用表201
      routing-rules:
        - from: 192.168.80.111
          iif: wlp3s0
          table: 201
          priority: 101

配置说明:

  • 每个网卡对应独立路由表(200和201,只要是1-252之间未被占用的编号都可以)
  • routing-rules实现了流量绑定:从以太网发的请求走办公网关,从无线发的请求走家庭网关,互不干扰
  • 优先级priority数字越小优先级越高,这里两个规则优先级接近,不影响正常使用,因为是绑定到不同网卡的

第三步:应用配置并测试

先验证配置文件语法是否正确:

sudo netplan generate

如果没有报错,就应用配置:

sudo netplan apply

现在可以分别测试两种场景:

  1. 只插以太网(办公室):执行ip route get 8.8.8.8,输出应该显示走enp3s0到192.168.80.1
  2. 只连无线(家里):同样执行ip route get 8.8.8.8,输出应该显示走wlp3s0到192.168.80.32

如果两个网卡同时开启,系统会自动根据流量发起的网卡选择对应路由,不会出现冲突。

备注:内容来源于stack exchange,提问作者llesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 15:48:03