1. 程式人生 > >CentOS 7.x 防火墻開放端口相關用法記錄

CentOS 7.x 防火墻開放端口相關用法記錄

CentOS 7.x 防火墻開放端口相關

CentOS 7.x 防火墻開放端口相關用法記錄

前言

防火墻對服務器起到一定的保護作用,所以了解一些相關的操作是很有必要的。

在CentOS 7.x中,有了一種新的防火墻策略,FireWall , 還記得在6.x中用的還是iptables。

這幾天一直在自己的服務器上瞎搞,由於關於這個防火墻的命令還沒有爛熟於心,每次都需要google一下,所以就自己動手整理了一下,方便今後的使用也同時加強記憶。

基本命令

在CentOS 7.x中,防火墻的基本命令是 firewall-cmd

先通過man firewall-cmd 來簡單看看它的幫助文檔。

技術分享圖片

具體的使用方法可以用 firewall-cmd -h來進行查詢。

狀態查詢

要用防火墻,自然是需要知道防火墻有沒有啟動。

可以通過查詢防火墻的當前狀態來確定服務器是否開啟了防火墻

firewall-cmd --state

如果終端輸出running就表示防火墻已經開啟了,反之就沒有。

也可以使用下面的命令來查詢

systemctl status firewalld

輸出的信息中,會告訴你是否處於活動狀態

技術分享圖片

啟動防火墻

當得知防火墻沒有被開啟時,就需要手動將其開啟。

systemctl start firewalld

執行上述命令後,是沒有任何輸出信息的。沒有提示信息對我們來說就是個好消息,說明我們的防火墻起來了。

這個時候在通過查詢防火墻狀態的命令就能看到它已經跑起來了。

技術分享圖片

查看已經開放的端口

許多情況下是需要查看服務器是否開啟了端口的。比如我添加了一個站點,用的端口是8080,在服務器能正常訪問,但是外面卻訪問不了,這個時候的第一反應應該就是防火墻的8080端口還沒有對外開放。

firewall-cmd --list-ports

執行上面的命令後,就可以查看所有開放的端口了。

技術分享圖片

由於Catcher還開放了除80以外的其他端口,所以對其他端口打了碼。

添加新端口

這一步的操作就好比在Windows上的防火墻中新建一個入站規則。

只添加一個單獨的端口(示例為81)

firewall-cmd --zone=public --add-port=81/tcp --permanent

添加一組連續的端口(示例為82到85)

firewall-cmd --zone=public --add-port=82-85/tcp --permanent

當添加成功之後,發現並沒有看到剛才添加的端口。

技術分享圖片

此時我們應該要重新啟動防火墻,讓其生效。

重啟防火墻

firewall-cmd --reload

執行這條命令後,會輸出success的字樣表示已經重啟成功了。

此時在去查看端口的情況就可以發現81端口已經成功添加進去了。

技術分享圖片

其他查看端口開放的方法

  1. 查詢指定的端口是否已經開放

firewall-cmd --zone=public --query-port=81/tcp

執行上面的命令後,如果指定的端口已經開放就會輸出yes,反之就輸出no

技術分享圖片

  1. 通過zones下面的xml文件來查看

/etc/firewall/zones 目錄下面有一個名為public.xml的文件。這裏存放著這個zone相關的信息,不只是端口!

cat /etc/firewall/zones/public.xml

技術分享圖片

關閉端口

firewall-cmd --zone=public --remove-port=81/tcp --permanent

同樣的,關閉端口之後也是要重啟才能生效。

技術分享圖片

關閉防火墻

systemctl stop firewalld.service


CentOS 7.x 防火墻開放端口相關用法記錄