centos7之firewalld防火牆的配置與使用


firewalld是centos7開始提供的管理防火牆工具,提供了一個動態管理的防火牆,當然低層仍然調用的是 netfilter 。

一、區域(zone)
firewalld將網卡對應到不同的區域(zone),zone默認共有9個,block,dmz,drop,external,home,internal,public,trusted,work。

 

二、服務(services)
/usr/lib/firewalld/services目錄中,保存了另一類配置文件,每個文件對應一項具體的網絡服務,如 ssh 服務。
對應的配置文件中記錄了各項服務所使用的 tcp/udp 端口,最新的 firewalld 中默認已經定義了 70 多種服務供我們使用。

修改服務的配置只需將/usr/lib/firewalld/services中的配置文件復制到/etc/firewalld/services中修改即可。

 

三、firewalld常用命令

安裝

yum install firewalld

啟動

systemctl start firewalld

停止

systemctl stop firewalld

查看版本

firewall-cmd --version

查看狀態

firewall-cmd --state

重新載入

firewall-cmd --reload

查看firewalld支持的service

firewall-cmd --get-services

查看當前zone加載的service

firewall-cmd --list-services

查看區域信息

firewall-cmd --get-active-zone

查看活動的區域

firewall-cmd --get-active-zones

查看指定接口所屬區域

firewall-cmd --get-zone-of-interface=ens33

查看默認區域

firewall-cmd --get-default-zone

設置默認區域

firewall-cmd --set-default-zone public

獲取所有的區域

firewall-cmd --get-zones

拒絕所有包

firewall-cmd --panic-on

取消拒絕狀態

firewall-cmd --panic-off

查看是否拒絕

firewall-cmd --query-panic

將接口添加到區域

firewall-cmd --zone=public --add-interface=eth0

將接口從區域中刪除

firewall-cmd --zone=public --remove-interface=eth0

修改接口所屬區域

firewall-cmd --zone=dmz --change-interface=eth0

查詢區域中是否包含某接口

firewall-cmd --zone=public --query-interface=eth0

  

四、打開端口 (最常用)

查看區域打開的所有端口

firewall-cmd --zone=public --list-ports

加入一個端口到區域

firewall-cmd --zone=public --add-port=8080/tcp

從區域中刪除一個端口

firewall-cmd --zone=public --remove-port=8080/tcp

永久生效加上 --permanent 然后 reload 防火牆
注意,如果加上 --permanent 參數后,會把該配置寫入到指定的區域配置文件中,比如:/etc/firewalld/zones/public.xml

 

五、如何打開一個服務

打開一個服務,類似端口可視化,服務需要在配置文件中添加,/etc/firewalld/services目錄下。

查詢區域中啟用的服務

firewall-cmd --zone=public --list-services

將ssh服務添加到public區域

firewall-cmd --zone=public --add-service=ssh

移除服務

firewall-cmd --zone=public --remove-service=ssh

  

六、如何設置端口轉發

要使用端口轉發,需開啟防火牆偽裝

firewall-cmd --add-masquerade --permanent

如:我們想把訪問本機192.168.1.222的3306端口轉發到192.168.1.111主機的3306端口上

1、先把本機的3306端口放開

firewall-cmd --permanent --zone=public --add-port=3306/tcp

2、把訪問本地3306端口的請求轉發到192.168.1.111主機的3306上

firewall-cmd --permanent --zone=public --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.111:toport=3306

這樣當我們訪問222主機的3306端口時,實際訪問的是111主機的3306端口。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM