CentOS 7下用firewall-cmd
一 、控制端口/服務
可以通過兩種方式控制端口的開放,一種是指定端口號另一種是指定服務名。雖然開放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訪問3306 firewall-cmd --remove-port=80tcp # 阻止通過tcp訪問3306 firewall-cmd --add-port=233/udp # 開放通過udp訪問233 firewall-cmd --list-ports # 查看開放的端口二、偽裝IP
防火墻可以實現偽裝IP的功能,下面的端口轉發就會用到這個功能。
firewall-cmd --query-masquerade # 檢查是否允許偽裝IP firewall-cmd --permanent --add-masquerade # 允許防火墻偽裝IP firewall-cmd --permanent --remove-masquerade# 禁止防火墻偽裝IP三、端口轉發
端口轉發可以將指定地址訪問指定的端口時,將流量轉發至指定地址的指定端口。轉發的目的如果不指定ip的話就默認為本機,如果指定了ip卻沒指定端口,則默認使用來源端口。
如果配置好端口轉發之后不能用,可以檢查下面兩個問題:
- 比如我將80端口轉發至8080端口,首先檢查本地的80端口和目標的8080端口是否開放監聽了
- 其次檢查是否允許偽裝IP,沒允許的話要開啟偽裝IP
- 當我們想把某個端口隱藏起來的時候,就可以在防火墻上阻止那個端口訪問,然后再開一個不規則的端口,之后配置防火墻的端口轉發,將流量轉發過去。
- 端口轉發還可以做流量分發,一個防火墻拖著好多臺運行著不同服務的機器,然后用防火墻將不同端口的流量轉發至不同機器。
重新加載防火墻規則:firewall-cmd --reload移除80端口號:firewall-cmd --permanent --zone=public --remove-port=80/tcp--zone #作用域 --add-port=80/tcp #添加端口,格式為:端口/通訊協議 --permanent #永久生效,沒有此參數重啟后失效
--reload #配合--permanent參數永久保存
查看防火墻狀態
systemctl?status?firewalld.service
啟動|關閉|重新啟動 ?防火墻
systemctl?[start|stop|restart]?firewalld.service?
?
來自:https://blog.csdn.net/slovyz/article/details/78487182
? ? ? ? ? https://blog.csdn.net/tongdengquan/article/details/79923706
轉載于:https://www.cnblogs.com/luck666/p/10449087.html
總結
以上是生活随笔為你收集整理的CentOS 7下用firewall-cmd的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 链接多个数据库的方法
- 下一篇: UVA1103分区涂色+vc使用注意事项