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來(lái)控制這個(gè)守護(hù)進(jìn)程。firewalld進(jìn)程為防火墻提供服務(wù)。
當(dāng)我們修改了某些配置之后(尤其是配置文件的修改),firewall并不會(huì)立即生效。可以通過(guò)兩種方式來(lái)激活最新配置systemctl restart firewalld
和firewall-cmd --reload
兩種方式,前一種是重啟firewalld服務(wù),建議使用后一種“重載配置文件”。重載配置文件之后不會(huì)斷掉正在連接的tcp會(huì)話,而重啟服務(wù)則會(huì)斷開tcp會(huì)話。
二、控制端口/服務(wù)
可以通過(guò)兩種方式控制端口的開放,一種是指定端口號(hào)另一種是指定服務(wù)名。雖然開放http服務(wù)就是開放了80端口,但是還是不能通過(guò)端口號(hào)來(lái)關(guān)閉,也就是說(shuō)通過(guò)指定服務(wù)名開放的就要通過(guò)指定服務(wù)名關(guān)閉;通過(guò)指定端口號(hào)開放的就要通過(guò)指定端口號(hào)關(guān)閉。還有一個(gè)要注意的就是指定端口的時(shí)候一定要指定是什么協(xié)議,tcp還是udp。知道這個(gè)之后以后就不用每次先關(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 # 開放通過(guò)tcp訪問(wèn)3306 firewall-cmd --remove-port=80tcp # 阻止通過(guò)tcp訪問(wèn)3306 firewall-cmd --add-port=233/udp # 開放通過(guò)udp訪問(wèn)233 firewall-cmd --list-ports # 查看開放的端口
三、偽裝IP
防火墻可以實(shí)現(xiàn)偽裝IP的功能,下面的端口轉(zhuǎn)發(fā)就會(huì)用到這個(gè)功能。
firewall-cmd --query-masquerade # 檢查是否允許偽裝IP firewall-cmd --add-masquerade # 允許防火墻偽裝IP firewall-cmd --remove-masquerade# 禁止防火墻偽裝IP
四、端口轉(zhuǎn)發(fā)
端口轉(zhuǎn)發(fā)可以將指定地址訪問(wèn)指定的端口時(shí),將流量轉(zhuǎn)發(fā)至指定地址的指定端口。轉(zhuǎn)發(fā)的目的如果不指定ip的話就默認(rèn)為本機(jī),如果指定了ip卻沒(méi)指定端口,則默認(rèn)使用來(lái)源端口。
如果配置好端口轉(zhuǎn)發(fā)之后不能用,可以檢查下面兩個(gè)問(wèn)題:
- 比如我將80端口轉(zhuǎn)發(fā)至8080端口,首先檢查本地的80端口和目標(biāo)的8080端口是否開放監(jiān)聽了
- 其次檢查是否允許偽裝IP,沒(méi)允許的話要開啟偽裝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)我們想把某個(gè)端口隱藏起來(lái)的時(shí)候,就可以在防火墻上阻止那個(gè)端口訪問(wèn),然后再開一個(gè)不規(guī)則的端口,之后配置防火墻的端口轉(zhuǎn)發(fā),將流量轉(zhuǎn)發(fā)過(guò)去。
- 端口轉(zhuǎn)發(fā)還可以做流量分發(fā),一個(gè)防火墻拖著好多臺(tái)運(yùn)行著不同服務(wù)的機(jī)器,然后用防火墻將不同端口的流量轉(zhuǎn)發(fā)至不同機(jī)器。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)本站的支持。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。