CentOS 8的firewalld已经与iptables解绑

文章转载自:CentOS 8的firewalld已经与iptables解绑后端

今天有人找上我,说以前用的一键安装脚本很差使了,但愿我能帮忙看看怎么回事。centos

根据他的描述,初步判定是系统屡次安装某个依赖致使。仔细询问,他每次有问题都直接重建vps,不该该存在这个问题。接着猜想应该是脚本与当前系统不匹配,脚本过久没更新因此安装报错。他说的脚本既不是我写的也没用过,让他联系做者反馈估计很难也不能解决当下问题,因而帮忙找了另一个一键安装脚本让其尝试。服务器

新的脚本很快就将所需软件安装成功,可是出现没法链接的问题。考虑到服务器有可能被屏蔽掉,因而用境外服务器链接,一样不能连上。接着指导他排除服务未启动、iptables端口和服务商防火墙未放行等因素,问题依旧。ssh

好久没碰到这么奇怪的情况,因而向他要了root密码,亲自登陆服务器查看问题。首先用ps aux | grep xxx查看进程,确认软件正常运行;接着netstat -nltp查看端口监听,确认端口一直且正在被监听;iptables -nL查看系统内置防火墙,输出为空,说明iptables没有屏蔽进程监听的端口。然而在这样的配置下,依然没法telnet远程链接到这台服务器。问题到底出如今哪里?tcp

会不会是由于进程的问题?因而测试用ssh进程监听端口,没法链接;换一个端口,仍是连不上;改为经常使用的80和443端口,也telnet不过去。测试了多个进程和端口,除了ssh的22端口,无论哪一个进程监听的其余端口都不行。测试

走到这个地步,不是系统有问题即是个人水平有问题。因而用uname -a查看系统版本,输出以下:Linux xxx 4.18.0-80.7.1.el8_0.x86_64 #1 SMP Sat Aug 3 10:14:00 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux。信息略显杂乱,但仍是能让人一眼就看出问题所在:el8,系统居然是CentOS 8code

到此一切都明朗了:以前的一键安装脚本报错很差用了,由于脚本只适用于6和7,CentOS 8刚出来没多久没有测试过;我找的一键安装脚本能安装和运行,没法链接是由于CentOS 8中firewalld已经与iptables解绑,后端改用nftables,这即是iptables -nL输出为空仍是没法链接的真正缘由;要想链接上,只须要用nft或者firewall-cmd放行相应的端口便可:blog

firewall-cmd --permanent --add-port=xxxx/tcp
firewall-cmd --reload

向他解释这些有点难度,因而让他重建vps时选CentOS 7,一键安装脚本好用了,也能远程链接过去了。vps

CentOS 8打开了一个新世界。进程

参考

  1. https://www.zdnet.com/article/red-hats-centos-8-arrives-heres-what-you-get-with-it/
  2. https://developers.redhat.com/blog/2016/10/28/what-comes-after-iptables-its-successor-of-course-nftables/
相关文章
相关标签/搜索