地址伪装可以实现局域网多个地址共享单一公网地址上网。
二,端口转发
可以通过端口转发将私网地址的服务器发布到公网
三,富规则命令
选项 | 说明 |
–add-rich-rule**=‘RULE’** | 向指定区域中添加RULE,如果没有指定区域,则为默认****区域 |
–remove-rich-rule**=‘RULE’** | 从指定区域中删除RULE,如果没有指定区域,则为默认****区域 |
–query-rich-rule**=‘RULE’** | 查询RULE是否已添加到指定区域,如果未指定区域,则为默认区域。规则存在,则返回0,否则返回****1 |
–list-rich-rules | 输出指定区域的所有富规则,如果未指定区域,则为默认****区域 |
已配置
富语言
规则
显示方式
firewall-
cmd
–list-all
firewall-
cmd
list-all-zones
富语言规则
具体语法
source
、
destination
、
element
、
service
、
port
、
protocol
、
icmp
-block
、
masquerade
、
forward-port
、
log
、
audit
、
accept|reject|drop
source:限制源IP地址
destination:限制目标地址
element:要素,该项只能是以下几种要素类型之一
service:服务
port:端口
protocol:协议
icmp-block:阻断一个或多个ICMP类型
masquerade:规则里的IP伪装
forward-port:将指定的TCP或UDP协议的数据包转发到本地的其他端口
log:系统日志
audit:审核,类型:accept,reject,drop的一种
四,规则配置举例
1.为认证报头协议AH使用新的IPv4和IPv6连接
[root@localhost ~]# firewall-cmd --add-rich-rule='rule protocol value=ah accept'
success
2.允许新的IPv4和IPv6连接FTP,并使用审核每分钟记录一次
[root@localhost ~]# firewall-cmd --add-rich-rule='rule service name=ftp log limit value=1/m audit accept'
success
3.允许来自192.168.0.0/24地址的TFTP协议的IPv4连接,并且使用系统日志每分钟记录一次
[root@localhost ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="xftp" level="info" limit value="1/m" accept'
success
4.为RADIUS协议拒绝所有来自1:2:3:4:6::的新IPv6连接,日志前缀为“dns”,级别为“info”,并每分钟最多记录3次。接受来自其他发起端新的IPv6连接
[root@localhost ~]# firewall-cmd --add-rich-rule='rule family="ipv6" source address="1:2:3:4:6::" service name="radius" log prefix="dns" level="info" limit value="3/m" reject'
success
[root@localhost ~]# firewall-cmd --add-rich-rule='rule family="ipv6" service name="radius" accept'
success
5.将源192.168.2.2地址加入白名单,以允许来自这个源地址的所有连接
[root@localhost ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.2" accept'
success
6.拒绝来自public区域中IP地址192.168.0.11的所有流量
[root@localhost ~]# firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.0.11/32 reject'
success
7.丢弃来自默认区域中任何位置的所有传入的ipsec esp协议包
[root@localhost ~]# firewall-cmd --add-rich-rule='rule protocol value="esp" drop'
success
8.在192.168.1.0/24子网的dmz区域,接受端口7900-7905的所有TCP包
[root@localhost ~]# firewall-cmd --zone=dmz --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=7900-7905 protocol=tcp accept'
success
9.接收从work区域到SSH的新连接,以notice级别且每分钟最多三条消息的方式将新连接记录到syslog。