一、firewalld 守護進程
firewall-cmd命令需要firewalld進程處于運行狀態。我們可以使用systemctl status/start/stop/restart firewalld來控制這個守護進程。firewalld進程為防火墻提供服務。
當我們修改了某些配置之后(尤其是配置文件的修改),firewall并不會立即生效??梢酝ㄟ^兩種方式來激活最新配置systemctl restart firewalld
和firewall-cmd --reload
兩種方式,前一種是重啟firewalld服務,建議使用后一種“重載配置文件”。重載配置文件之后不會斷掉正在連接的tcp會話,而重啟服務則會斷開tcp會話。
二、控制端口/服務
可以通過兩種方式控制端口的開放,一種是指定端口號另一種是指定服務名。雖然開放http服務就是開放了80端口,但是還是不能通過端口號來關閉,也就是說通過指定服務名開放的就要通過指定服務名關閉;通過指定端口號開放的就要通過指定端口號關閉。還有一個要注意的就是指定端口的時候一定要指定是什么協議,tcp還是udp。知道這個之后以后就不用每次先關防火墻了,可以讓防火墻真正的生效。
firewall-cmd --add-service=mysql # 開放mysql端口firewall-cmd --remove-service=http # 阻止http端口firewall-cmd --list-services # 查看開放的服務firewall-cmd --add-port=3306/tcp # 開放通過tcp訪問3306firewall-cmd --remove-port=80tcp # 阻止通過tcp訪問3306firewall-cmd --add-port=233/udp # 開放通過udp訪問233firewall-cmd --list-ports # 查看開放的端口
三、偽裝IP
防火墻可以實現偽裝IP的功能,下面的端口轉發就會用到這個功能。
firewall-cmd --query-masquerade # 檢查是否允許偽裝IPfirewall-cmd --add-masquerade # 允許防火墻偽裝IPfirewall-cmd --remove-masquerade# 禁止防火墻偽裝IP
四、端口轉發
端口轉發可以將指定地址訪問指定的端口時,將流量轉發至指定地址的指定端口。轉發的目的如果不指定ip的話就默認為本機,如果指定了ip卻沒指定端口,則默認使用來源端口。
如果配置好端口轉發之后不能用,可以檢查下面兩個問題:
# 將80端口的流量轉發至8080firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080# 將80端口的流量轉發至firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.0.1192.168.0.1# 將80端口的流量轉發至192.168.0.1的8080端口firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1:toport=8080
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答
圖片精選