防火牆對伺服器起到一定的保護作用,所以了解一些相關的操作是很有必要的。
在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埠已經成功新增進去了。
查詢指定的埠是否已經開放
firewall-cmd --zone=public --query-port=81/tcp
執行上面的命令後,如果指定的埠已經開放就會輸出yes,反之就輸出no
通過zones下面的xml檔案來檢視
在/etc/firewall/zones
目錄下面有乙個名為public.xml
的檔案。這裡存放著這個zone相關的資訊,不只是埠!
firewall-cmd --zone=public --remove-port=81/tcp --permanent
同樣的,關閉埠之後也是要重啟才能生效。
systemctl stop firewalld.service
當然,catcher是不建議關閉防火牆的。
這幾個命令還是比較簡單的,希望這篇小小的總結能給你帶來小小的幫助。
CentOS 7 x 防火牆操作
永久的開放需要的埠 sudo firewall cmd zone public add port 22 tcp permanent sudo firewall cmd reload 檢查新的防火牆規則 firewall cmd state firewall cmd list all 開啟防火牆 sy...
Centos7 x防火牆配置
1 檢視firewall服務狀態 2 檢視firewall的狀態 firewall cmd state3 開啟 重啟 關閉 firewalld.service服務 開啟 service firewalld start 重啟 service firewalld restart 關閉 service f...
Centos7 x 檢視防火牆狀態規則和開放
systemctl status firewalldfirewall cmd state開啟 service firewalld start重啟 service firewalld restart關閉 service firewalld stopfirewall cmd list all查詢埠是否開...