在CentOS或RHEL防火牆上開啟端口


今天在CentOS機(centos最小化安裝的系統)上搭建了一個web服務,在訪問這個web服務的時候顯示超時,竟然沒有連接上。明明在本機上使用curl命令顯示了nginx的初始輸出信息,但是遠程訪問為什么就不可以呢?首先ping了web服務器的機子,能ping通,這下有點懵比了。

在網上查了下原來是防火牆惹的禍,沒有開啟80端口。

於是按照網上的說法安裝了需要運行setup命令調用圖形界面修改,運行setup命令時,卻顯示無法找到這個命令,看來是缺少setuptool包,安裝完后運行setup命令發現什么也沒有,又接着安裝了system-config-firewal(防火牆的配置包)之類包。

查詢相關類的包可以使用 命令:

yum list system-config *

另外還有一個服務配置工具,它的名字比較特殊,跟上面所述包名字完全不一樣,它叫ntsysv(系統服務),運行yum install ntsysv 安裝setup的服務設置工具。

再次運行setup出現了圖形界面

 

但是遺憾的是【防火牆配置】選項就是進不去,並報錯:

ERROR: FirewallD is active, please use firewall-cmd.

報錯信息顯示防火牆已經激活,需要使用firewall-cmd命令,使用man查了下firewall-cmd的說明,看來只能通過這個方式來開啟端口了(后來找資料才知道在CentOS/RHEL 7 之后開啟端口需要使用命令,用 iptables 沒效果參考:https://linux.cn/article-4243-1.html)。

firewall常用命令如下:

常用命令介紹
firewall-cmd --state                           ##查看防火牆狀態,是否是running
firewall-cmd --reload                          ##重新載入配置,比如添加規則之后,需要執行此命令
firewall-cmd --get-zones                       ##列出支持的zone
firewall-cmd --get-services                    ##列出支持的服務,在列表中的服務是放行的
firewall-cmd --query-service ftp               ##查看ftp服務是否支持,返回yes或者no
firewall-cmd --add-service=ftp                 ##臨時開放ftp服務
firewall-cmd --add-service=ftp --permanent     ##永久開放ftp服務
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服務
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
iptables -L -n                                 ##查看規則,這個命令是和iptables的相同的
man firewall-cmd                               ##查看幫助

首先查看防火牆運行狀態:

 
        

[root@localhost ~]# firewall-cmd --state
running

查看我們需要的端口有沒有開啟:

查詢是否開啟80端口
[root@localhost ~]# firewall-cmd --query-port=80/tcp
no
顯然80端口沒有開啟

開啟80端口:

[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success

注意加上參數:--permanent,表示永久改變。

 最后運行:

[root@localhost ~]# firewall-cmd --reload
success

完成上述修改,並開啟80端口:現在遠程就可以看到如下界面了。

 

關注公眾號

免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2023 CODEPRJ.COM