无法让 Ubuntu 在不同网络上同时使用两个网卡

无法让 Ubuntu 在不同网络上同时使用两个网卡

我正在运行 Ubuntu 20.04.4 LTS,很难让两个 NIC 在不同的网络上同时工作。

我有连接到互联网的网络 1 和连接到 NAS 和其他资源的网络 2。

如果我断开另一个,每个都会单独工作。但它们不能同时工作。我尝试了其他旧线程中的一些建议,例如确保它们没有相同的子网,确保只有一个有默认网关,并且据我所知它们的 IP 不在同一范围内。我还确保它们使用不同的 MAC 地址,以防万一

当一个设备停止工作时,它就真的停止了,就像在路由器上,它不再显示该设备,如果有帮助的话。

我不确定如何安全地共享 ifconfig 或路由,而不会将我的 ip 暴露给 ddos​​ 或 mac 地址以确保网络安全,但如果有人指导我,可以分享我需要的信息来帮助你帮助我 =)

我认为我需要做的是将它们设置为静态 IP、单独的网络掩码,只有一个具有默认网关。我似乎无法通过 GUI 完成此操作(或验证我是否已完成此操作)。通过命令行执行此操作的帮助会很棒。

我确实看到了一些关于这个主题的旧帖子,但它们来自 Ubuntu 12 和 14,当我尝试按照工作解决方案进行操作时,他们希望我编辑的文件并不存在 =(

** 从问题中添加的信息/感谢@chili555 展示保持安全的最佳做法

当两者都已连接但只有网络 1 有效时,ifconfig:

eno8303: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.x.y  netmask 255.255.254.0  broadcast 10.10.a.b
        inet6 fe80::9b5a:98e3:XXXX:XXXX  prefixlen 64  scopeid 0x20<link>
        ether XX:XX:XX:XX:XX:Xc  txqueuelen 1000  (Ethernet)
        RX packets 49005255  bytes 9779685701 (9.7 GB)
        RX errors 0  dropped 2  overruns 0  frame 0
        TX packets 17858283  bytes 3889222415 (3.8 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 48  

eno8403: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether XX:XX:XX:XX:XX:Xd  txqueuelen 1000  (Ethernet)
        RX packets 2107226  bytes 800274299 (800.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 67827  bytes 8155445 (8.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 134  

netplan 只是 NetworkManager,也许这就是我需要进行更改的地方。这是我的 yaml:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

路线

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    100    0        0 eno8303
10.10.x.y       0.0.0.0         255.255.254.0   U     100    0        0 eno8303
10.244.x.y      0.0.0.0         255.255.0.0     U     0      0        0 zeroTeir
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 eno8303
172.17.x.y      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.x.y      0.0.0.0         255.255.0.0     U     0      0        0 br

Rinzwind 在评论中解决了这个问题,这个 netplan 链接正是我所需要的 -->https://serverfault.com/questions/939922/netplan-with-2-nics-each-connected-to-a-different-gateway/949447#949447

我不知道如何将该问题标记为已解决,但事实确实如此。

答案1

感谢@Rinzwind 和其他人,解决方案是制定自定义 netplan(https://netplan.io/),虽然我最终添加了一些特定于我的环境的自定义设置,但这是让我分别与两个网络通信的基础:

network:
  version: 2
  renderer: networkd
  ethernets:
   eno8303:
    dhcp4: yes
    nameservers:
        search: [foo.local, bar.local]
        addresses: [8.8.8.8]
   eno8403:
    dhcp4: yes

相关内容