我有两台运行 Ubuntu 22.04 的计算机。我用一根跳线将它们连接起来,并想从一台计算机(我们称之为客户端)通过 SSH 连接到另一台计算机(我们称之为服务器)。
服务器运行的是netplan,它的配置文件是:
$ netplan get
network:
version: 2
renderer: NetworkManager
ethernets:
id0:
match:
name: "enx000ec6954183"
addresses:
- "192.168.1.102/24"
dhcp4: false
在客户端上,我使用网络设置 GUI 添加了一个新的连接配置文件,并将 IPv4 选项卡设置为“共享给其他计算机”(IP:10.42.0.1)。
需要做什么才能完成设置以便我可以从客户端 ping 服务器?
不要将 IPv4 选项卡设置为“与其他计算机共享”。将配置文件设置为“手动”,并配置与服务器地址子网匹配的 IP 地址(即,在您的情况下为 192.168.1.x,网络掩码为 255.255.255.0,以匹配 192.168.1.102/24)。
如果您使用“共享给其他计算机”选项,那么它将决定接口将使用哪个 IP 地址,从而决定该连接上的其他计算机将使用哪个 IP 地址 - 这意味着服务器需要根据客户端的选择配置 IP 地址(最好使用 DHCP)。从技术上讲,这可以工作,但有点倒退,通常不是您想要的。
“共享给其他计算机”是某些系统所称的“热点”模式——它适用于通过接口 A 接收互联网访问并希望通过接口 B 提供互联网访问的系统(例如,您使用典型的“自动”配置文件连接到某个公共 Wi-Fi,然后使用以太网配置文件上的“共享给其他计算机”重新分配它)。即使没有互联网访问,它仍然可以运行,即仍然可以为其他机器提供本地 DHCP 服务,但即使在这种情况下,在服务器上运行它比在客户端上运行更合适。