前言
有没有试过,当你在重启、停止防火墙或添加防火墙(iptables)规则的时候卡死呢?这时候使用top命令,还能看到一个叫modprobe的进程占用CPU 100%,kill也kill不了,只能重启电脑。
解决方法
小编在网上寻找了N多的文章,baidu上几乎找不到,而GG上的文章很多,可是关于切实解决方法的也很难见到,经过千辛万苦地寻找,终于有了解决方法
据小编观察,这种卡死大多数都卡在iptables重启的Unloading Module过程中,也就是在卸载模块时出了问题,可是具体是哪个模块出了问题,网上对此议论很多,但是却很麻烦,最终,小编找到一个最简单的方法,那就是,重启iptables不卸载模块。
那么应该如何实现呢?
首先要分操作系统,
Centos6
Centos6系统的iptables运行脚本是在/etc/init.d/iptables,解决方法:
#打开/etc/init.d/iptables,此处以vim编辑工具为例 vi /etc/init.d/iptables #找到卸载模块那一行 /modprobe -r #使用#注释掉这一行或这一段语句 #按键盘上的Esc键退出编辑模式 #使用以下命令保存并退出 :wq
好了,现在重启iptables就不会卡死了
Centos7、Debian、Ubuntu
Centos7以及其他使用systemd管理的系统的解决方法如下:
#打开/usr/libexec/iptables/iptables.init,此处以vim编辑工具为例 #也许具体环境安装不一样,总之找到iptables运行脚本再修改就对了 vi /usr/libexec/iptables/iptables.init #找到卸载模块那一行 /modprobe -r #使用#注释掉这一行或这一段语句 #按键盘上的Esc键退出编辑模式 #使用以下命令保存并退出 :wq
如果还有什么其他问题,可以在本文后面评论,小编会及时回复的
非常感谢,找了好久,每次在防火墙放行端口,一直卡死,这个方法一下就解决了
有了新进展,上个月我发现,是Centos安装了锐速以后才会出现这种场景,排查后发现是重启防火墙的时候,锐速的模块卸载不掉导致的,所以需要在重启防火墙的时候,手动关闭再开启一下锐速,就好了