管理Firewalld
与之相关的服务有:iptables,ip6tables,ebtables;
默认的zone是public.
Firewall-cmd --permanent #永久
firewall-cmd --get-default-zone #查看zones
firewall-cmd --set-default-zone=<ZONES> #设置默认zone.
firewall-cmd --get-zones #查看所有可用的zone
firewall-cmd --get-services #查看所有的服务
firewall-cmd --get-active-zones #查看所有激活的zones
firewall-cmd --add-source=<CIDR> #添加源地址
firewall-cmd --remove-source=<CIDR> #删除源地址
firewall-cmd --add-interface=<INTERFACE> #添加接口
firewall-cmd --changeinterface=<INTERFACE> #改变接口
firewall-cmd. --list-all #列举所有已经配置的ZONE
firewall-cmd --list-all-zones #列举所有ZONE的信息
firewall-cmd --add-service=<SERVICE> #添加服务
firewall-cmd --add-port=<PORT/PROTOCOL> #添加协议端口
firewall-cmd --remove-service=<SERVICE> #删除服务
firewall-cmd --remove-port=<PORT/PROTOCOL> #删除协议端口
firewall-cmd --reload #修改配置后,重新加载
管理Rich Rules
Rich Rules 可以表达基本的允许/拒绝规则,也可以去配置日志如:syslog和auditd,端口转发,伪装,限制等。使用帮助命令 firewalld.richlanguage

Rich rules有4个选项可以使用。


添加规则
firewall-cmd --permanent --add-rich-rule=’rule family=ipv4 source address=192.168.0.11/32 reject’ #拒绝来自192.168.0.11主机的数据,family 为指定ipv4 或ipv6

用服务来写:service name=.

用协议来写 protocal value=

用端口来写 port port=

Reject 会返回一个icmp回应,drop丢弃不会有任何回应
防火墙日志syslog and audit


is one of emerg(紧急) , alert(警报) , crit , error(错误) , warning(警告), notice(注意) , info(信息), or debug(故障) .
m for minutes, h for hours, or d for days.
如:
limit value=3/m 表示限制三分钟
LOG:记录在/var/log/messages
firewall-cmd --permanent --add-rich-rule='rule service name=ssh log prefix=ssh level=notice limit value=3/m accept'

Audit:记录在/var/log/audit/audit.log下
firewall-cmd --add-rich-rule=’rule family=ipv4 source address=172.25.254.250/32 service name=dns audit limit value=1/h reject’ --timeout=300 #拒绝DNS在一下个五分钟,每个小时记录拒绝172.25.254.250主机的DNS服务,

删除规则
firewall-cmd --permanent --remove-rich-rule='rule' #直接复制’使用--list-all 或者list-rich-rule查看
NAT
Firewalld 支持两种网络地址转换:masquerading(伪装) and port forwarding(端口转发) .
Masquerading:伪装通过公网地址改变包的源地址,去访问外网。只用于IPV4。
配置:
firewall-cmd --permanent --zone=<ZONE> --add-masquerade #设置所有包都通过伪装在zone内转换。

firewall-cmd --permanent --zone=<ZONE> --add-rich-rule='rule family=ipv4 source address=172.25.254.250/32 masquerade' #通过定义富规则:源地址172.25.254.250主机通过伪装出去;

Port forwarding 端口转发
单个端口被转换成多个端口在同一台机器,或者一个端口在不同机器上
配置:


SELinux端口标签
SELinux 端口:每个服务的端口都受到SELinux的保护。会停止通过其他方法进来的端口。
管理SELinux端口:
查看
semanage port -l #查看端口列表 -C可以查看被改变的SELinux端口

添加端口:
semanage port -a -t http_port_t -p tcp <port> | -a #添加 -t selinux内容 -p 协议 端口


安装seliunx-policy-devel 软件包用于查看服务的selinux作用

用于更新MAN 数据库


删除端口
semanage port -d -t http_port_t -p tcp <port> | -d #删除

修改端口
semanage port -m -t http_port_t -p tcp <port> | -m #修改

请珍惜劳动成果,支持原创,欢迎点赞或者关注收藏,你每一次的点赞和收藏都是作者的动力,内容如有问题请私信随时联系作者,谢谢!
本文介绍了如何管理Firewalld,包括设置默认zone、管理源地址、接口和服务,添加和删除rich规则,以及配置NAT和端口转发。同时提到了SELinux端口标签的管理,如查看、添加、删除和修改端口。
1826

被折叠的 条评论
为什么被折叠?



