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

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

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

 

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

修改服務的配置只需將/usr/lib/firewalld/services中的配置文件複製到/etc/firewalld/services中修改便可。ssh

 

3、firewalld經常使用命令tcp

安裝工具

yum install firewalld

啓動centos7

systemctl start firewalld

中止xml

systemctl stop firewalld

查看版本blog

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

  

4、打開端口 (最經常使用)

查看區域打開的全部端口

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

 

5、如何打開一個服務

打開一個服務,相似端口可視化,服務須要在配置文件中添加,/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

  

6、如何設置端口轉發

要使用端口轉發,需開啓防火牆假裝

firewall-cmd --add-masquerade --permanent

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

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

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

二、把訪問本地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端口。

相關文章
相關標籤/搜索