我不知道如何在一台 PC 上同时使用两个以太网连接。我搜索了这个问题至少 4 个小时,但我不知道该怎么做。
我在这台电脑上使用 Ubuntu 21.04,这台电脑连接到另外两台电脑。第一台电脑用于从这台电脑接收文件,第二台电脑用于远程桌面(第二台电脑在另一个房间)。两台电脑都通过以太网电缆连接。
但是,当我在设置中打开第二个连接时,第一个连接将会关闭,当我打开第一个连接时,第二个连接将会关闭。
我怎样才能同时使用这两个连接而不在它们之间切换?
为了使这个问题更容易理解,请检查下面的图片:
附加信息:
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
最后说明:
我将非常感激诸如简单指南之类的东西。
还,我不想使用互联网连接进行远程桌面或文件传输。
编辑:如果您需要更多信息,请在下面发表评论。抱歉图片不好。
答案1
从您提供的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 上添加到其他网络的明确路由可能也是必要的。