免责声明:在网络方面,我是最菜鸟。我几乎不知道网络设置中的含义。对我来说,在这方面没有“琐碎”的信息。
我的家庭有线 LAN 网络上有一台 Ubuntu 20.04 机器和一个 Raspberry Pi。在当前设置中,这些设备之间唯一的东西是网络交换机:
[ Ubuntu ] ——— [ network switch ] ——— [ RPi ]
我在这个网络上没有 WAN 互联网连接(在当前设置中我不需要),因为它是由另一个 wifi 接口提供的。我只使用有线 LAN 来连接这些设备。
由于此 LAN 网络上没有提供 DHCP 配置的路由器,因此在我的网络设置 GUI 的IPv4
选项卡上,我设置了“仅链接本地”。
我的 Ubuntu 可以看到 RPi,RPi 也可以看到我的 Ubuntu,但前提是我首先使用 查找每个设备自己的 IP 地址hostname -I
,然后在连接(安装)时使用该 IP 地址。
我注意到这些 IP 地址在重新启动后会发生变化。它们并非总是如此,有时它们会返回到以前使用的值,但实际上这些更改在轻松连接的方式上设置了障碍。我想为两个设备设置一个静态 IP;我想在这个网站上我可以询问如何为我的 Ubuntu 20.04 机器实现它。
我认为可能有多种方法可以实现我的目标,要么通过一些配置文件,要么通过设置 GUI,甚至通过运行一些终端命令(我可以将其放入脚本中)。
请在提出解决方案时考虑到我缺乏网络知识:我不追求行业最佳实践——我更喜欢一种对初学者来说更容易执行的方法。
附录:
- 我似乎知道在 Ubuntu 20.04
netplan
上经常用于配置网络;我也在renderer: NetworkManager
这样的配置中看到过。- 这是否意味着我可以选择避免使用 netplan,而使用更简单的方法?(Netplan 似乎很困难,因为它似乎将良好的网络知识水平作为先决条件。)
- 是否有一种方法可以“即时”使用终端命令覆盖 netplan 配置,类似于
xrandr
命令如何“修改”X-server 配置?
- 在 Network Settings GUI 的
IPv4
选项卡上(我选择“Link-Local Only”),似乎有一个Routes部分,其中包含Address、Netmask、Gateway和Metric “字段”,但这些仍然是灰色的,即使我将相应的自动切换切换为“关闭”。- 同时,标记为将此连接仅用于其网络上的资源的复选框也保持灰色。
更新:解决方案总结
- 为此,需要在所有相关设备上设置相应的静态 IP。
- 相应的手段:
foo.bar.baz.x
和foo.bar.baz.y
- 相应的手段:
- 对于有线接口,应选择与wifi接口不同的IP范围;例如:
- 无线上网:
foo.bar.x.x
- 有线:
baz.quux.x.x
- 无线上网:
- 在 Ubuntu 上,在网络设置 GUI 的
IPv4
选项卡上,应该选择“手动”,然后按照@raj 的回答进行操作。 - 在带有基于Debian Buster
/etc/dhcpcd.conf
的 Raspberry Pi OS 的 Raspberry Pi 上,需要修改该文件:它已经包含一个有用的“静态 IP 示例”片段。有关 RPi.SE 的更多信息。
在桌面 Ubuntu 上,您不必使用
netplan
,因为有一个带有漂亮 GUI 的网络管理器来配置网络参数。由于您需要静态 IP,因此在网络设置 GUI 的
IPv4
选项卡中,将“方法”设置为“手动”而不是“仅链接本地”。为您的 Ubuntu 机器选择一个 IP 地址。此地址应属于私有地址之一地址范围:10.xxx、172.16.xx 或 192.168.xx 最受欢迎的是使用第三个 :) 假设 IP 地址将是例如 192.168.200.1(注意范围不会与您的WiFi 连接;如果 WiFi 恰好也使用 192.168.200.x,请选择其他范围)。单击“添加”并在“地址”列中输入该地址。在“网络掩码”列中,输入 255.255.255.0。由于您在此网络上没有任何路由器,请将“网关”列留空。单击“保存”,断开并重新连接有线连接后,应在界面上设置您配置的地址。当然,您还必须在您的 RPi 上设置另一个相同范围内的静态 IP 地址(例如 192.168.200.2),但我不知道您那里有什么操作系统,也无法为您提供更详细的说明。