管理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 #修改
请珍惜劳动成果,支持原创,欢迎点赞或者关注收藏,你每一次的点赞和收藏都是作者的动力,内容如有问题请私信随时联系作者,谢谢!