如何通过命令行切换 NetworkManager 的“仅将此连接用于其网络上的资源”选项

如何通过命令行切换 NetworkManager 的“仅将此连接用于其网络上的资源”选项

在我的工作中,我们有一些测试机器,我们通过 ssh 在这些机器上运行脚本。在测试期间,我们希望这些机器仅通过以太网连接访问本地网络,但之后我们希望它们能够通过相同的接口访问互联网,以便进行清理和数据传输。

我们可以通过转到每台机器并切换> >"Use this connection only for resources on its network"中的选项来做到这一点,但将其添加到我们的测试脚本中会方便得多。network managerIPv4 optionsroutes menu

我可以找到一些与 VPN 连接有关的类似问题,但我想确保正确处理常规以太网接口的路由。感谢您的帮助。

答案1

你可以用nmcli它来做这件事,关键是ipv4.never-default

nmcli connection modify enp3s0 ipv4.never-default true
  • enp3s0用您自己的连接名称更改。
  • 使用falsetrue在该配置之间切换。

答案2

如果您愿意直接编辑文件,您也可以这样做。

导航到/etc/NetworkManager/system-connections/目录并找到所需的连接。使用 打开网络sudo nano MyNetwork

打开文件后,查找该[ipv4]部分,然后添加never-default=true,如下所示:

[ipv4]
dns-search=
method=auto
never-default=true

如果您还希望以相同的方式处理 IPv6 路由,请将相同的行添加到以下[ipv6]部分:

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto
never-default=true

Ctrl使用+保存并退出编辑器X,然后使用以下命令重新启动 NetworkManager,以确保更改被应用:

sudo systemctl restart NetworkManager.service

重新连接到网络,它就应该正常工作了。

答案3

您可以删除默认路由,这样它们就只能从您的 LAN 子网访问。

ip route delete default

并将其添加回来:

ip route add default via <you_gateway_ip_address>

相关内容