linux 執(zhí)行 iptables 命令出錯 segmentation fault (core dumped) 的解決
2016-03-16 17:06:11
13678
linux 執(zhí)行 iptables 命令出錯: segmentation fault (core dumped)
systemctl status iptables.service 出錯 code=dumped signal=SEGV
現(xiàn)象:
一臺機(jī)器被強(qiáng)制手動關(guān)閉了,重新啟動后,防火墻(iptables)不能啟動,系統(tǒng)啟動日志 /var/log/boot.log 中出現(xiàn)如下錯誤:
failed to start ipv4 firewall with iptables
failed to start ipv6 firewall with iptables
please use "systemctl status iptables.service" for detail
機(jī)器是做代理服務(wù)的,導(dǎo)致其他機(jī)器都不能上網(wǎng)了。
解決辦法:
進(jìn)入系統(tǒng)后,使用 systemctl status iptables.service 查看 iptables 狀態(tài),發(fā)現(xiàn)沒有啟動,信息如下:
Active: failed
code=dumped signal=SEGV
于是執(zhí)行 iptables 命令:iptables -L
直接提示錯誤: segmentation fault (core dumped)
這種情況從來沒有遇到過,iptables是系統(tǒng)軟件,執(zhí)行時怎么會出現(xiàn)段錯誤呢?猜測是系統(tǒng)強(qiáng)制關(guān)閉時破壞了相關(guān)文件。嘗試重新安裝 iptables 會不會解決問題。
首先查看本機(jī)的 iptables 的版本:rpm -qa iptables,發(fā)現(xiàn)是iptables-2.16-xxx.xx
于是下載了 iptables 的rpm包,即:iptables-2.16-xxx.xx.rpm
然后強(qiáng)制卸載 iptables 包: rpm -e --nodeps iptables-2.16-xxx.xx 這里需要加上 --nodeps 不考慮依賴,強(qiáng)制卸載。
卸載完畢,安裝: rpm -ivh iptables-2.16-xxx.xx.rpm
安裝成功后,執(zhí)行 iptables 命令:iptables -L 。發(fā)現(xiàn)不再提示段錯誤了,正常了。
重啟iptables,即執(zhí)行命令: systemctl restart iptables.service,
查看iptables狀態(tài),即:systemctl status iptables.service。