我不知道如何在单台 PC 上同时使用两个以太网连接。我至少搜索了 4 个小时来解决这个问题,但我不知道该怎么做。
我在这台 PC 上使用 Ubuntu 21.04,这台 PC 连接到另外 2 台 PC。第一台 PC 用于从这台 PC 接收文件,第二台用于远程桌面(第二台 PC 在另一个房间)。两台 PC 均通过以太网电缆连接。
但是,当我在设置中打开第二个连接时,第一个会关闭,当我打开第一个连接时,第二个会关闭。
如何同时使用这两个连接而不在它们之间切换?
为了让这个问题更容易理解,请查看下图:
附加信息:
ifconfig enp6s0; ifconfig enp4s0
(当第一个连接打开时):
enp6s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether f0:2f:74:1c:15:a1 txqueuelen 1000 (Ethernet)
RX packets 5 bytes 300 (300.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24 bytes 3672 (3.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xfbe00000-fbefffff
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.2.6 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::c612:2978:2641:18e2 prefixlen 64 scopeid 0x20<link>
ether f0:2f:74:74:61:b5 txqueuelen 1000 (Ethernet)
RX packets 20 bytes 3285 (3.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 318 bytes 50979 (50.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
netstat -rn
(当第一个连接打开时):
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.10.10.1 0.0.0.0 UG 0 0 0 wlp5s0
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp5s0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp4s0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlp5s0
224.0.0.0 0.0.0.0 240.0.0.0 U 0 0 0 enp4s0
ifconfig enp6s0; ifconfig enp4s0
(当第二个连接打开时):
enp6s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.184.248 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::cc05:1420:54f5:773e prefixlen 64 scopeid 0x20<link>
ether f0:2f:74:1c:15:a1 txqueuelen 1000 (Ethernet)
RX packets 5 bytes 300 (300.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58 bytes 8890 (8.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xfbe00000-fbefffff
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether f0:2f:74:74:61:b5 txqueuelen 1000 (Ethernet)
RX packets 20 bytes 3285 (3.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 323 bytes 51487 (51.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
netstat -rn
(当第二个连接打开时):
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.10.10.1 0.0.0.0 UG 0 0 0 wlp5s0
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp5s0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp6s0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlp5s0
224.0.0.0 0.0.0.0 240.0.0.0 U 0 0 0 enp6s0
最后注意事项:
我将不胜感激简单指南之类的东西。
此外,我不想将 Internet 连接用于远程桌面或文件传输。
编辑:如果您需要更多信息,请在下面写评论。抱歉图片不好。
从您提供的
ifconfig
和netstat
输出中,看起来您的两个连接都分配了来自同一网络的 IP 地址 - 169.254.0.0 和网络掩码 255.255.0.0。这可能是它们不能同时使用的原因。网络 169.254.0.0 就是所谓的自动配置网络。当您没有在网络设置中手动指定任何 IP 地址,而是将设置保留为默认自动分配并且网络中没有 DHCP 服务器时使用它。在这种情况下,连接会从该网络中随机选择一个 IP 地址。因此,连接到此网络的计算机无需进一步配置即可相互通信,但缺点是您只能拥有一个这样的网络。您不能将两个自动配置网络连接到一台计算机上的两个不同的网卡。
您应该在所有 PC 上手动配置 IP 地址,而不是使用自动配置网络,以便您拥有两个明显不同的网络。
例如,您可以为网卡分配
enp6s0
地址 192.168.6.1,网络掩码为 255.255.255.0,网卡enp4s0
地址为 192.168.4.1,网络掩码为 255.255.255.0。他们现在在不同的网络上。分别在远程桌面PC上设置地址192.168.6.2(使用相同的网络掩码),在文件传输PC上设置地址192.168.4.2。设置后,您的 PC 应该能够与其他两台 PC 中的每一台进行通信,但这两台 PC 将无法相互通信。如果你也需要这个,你应该在你的 PC 的内核中启用 IP 转发,这样它就可以充当路由器并在两个网络之间传输数据包。要启用 IP 转发,您应该取消注释文件
net.ipv4.ip_forward=1
中的行/etc/sysctl.conf
(或将其添加到文件中,如果它不存在),然后使用sudo sysctl -p
. 还可能需要在远程 PC 和文件传输 PC 上添加到其他网络的显式路由。