使用 ip 命令关闭和打开工作接口会导致其停止工作

使用 ip 命令关闭和打开工作接口会导致其停止工作

我正在运行 Debian 11 并使用 CLI,当使用 ip 命令关闭和启动工作接口(对其参数不做任何更改)时,它会停止工作。

我遵循的步骤:

  1. 启动机器并登录运行ip a以检查一切是否正确(状态UP,inet有10.0.0.2/24)ping 到8.8.8.8(我收到响应)。
  2. 运行sudo ip link set enp0s3 down,再次执行 ping 操作(无响应,这是预料之中的),ip a 显示状态为 DOWN,并且它仍然具有相同的 IP 和前缀。
  3. 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。

相关内容