centos 7 firewalld实践

前端之家收集整理的这篇文章主要介绍了centos 7 firewalld实践前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一.启动停止

firewalld 守护进程

systemctl status/start/stop/restart firewalld来控制这个守护进程

激活最新配置:

1.systemctl restart firewalld #重启 firewalld 服务

2.firewall-cmd --reload #重载配置文件之后不会断掉正在连接的 tcp 会话

二.firewall-cmd命令

firewall-cmd--state##查看防火墙状态,是否是running
firewall-cmd--reload##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd--get-zones##列出支持的zone
firewall-cmd--get-services##列出支持的服务,在列表中的服务是放行的
firewall-cmd--query-serviceftp##查看ftp服务是否支持,返回yes或者no
firewall-cmd--add-service=ftp##临时开放ftp服务
firewall-cmd--add-service=ftp--permanent##永久开放ftp服务
firewall-cmd--remove-service=ftp--permanent##永久移除ftp服务
firewall-cmd--add-port=80/tcp--permanent##永久添加80端口
iptables-L-n##查看规则,这个命令是和iptables的相同的
manfirewall-cmd##查看帮助
runtime:当前正在生效
permanent:永久生效
当策略为永久生效时,必须执行--reload参数后才能立即生效,否则重启后生效

三.配置

irewall-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=80/tcp#阻止通过tcp访问80
firewall-cmd--add-port=233/udp#开放通过udp访问233
firewall-cmd--list-ports#查看开放的端口

可以通过两种方式控制端口的开放,一种是指定端口号另一种是指定服务名。虽然开放 http 服务就是开放了 80 端口,但是还是不能通过端口号来关闭,也就是说通过指定服务名开放的就要通过指定服务名关闭;通过指定端口号开放的就要通过指定端口号关闭。还有一个要注意的就是指定端口的时候一定要指定是什么协议,tcp 还是 udp。知道这个之后以后就不用每次先关防火墙了,可以让防火墙真正的生效。

查看当前区域
firewall-cmd--get-default-zone
查看所以区域
firewall-cmd--get-active-zones
查看网卡ens224区域
firewall-cmd--get-zone-of-interface=ens224
在public中分别查询ssh与http服务是否被允许
firewall-cmd--zone=public--query-service=ssh
firewall-cmd--zone=public--query-service=http
设置默认规则为DMZ:
firewall-cmd--set-default-zone=dmz
让永久生效的配置文件立即生效
firewall-cmd--reload
启动/关闭应急状况模式,阻断所以网络连接:应急模式会禁止所有的网络连接,注意
firewall-cmd--panic-on
firewall-cmd--panic-off

允许http流量通过public区域,立即生效且永久生效
方法一:
firewall-cmd--zone=public--add-service=http#当前生效
firewall-cmd--permanent--zone=public--add-service=http#设置永久生效

方法二:
firewall-cmd--permanent--zone=public--add-service=http
firewall-cmd--reload

不允许https流量通过public区域,立即生效且永久生效
firewall-cmd--permanent--zone=public--remove-service=http
firewall-cmd--reload

允许8080与8081端口通过public区域,立即生效且永久生效
firewall-cmd--permanent--zone=public--add-port=8080-8081/tcp
firewall-cmd--reload

查看加入的端口是否生效
firewall-cmd--zone=public--list-ports
firewall-cmd--permanent--zone=public--list-ports

伪装IP
防火墙可以实现伪装IP的功能,端口转发会用到
(端口转发配置始终不生效,查询许多资料后,才发现需要开启IP伪装功能,这是个坑)
检测是否允许伪装IP
firewall-cmd--query-masquerade
允许防火墙伪装IP
firewall-cmd--add-masquerade
禁用防火墙伪装IP
firewall-cmd--remove-masquerade

端口转发功能:
firewall-cmd--permanent--zone=public--add-forward-port=port=888:proto=tcp:toport=22:toaddr=x.x.x.x
删除转发功能
firewall-cmd--permanent--zone=public--remove-forward-port=port=888:proto=tcp:toport=22:toaddr=x.x.x.x
开启888端口
firewall-cmd--zone=public--add-port=888/tcp

猜你在找的CentOS相关文章