iptables和firewalld防火墙

三章  firewalld(二)
1、IP地址伪装
通过地址伪装,NAT设备将经过设备的包转发到指定接收方,同时将通过的数据包的原地址更改为NAT的接口地址转发到不同步目的地。当是返回数据包是,会将目的地之修改为原始主机地址并路由。
2、端口转发
也叫端口映射。通过端口转发,将指定IP地址及端口的流量转发到相同计算机上不同端口,或不同计算机上的端口。

firewall-cmd高级配置
1、直接规则
1)直接只用iptables或firewalld语句规则写入管理区域
2)执行优先级最高。优先级:直接规则→富规则→区域规则
3)不会iptables语句的用户直接使用firewalld
4)适用于服务或应用程序

语句:
firewall-cmd --direct

例:启用黑名单
firewall-cmd --direct --add-chain  ipv4  raw  blacklist
例:将1.0.0.0网段加入到黑名单
firewall-cmd --direct --add-chain  ipv4  raw  PREOUTING 0 -s 1.0.0.0 -j  blacklist

2、富规则(富语言规则)
语句中描述的时间或表达式比较详细。包括允许、拒绝、配置日志记录、端口转发、地址伪装、速率限制、访问时间等。

语句:
firewall-cmd --zone=区域  --add-rich-rule=‘rule 富规则表达式’
--add-rich-rule:添加富规则
--remove-rich-rule:删除富规则

查询富规则是否添加到指定区域
firewall-cmd  --query-rich-rule
查看富规则列表
firewall-cmd  --list-rich-rule

表达式:
source address=源IP地址
destination  address=目标IP地址
server name=服务名
port port=端口号
protocol value=协议类型(TCP/UDP)
icmp-block=ICMP数据包类型(request  reply)
maskquerade 转换地址与端口号

accept:通过
drop:丢弃、拒绝
reject:拒绝并返回消息
log:日志
log prefix=日志文件
level:级别
limit value=跳数/时间
--timeout=超时时间

例:
在external区域中,为认证报头协议AH使用新的IPV4和IPV6连接
firewall-cmd --zone=external  --add-rich-rule=‘rule protocol value=ah  accept’
例:
允许ipv4的主机访问ftp服务
firewall-cmd --zone=external  --add-rich-rule=‘rule famliy=ipv4 server name=ftp accept’
例:
允许ipv4的1.0.0.0主机访问tftp服务,并每分钟记录一次日志
firewall-cmd --zone=internal  --add-rich-rule=‘rule famliy=ipv4 server name=tftp source address=1.0.0.1/24 log limit value=1/m audit accept’
例:
允许ipv4的192.168.1.10主机访问http服务,并每分钟记录一次日志
firewall-cmd --zone=trusted  --add-rich-rule=‘rule famliy=ipv4 server name=http source address=192.168.1.10/24 log limit value=1/m audit accept’
例:
为redius服务拒绝来自1:2:3:4:5:6:: 的ipv6连接,日志前缀为DNS,级别为info,每分钟记录三次
firewall-cmd --zone=trusted  --add-rich-rule=‘rule famliy=ipv6 server name=redius source address=1:2:3:4:5:6:: log limit value=3/m log prefix=dns
level=info audit drop’
firewall-cmd --zone=trusted  --add-rich-rule=‘rule famliy=ipv6 server name=redius  audit accept’

实验接着第二章的做
配置IP伪装和地址转发
1、在外网服务器上搭建web用于测试
结果:内网测试机可以访问。dmz区域的网站服务器也可以访问。
yum -y install httpd
vim /var/www/html/index.html
systemctl enable httpd
systemctl restart httpd
firefox 127.0.0.1

内网服务器访问:firefox http://100.1.1.20
web服务器访问:firefox http://100.1.1.20
原因:
在网关服务器上查看
firewall-cmd --list-all --zone=external
masquerade: yes    地址伪装开启

在网关服务器上配置:
firewall-cmd --remove-masquerade --zone=external 
firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 masquerade'


2、配置端口转发实现外网服务器访问dmz的web服务器
在网关服务器上配置:
firewall-cmd --zone=external --add-forward-port=port=443:proto=tcp:toaddr=192.168.2.10

验证:
外网服务器访问
firefox https://100.1.1.10

3、使用富规则实现端口转发
新申请的公网地址100.1.1.15配置在网关服务器的外网接口ens33上
在网关服务器上配置:
vim /etc/*/*/*ens33
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=ens33
UUID=95692582-d4b6-4b10-bd94-79b64a0bb19e
DEVICE=ens33
ONBOOT=yes
IPADDR0=100.1.1.10
NETMASK=255.255.255.0
ZONE=external
IPADDR1=100.1.1.15
NETMASK=255.255.255.0

ifdown ens33
ifup ens33

ip addr查看
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:f7:c3:83 brd ff:ff:ff:ff:ff:ff
    inet 100.1.1.10/8 brd 100.255.255.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 100.1.1.15/8 brd 100.255.255.255 scope global secondary ens33
       valid_lft forever preferred_lft forever


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

数据库从删库到跑路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值