CentOS 7下用firewall-cmd控制端口與端口轉(zhuǎn)發(fā)詳解
一、firewalld 守護(hù)進(jìn)程
firewall-cmd命令需要firewalld進(jìn)程處于運(yùn)行狀態(tài)。我們可以使用systemctl status/start/stop/restart firewalld來控制這個守護(hù)進(jìn)程。firewalld進(jìn)程為防火墻提供服務(wù)。
當(dāng)我們修改了某些配置之后(尤其是配置文件的修改),firewall并不會立即生效??梢酝ㄟ^兩種方式來激活最新配置systemctl restart firewalld和firewall-cmd --reload兩種方式,前一種是重啟firewalld服務(wù),建議使用后一種“重載配置文件”。重載配置文件之后不會斷掉正在連接的tcp會話,而重啟服務(wù)則會斷開tcp會話。
二、控制端口/服務(wù)
可以通過兩種方式控制端口的開放,一種是指定端口號另一種是指定服務(wù)名。雖然開放http服務(wù)就是開放了80端口,但是還是不能通過端口號來關(guān)閉,也就是說通過指定服務(wù)名開放的就要通過指定服務(wù)名關(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 # 查看開放的服務(wù) 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
防火墻可以實(shí)現(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的話就默認(rèn)為本機(jī),如果指定了ip卻沒指定端口,則默認(rèn)使用來源端口。
如果配置好端口轉(zhuǎn)發(fā)之后不能用,可以檢查下面兩個問題:
- 比如我將80端口轉(zhuǎn)發(fā)至8080端口,首先檢查本地的80端口和目標(biāo)的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
- 當(dāng)我們想把某個端口隱藏起來的時候,就可以在防火墻上阻止那個端口訪問,然后再開一個不規(guī)則的端口,之后配置防火墻的端口轉(zhuǎn)發(fā),將流量轉(zhuǎn)發(fā)過去。
- 端口轉(zhuǎn)發(fā)還可以做流量分發(fā),一個防火墻拖著好多臺運(yùn)行著不同服務(wù)的機(jī)器,然后用防火墻將不同端口的流量轉(zhuǎn)發(fā)至不同機(jī)器。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Shell中如何刪除文本比較長的行的實(shí)現(xiàn)方法
這篇文章主要介紹了 Shell中如何刪除文本比較長的行的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下2017-10-10
Linux下SVN服務(wù)器自動更新文件到Web目錄的方法
這篇文章主要介紹了Linux下SVN服務(wù)器自動更新文件到Web目錄的方法,需要的朋友可以參考下2015-07-07
如何利用SystemTap統(tǒng)計函數(shù)執(zhí)行耗時詳解
SystemTap是監(jiān)控和跟蹤運(yùn)行中的Linux 內(nèi)核的操作的動態(tài)方法,下面這篇文章主要給大家介紹了關(guān)于如何利用SystemTap統(tǒng)計函數(shù)執(zhí)行耗時的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09
PHP程序員玩轉(zhuǎn)Linux系列 備份還原MySQL
這篇文章主要為大家詳細(xì)介紹了PHP程序員玩轉(zhuǎn)Linux系列文章,MySQL備份還原教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04

