CentOS 7下用firewall-cmd控制端口與端口轉(zhuǎn)發(fā)詳解
一、firewalld 守護進程
firewall-cmd命令需要firewalld進程處于運行狀態(tài)。我們可以使用systemctl status/start/stop/restart firewalld來控制這個守護進程。firewalld進程為防火墻提供服務。
當我們修改了某些配置之后(尤其是配置文件的修改),firewall并不會立即生效??梢酝ㄟ^兩種方式來激活最新配置systemctl restart firewalld
和firewall-cmd --reload
兩種方式,前一種是重啟firewalld服務,建議使用后一種“重載配置文件”。重載配置文件之后不會斷掉正在連接的tcp會話,而重啟服務則會斷開tcp會話。
二、控制端口/服務
可以通過兩種方式控制端口的開放,一種是指定端口號另一種是指定服務名。雖然開放http服務就是開放了80端口,但是還是不能通過端口號來關(guān)閉,也就是說通過指定服務名開放的就要通過指定服務名關(guān)閉;通過指定端口號開放的就要通過指定端口號關(guān)閉。還有一個要注意的就是指定端口的時候一定要指定是什么協(xié)議,tcp還是udp。知道這個之后以后就不用每次先關(guān)防火墻了,可以讓防火墻真正的生效。
firewall-cmd --add-service=mysql # 開放mysql端口 firewall-cmd --remove-service=http # 阻止http端口 firewall-cmd --list-services # 查看開放的服務 firewall-cmd --add-port=3306/tcp # 開放通過tcp訪問3306 firewall-cmd --remove-port=80tcp # 阻止通過tcp訪問3306 firewall-cmd --add-port=233/udp # 開放通過udp訪問233 firewall-cmd --list-ports # 查看開放的端口
三、偽裝IP
防火墻可以實現(xiàn)偽裝IP的功能,下面的端口轉(zhuǎn)發(fā)就會用到這個功能。
firewall-cmd --query-masquerade # 檢查是否允許偽裝IP firewall-cmd --add-masquerade # 允許防火墻偽裝IP firewall-cmd --remove-masquerade# 禁止防火墻偽裝IP
四、端口轉(zhuǎn)發(fā)
端口轉(zhuǎn)發(fā)可以將指定地址訪問指定的端口時,將流量轉(zhuǎn)發(fā)至指定地址的指定端口。轉(zhuǎn)發(fā)的目的如果不指定ip的話就默認為本機,如果指定了ip卻沒指定端口,則默認使用來源端口。
如果配置好端口轉(zhuǎn)發(fā)之后不能用,可以檢查下面兩個問題:
- 比如我將80端口轉(zhuǎn)發(fā)至8080端口,首先檢查本地的80端口和目標的8080端口是否開放監(jiān)聽了
- 其次檢查是否允許偽裝IP,沒允許的話要開啟偽裝IP
# 將80端口的流量轉(zhuǎn)發(fā)至8080 firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 # 將80端口的流量轉(zhuǎn)發(fā)至 firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.0.1192.168.0.1 # 將80端口的流量轉(zhuǎn)發(fā)至192.168.0.1的8080端口 firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1:toport=8080
- 當我們想把某個端口隱藏起來的時候,就可以在防火墻上阻止那個端口訪問,然后再開一個不規(guī)則的端口,之后配置防火墻的端口轉(zhuǎn)發(fā),將流量轉(zhuǎn)發(fā)過去。
- 端口轉(zhuǎn)發(fā)還可以做流量分發(fā),一個防火墻拖著好多臺運行著不同服務的機器,然后用防火墻將不同端口的流量轉(zhuǎn)發(fā)至不同機器。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
用shell命令刪除網(wǎng)站最新nb掛馬的方法與代碼
教你刪除網(wǎng)站最新NB掛馬最近發(fā)現(xiàn) 很多網(wǎng)站被掛了木馬,會在頁面中生成如下代碼。2010-02-02初識centos7與centos6的區(qū)別整理(內(nèi)核、命令等)
這篇文章主要介紹了初識centos7與centos6的區(qū)別整理,需要的朋友可以參考下2017-08-08Linux系統(tǒng)文件的默認權(quán)限和特殊權(quán)限
這篇文章主要介紹了Linux系統(tǒng)文件的默認權(quán)限和特殊權(quán)限的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10