咨询热线:4006-75-4006

售前:9:00-23:30    备案:9:00-18:00    技术:7*24h

linux 执行 iptables 命令出错 segmentation fault (core dumped) 的解决

2016-03-16 17:06:11 9630次

linux 执行 iptables 命令出错: segmentation fault (core dumped)

systemctl status iptables.service  出错 code=dumped signal=SEGV

现象:

一台机器被强制手动关闭了,重新启动后,防火墙(iptables)不能启动,系统启动日志 /var/log/boot.log 中出现如下错误:
failed to start ipv4 firewall with iptables
failed to start ipv6 firewall with iptables
please use "systemctl status iptables.service" for detail

机器是做代理服务的,导致其他机器都不能上网了。

解决办法:
进入系统后,使用 systemctl status iptables.service 查看 iptables 状态,发现没有启动,信息如下:
Active: failed
code=dumped signal=SEGV
于是执行 iptables 命令:iptables -L
直接提示错误: segmentation fault (core dumped)
这种情况从来没有遇到过,iptables是系统软件,执行时怎么会出现段错误呢?猜测是系统强制关闭时破坏了相关文件。尝试重新安装 iptables 会不会解决问题。
首先查看本机的 iptables 的版本:rpm -qa iptables,发现是iptables-2.16-xxx.xx
于是下载了 iptables 的rpm包,即:iptables-2.16-xxx.xx.rpm
然后强制卸载 iptables 包: rpm -e --nodeps iptables-2.16-xxx.xx  这里需要加上 --nodeps 不考虑依赖,强制卸载。
卸载完毕,安装: rpm -ivh iptables-2.16-xxx.xx.rpm
安装成功后,执行 iptables 命令:iptables -L 。发现不再提示段错误了,正常了。
重启iptables,即执行命令: systemctl restart iptables.service,
查看iptables状态,即:systemctl status iptables.service。
首页
最新活动
个人中心