CentOS 8的firewalld已經與iptables解綁

文章轉載自: CentOS 8的firewalld已經與iptables解綁

今天有人找上我,說以前用的一鍵安裝腳本很差使了,但願我能幫忙看看怎麼回事。後端

根據他的描述,初步判定是系統屢次安裝某個依賴致使。仔細詢問,他每次有問題都直接重建vps,不該該存在這個問題。接着猜想應該是腳本與當前系統不匹配,腳本過久沒更新因此安裝報錯。他說的腳本既不是我寫的也沒用過,讓他聯繫做者反饋估計很難也不能解決當下問題,因而幫忙找了另一個一鍵安裝腳本讓其嘗試。centos

新的腳本很快就將所需軟件安裝成功,可是出現沒法鏈接的問題。考慮到服務器有可能被屏蔽掉,因而用境外服務器鏈接,一樣不能連上。接着指導他排除服務未啓動、iptables端口和服務商防火牆未放行等因素,問題依舊。服務器

好久沒碰到這麼奇怪的情況,因而向他要了root密碼,親自登陸服務器查看問題。首先用ps aux | grep xxx查看進程,確認軟件正常運行;接着netstat -nltp查看端口監聽,確認端口一直且正在被監聽;iptables -nL查看系統內置防火牆,輸出爲空,說明iptables沒有屏蔽進程監聽的端口。然而在這樣的配置下,依然沒法telnet遠程鏈接到這臺服務器。問題到底出如今哪裏?ssh

會不會是由於進程的問題?因而測試用ssh進程監聽端口,沒法鏈接;換一個端口,仍是連不上;改爲經常使用的80和443端口,也telnet不過去。測試了多個進程和端口,除了ssh的22端口,無論哪一個進程監聽的其餘端口都不行。tcp

走到這個地步,不是系統有問題即是個人水平有問題。因而用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 8測試

到此一切都明朗了:以前的一鍵安裝腳本報錯很差用了,由於腳本只適用於6和7,CentOS 8剛出來沒多久沒有測試過;我找的一鍵安裝腳本能安裝和運行,沒法鏈接是由於CentOS 8中firewalld已經與iptables解綁,後端改用nftables,這即是iptables -nL輸出爲空仍是沒法鏈接的真正緣由;要想鏈接上,只須要用nft或者firewall-cmd放行相應的端口便可:code

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

向他解釋這些有點難度,因而讓他重建vps時選CentOS 7,一鍵安裝腳本好用了,也能遠程鏈接過去了。blog

CentOS 8打開了一個新世界。vps

參考

  1. https://www.zdnet.com/article...
  2. https://developers.redhat.com...
相關文章
相關標籤/搜索