在我的工作中,我们有一些测试机器,我们通过 ssh 在这些机器上运行脚本。在测试期间,我们希望这些机器仅通过以太网连接访问本地网络,但之后我们希望它们能够通过相同的接口访问互联网,以便进行清理和数据传输。
我们可以通过转到每台机器并切换> >"Use this connection only for resources on its network"
中的选项来做到这一点,但将其添加到我们的测试脚本中会方便得多。network manager
IPv4 options
routes menu
我可以找到一些与 VPN 连接有关的类似问题,但我想确保正确处理常规以太网接口的路由。感谢您的帮助。
答案1
你可以用nmcli
它来做这件事,关键是ipv4.never-default
:
nmcli connection modify enp3s0 ipv4.never-default true
enp3s0
用您自己的连接名称更改。- 使用
false
或true
在该配置之间切换。
答案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>