firewalld

打开firewalld
systemctl disable iptables //关闭iptables
systemctl stop iptables //禁止iptables开机启动
systemctl enable firewalld //开启firewalld
systemctl start firewalld //让firewalld开机启动



firewalld的9个zone

firewalld默认有9个zone
默认zone为public

查询默认的区域名称

设置默认的区域,使其永久生效

显示可用的区域

显示预先定义的服务

显示当前正在使用的区域与网卡名称

将源自此 IP 或子网的流量导向指定的区域

不再将源自此 IP 或子网的流量导向某个指定区域

将源自该网卡的所有流量都导向某个指定区域

显示当前区域的网卡配置参数、资源、端口以及服务等信息

显示所有区域的网卡配置参数、资源、端口以及服务等信息

设置默认区域允许该服务的流量

设置默认区域允许该端口的流量

设置默认区域不再允许该服务的流量

让“永久生效”的配置规则立即生效,并覆盖当前的配置规则

开启应急状况模式

关闭应急状况模式

查看系统所有zone

查询系统默认的zone

更改系统默认的zone

查询所有网卡所在zone

给指定网卡设置zong
firewall-cmd --zone=dmz --add-interface=lo
lo默认是没有zone的,可以给lo指定一个zone

针对网卡更改zone
firewall-cmd --zone=work --change-interface=lo
lo原先为block zone针对网卡lo更改zone为work;

针对网卡删除zone

firewalld的service操作
列出当前系统所有的service

查看当前zone下有哪些service

查看指定zone下有哪些service

查看work下有哪些service

增加新的service到zone下,默认不加指定参数,为存在于内存中生效,重启后失效
firewall-cmd --zone=public --add-service=http
将http服务增加到public下;

删除zone中指定的service
firewall-cmd --zone=public --remove-service=http
将public中的http服务删除掉;

永久增加service到zone下,会写入配置文档中
zone的配置文档:/etc/firewalld/zones (一旦更改某个zone的模板配置文件,就会在这个目录下生产对应zong的配置文件xml后缀)
zone的模板文档:/usr/lib/firewalld/zones
Service的配置文档:/etc/firewalld/services
service的模板文档:/usr/lib/firewalld/services
firewall-cmd --zone=public --add-service=http --perma




将http服务增加到public下,并写入配置文档中,后面加参数 --permanent;可以通过新生产的配置文档public.xml查看;查询list-services是没有的,必须重启才有效;

启动/关闭 firewalld 防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器时请慎用):

查询 public 区域是否允许请求 SSH 和 HTTPS 协议的流量:

把在 firewalld 服务中访问 8080 和 8081 端口的流量策略设置为允许,但仅限当前生效:

Firewall的端口转发(端口映射)
把原本访问本机 888 端口的流量转发到 22 端口,要且求当前和长期均有效:
流量转发命令格式为:firewalld-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>

firewalld 中的富规则表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。它的优先级在所有的防火墙策略中也是最高的。比如,我们可以在 firewalld 服务中配置一条富规则,使其拒绝

在客户端使用 ssh 命令尝试访问 192.168.111.136 主机的 ssh 服务(22 端口):

针对某个端口只允许某个IP或IP段访问

小实验:
需求:ftp服务自定义端口1121,需要在work zone下面放行ftp;
思路:
用模板操作、先将ftp服务模板复制到配置模板下,这样firewall就会套用该模板,记得修改好端口为1121;
在work zone下面放行ftp,也就是将ftp服务添加到work中;但是之前不许讲work模板复制到firewall的zone下,
并在配置中添加ftp就ok;





1、复制ftp模板到/etc/firewalld/services/目录下

**2、修改文件、将ftp端口21给为1121;
vim /etc/firewalld/services/ftp.xml
将port=“21”改成port=“1121”

3、将work zone模板文件复制或移动到zone目录下;

4、修改zone配置文件work.xml
vim /etc/firewalld/zones/work.xml
在文档中添加一行 <service name="ftp"/>
表示在work zone中增加ftp服务;


5、重新加载firewall

测试:
验证下work zone里面的service是否有FTP

09-01 17:52