内核路由表配置重启后不持久,如何永久执行指定IP地址删除操作?
内核路由表配置重启后不持久,如何永久执行指定IP地址删除操作?
嗨,我完全懂你现在的烦恼——每次重启机器都得手动删这个IP,实在是太折腾人了!既然你用的是netplan,咱们先从根源排查,再给你几个靠谱的永久解决办法:
从Netplan配置本身修复(优先推荐)
意外断电大概率搞乱了netplan的配置,这个172.17.0.1/24很可能是某个配置文件错误添加的。- 先找到netplan的配置文件,它们一般在
/etc/netplan/目录下,后缀是.yaml。 - 用编辑器打开检查:
sudo nano /etc/netplan/*.yaml,看看里面有没有给enp67s0f0网卡配置这个IP的条目。如果有,直接删掉那一行,保存后执行sudo netplan apply让配置生效,重启机器试试。 - 如果没找到相关配置,试试重新生成netplan配置:
sudo netplan generate,再执行sudo netplan apply,之后重启验证问题是否解决。
- 先找到netplan的配置文件,它们一般在
用Systemd服务自动执行删除命令
如果上面的方法没用,咱们可以做一个开机自动运行的服务,让系统启动时帮你删IP:- 创建一个systemd服务文件:
sudo nano /etc/systemd/system/remove-extra-ip.service - 把下面的内容粘贴进去:
[Unit] Description=Remove the extra 172.17.0.1/24 IP on enp67s0f0 After=network.target [Service] Type=oneshot ExecStart=/usr/sbin/ip address delete 172.17.0.1/24 dev enp67s0f0 RemainAfterExit=yes [Install] WantedBy=multi-user.target - 保存退出后,重新加载systemd配置:
sudo systemctl daemon-reload,然后启用服务:sudo systemctl enable remove-extra-ip.service - 可以先手动启动测试:
sudo systemctl start remove-extra-ip.service,再用ip addr show enp67s0f0确认IP已删除,之后重启机器看是否自动生效。
- 创建一个systemd服务文件:
排查是否有其他进程在偷偷添加IP
有时候可能是其他工具在搞鬼,比如Docker(毕竟172.17是Docker默认网桥的IP段)、旧的网络脚本或者其他网络管理服务:- 如果装了Docker,检查一下是否有自定义网桥绑定到
enp67s0f0网卡上,导致自动添加这个IP。 - 看看
/etc/network/目录下有没有遗留的ifupdown配置文件,可能是之前的配置残留。 - 用
journalctl -b查看本次启动的日志,搜索172.17.0.1或者enp67s0f0,找到是哪个进程在添加这个IP,再针对性解决。
- 如果装了Docker,检查一下是否有自定义网桥绑定到
备注:内容来源于stack exchange,提问作者albertoperdomo2
相关产品推荐
相关产品推荐

