三章——firewalld防火墙(二)(应用——linux防护与群集)

三期总目录链接

目录

一、firewalld高级配置

富规则配置举例

二、配置firewalld防火墙的地址伪装和端口转发

​(一)基础环境配置

 1、基本环境

 2、c-1网关服务器上配置防火墙

(二)配置IP伪装与端口转发

1、配置ip伪装:实现内部局域网共享上网

2、端口转发:实现互联网用户访问内网web服务器

复习题


一、firewalld高级配置

Firewalld支持两种类型的网络地址转换
 IP地址伪装(masquerade)

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

IP地址伪装仅支持IPv4,不支持IPv6

  端口转发(Forward-port)

  也称为目的地址转换或端口映射;通过端口转发,指定IP地址及端口的流量将被转发到相同计算机上的不同端口,或者转发到不同计算机上的端口

直接规则(direct interface)                          1、允许管理员手动编写的iptables、ip6tables和ebtables 规则插入到Firewalld管理的区域中2、通过firewall-cmd命令中的--direct选项实现3、除显示插入方式之外,优先匹配直接规则 

 例:把192.168.0.0/24ip地址范围列入黑名单

 添加规则链 blacklist

[root@C-1 ~]# firewall-cmd --direct --permanent --add-chain ipv4 raw blacklist
success

 来自192.168.0.0/24的数据包路由前选择匹配blacklist

[root@C-1 ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw PREROUTING 0 -s 192.168.0.0/24 -j blacklistsuccess

 将‘blacklisted’内容的日志每分钟记录一次

[root@C-1 ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw blacklist 0 -m limit --limit 1/min  -j LOG --log-prefix "blacklisted"
success

 匹配blacklist规则的数据丢弃

[root@C-1 ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw blacklist 1 -j DROP
success

富规则(rich language)                             1、表达性配置语言,无需了解iptables语法   2、用于表达基本的允许/拒绝规则、配置记录(面向syslog和auditd)、端口转发、伪装和速率限制

 超时选项(测试和调试)

 超时:包含超时选项的规则添加到防火墙后,计时器会自动倒计时,归零时该规则删除

--timeout=超时时间 

处理富语言规则的常用选项

说明

--add-rich-rule=‘RULE’

向指定区域中添加RULE,如果没有指定区域,则为默认区域

--remove-rich-rule=‘RULE’

从指定区域中删除RULE,如果没有指定区域,则为默认区域

--query-rich-rule=‘RULE’

查询RULE是否已添加到指定区域,如果未指定区域,则为默认区域。规则存在,则返回0,否则返回1

--list-rich-rules

输出指定区域的所有富规则,如果未指定区域,则为默认区域

富语言语法解释

source 限制源IP地址,源地址可以是一个IPv4、IPv6地址或者一个网络地址段
destination 限制目标地址,目标地址使用跟源地址相同的语法
element:要素,只能是以下6种类型之一
service 服务名称是firewalld提供的其中一种服务。要获得支持的服务列表,输入以下命令:firewall-cmd—-get-services。如果一个服务提供了一个目标地址,它和规则中的目标地址冲突,则会导致一个错误。命令格式为:service name=service_name
port 端口可以是一个独立端口数字,或者是端口范围,如5060~5062。协议为TCP或UDP。命令格式为:port port=number_or_range protocol=protocol
protocol

协议,协议ID号 或 协议名                   查询可用协议/etc/protocols。

命令格式为:protocol value=协议ID号 或 协议名

icmp-block

阻断一个或多个ICMP类型,输入 firewall-cmd --get-icmptypes命令查看支持的ICMP类型列表

命令格式为:icmp-block name=icmptype_name 

masquerade 规则里的IP伪装。用源地址而不是目的地址来把伪装限制在一个范围内
forward-port

指定的TCP 或 UDP 协议的数据包转发到本机的其他端口,或另一台机器,或另一台机器上的其他端口。port 和to-port可以是一个单独的端口数字,或一个端口范围。而目的地址是一个简单的IP 地址。

命令格式为:forward—port port=number_or_range protocol=protocol to-port=number_or_range to-addr=address

————————————————————————————————————————————————

log 注册有内核日志的连接请求到规则中,如系统日志。可以定义一个前缀文本把日志信息作为前缀加入。日志等级可以是emerg、alert、 crit、error、warning、notice、info 或者debug中的一个。可以选择日志的用法,按以下方式限制日志:log [prefix=prefix text] [level=log level] limit value=rate/duration.持续时间的单位为 s 秒.m 分钟,h 小时,d天,最大限定值是1/d(每天最多一条日志进入)
audit 审核类型可以是accept、reject或drop中的一种,但不能在audit 命令后指定,因为审核类型将会从规则动作中自动收集。审核不包含自身参数,但可以选择性地增加限制。审核的使用是可选择的

accept

reject

drop

选择一个行为,命令格式为:accept | reject [type=reject type] | drop.

为accept时,所有新的连接请求都将被允许

为reject时.连接将被拒绝,发起端将接到一个拒绝信息

为drop时,所有数据包会被丢弃,并且不会向发起端发送任何信息

富规则配置举例

                         没有指定区域会过默认区域publec区域设置 

1、给认证报头协议AH使用新的IPV4和IPV6连接 

[root@C-11 ~]# firewall-cmd --add-rich-rule='rule protocol value=ah accept'

success

2、允许新的IPv4和IPv6连接FTP,并使用审核每分钟记录一次

[root@C-11 ~]# 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@C-11 ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept'
success
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘浪初心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值