我正在运行 Debian 11 并使用 CLI,当使用 ip 命令关闭和启动工作接口(对其参数不做任何更改)时,它会停止工作。
我遵循的步骤:
- 启动机器并登录运行
ip a
以检查一切是否正确(状态UP,inet有10.0.0.2/24)ping 到8.8.8.8(我收到响应)。 - 运行
sudo ip link set enp0s3 down
,再次执行 ping 操作(无响应,这是预料之中的),ip a 显示状态为 DOWN,并且它仍然具有相同的 IP 和前缀。 Run sudo ip link set enp0s3 up
,再次 ping 并且弹出网络不可达消息,ip a 显示状态为 UP 并且它仍然具有相同的 IP 和前缀。
这是我的接口配置文件(/etc/network/interfaces):
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet dhcp
到目前为止,解决此问题的唯一方法是重新启动、使用 sudo systemctl restart networking.service 重新启动网络服务或使用 ifup 和 ifdown 命令。
答案1
可能是网络服务冲突。查看正在运行的服务
systemctl list-units
示例输出:
网络.服务
NetworkManager-等待-在线.
服务 NetworkManager.服务...
找出可以禁用/停止哪个来解决问题。可能需要重新启动以验证服务是否已禁用以及“ip link set enp0s3 up”是否正常工作。
如果这有帮助的话请告知我们。
答案2
关闭某个接口时,到该接口的所有路由都会自动从系统路由表中删除。(我第一次发现这一点时感到很惊讶。但经过深思熟虑,现在我明白了。)
没有路由的接口将不会响应 ping。