centos千万不要卸载iptables!!! centos千万不要卸载iptables!!! centos卸载iptables会导致系统挂掉!!!内含修复方法。

看我的百度统计后台,有数几十次搜索“centos 卸载iptables”关键词进来的,也不知道这个谣言要害多少人。

事件回顾

弄了台中国科技云,测试的时候外网访问不了,虽说是正常现象,但我想试试看,(也怕安装的frp被iptables拦截了),就用 systemctl stop firewalld.servicesystemctl disable firewalld.service 关闭了firewalld后,因为之前用Ubuntu习惯了,下意识的执行了yum autoremove iptables发现要卸载400M的东西,我感觉要卸载这么多有点奇怪,就随手截图发群里,并按y并回车,顿时,群里炸锅了,在线的群友全都要我不要卸载iptables,我也上网一搜,蒙了,卸载iptables会导致centos断网,甚至可能会无法启动。这和Ubuntu完全不一样。
卸载完成后,我就不敢动了,立马谷歌查怎么修复,没有英文资料,幸好中文资料都很全,看来好多人都被坑过。
堪比图吧的把硅脂涂在CPU卡槽上一样

幸运的是,群友的及时通知,我没重启系统。只要没重启系统,rm -rf /*都能救回来。

修复

首先上网查资料,大部分人都选择重置系统,但中科云哪有重置。。。只能强行修复了。
首先执行ip addrping,不出所料,无此命令。网卡程序被卸载了。
参考这个教程,开始修复:

https://www.beasure.com/jishu/yum-remove-iptables.shtml
https://www.centos.bz/2019/07/iptable%E5%8D%83%E4%B8%87%E4%B8%8D%E8%A6%81yum-remove-iptables/

因为我没重启过,理论上网卡配置文件还在,因此我先不配置网卡,先把“卸载”掉的程序安装完成
执行

cat /etc/yum.repos.d/CentOS-Base.repo

看看centos源还在不在,还好,还在。
尝试执行

yum update
yum upgrade

没有任何自动安装的
那就执行

yum install iptables

...也就只给我安装一个iptables。
那我再执行

yum install NetworkManager

yum install NetworkManager-team

yum install NetworkManager-tui

yum install NetworkManager-wifi

yum install dracut-network

yum install iproute

全都提示有这个软件,我开始慌了,难道要等我重启才能安装网卡?但我绝对不能重启。
继续安装

yum install NetworkManager

yum install NetworkManager-team

yum install NetworkManager-tui

yum install NetworkManager-wifi

yum install dhclient

yum install dracut-network

yum install initscripts

yum install iproute

yum install iptables

yum install kbd

yum install kexec-tools

yum install plymouth

剩下的都有提示安装,安装完成后教程说可以重启了,但我依然不敢重启。。。
继续安装

yum install iptables-services

只安装了一个iptables-services,试试ip addr与ping,这个时候ip addrping可以正常执行。

备份好ip addr显示的网卡参数,截图/放桌面的文档都行。准备重启,防止因为重启清空了网卡配置。
备份/etc/yum.repos.d/CentOS-Base.reporoot文件夹下,防止重启删除了源配置。

重启

VNC会启动比较长时间,刚开始我还以为系统挂掉了。还好最后正常启动了。输入root和密码进入系统,执行

ip addr
ping 1.0.0.1
yum update
yum upgrade

一切正常。
不知道有哪些被我卸载掉的没安,但是只要能进系统,能联网,后面的都简单了。

总结

经验主义害死人。也感谢群友们及时提醒我,幸好我看到提醒没重启系统,如果重启系统我可能压根没法修复了,因为我压根没备份过网卡配置。
如果不要iptables的话,用

systemctl stop iptables
systemctl disable iptables

现在系统空间足够大的情况下,千万别随便卸载。


因为几乎没有英文资料,我就加几个关键词供英文索引:
centos fix yum autoremove iptables

centos how to fix yum autoremove iptables

centos how to fix yum remove iptables

This article contains repair methods, please read with Google Translate.


参考:
How to Install Iptables on CentOS 7
centos系统yum remove iptables后无法登录的补救办法
怎么关闭和卸载iptables?小心了!!
iptable千万不要yum remove iptables

最后修改:2020 年 08 月 16 日 07 : 24 PM