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端口。

相关文章
相关标签/搜索