Linux--firewall高级配置

发布于:2023-01-26 ⋅ 阅读:(817) ⋅ 点赞:(0)

一,IP地址伪装

地址伪装可以实现局域网多个地址共享单一公网地址上网。

二,端口转发

可以通过端口转发将私网地址的服务器发布到公网

三,富规则命令

选项

说明

--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。

[root@localhost ~]# firewall-cmd --zone=work --add-rich-rule='rule service name=ssh log prefix="ssh" level="notice" limit value="3/m" accept'
success

10.在接下来的5min内,拒绝从默认区域中的子网192.168.2.0/24到DNS的新连接,并且拒绝的连接将记录到audit系统,且每小时最多一条信息。

[root@localhost ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.2.0/24 service name=dns audit limit value="1/h" reject' --timeout=300
success

11.关闭地址external的地址伪装,添加富规则,要求external区域内,源地址为192.168.1.0/24网段的地址开启地址IP伪装。

firewall-cmd --remove-masquerade  --zone=external

firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 masquerade' 

12.富规则端口转发 

 firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 destination address=100.1.1.15/32 forward-port port=443 protocal=tcp to-addr=192.168.2.10'

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到