RHEL7的防火墙体系根据所在的网络场所区分,提供了预设的安全区域:
public 只容许访问本机的sshd等少数几个服务
trusted 容许任何访问
block 阻塞任何来访请求
drop 丢弃任何来访的数据包
新增防火墙规则的位置包括:
运行时(runtime):当前有效,重载防火墙后失效
永久(permanent):静态配置,需要重载防火墙才能生效
本地端口转发(端口1--->端口2):
从客户机访问防火墙主机的端口1时,与访问防火墙的端口2时等效
真在的网络应用服务其实在端口2提供监听
需求1:采取“默认全容许,只拒绝个别”的防护方法
[root@zhuhaiyan ~]# systemctl restart firewalld
[root@zhuhaiyan ~]# firewall-cmd --get-default-zone //默认区域
public
[root@zhuhaiyan ~]# firewall-cmd --set-default-zone=trusted //修改操作
success
[root@zhuhaiyan ~]# firewall-cmd --get-default-zone //修改号
trusted
需要2:封锁指定的IP网段
添加永久配置“阻塞来自网段172.34.0.0/24的任何访问,
[root@zhuhaiyan ~]# firewall-cmd --permanent --zone=block --add-source=172.34.0.0/24
success
[root@zhuhaiyan ~]# firewall-cmd --reload //重载防火墙
success
[root@zhuhaiyan ~]# firewall-cmd --list-all --zone=block //检查运行时规则
block (active)
target: %%REJECT%%
icmp-block-inversion: no
interfaces:
sources: 172.34.0.0/24
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
需求三:实现5423到80端口的转发
实现的效果时当客户利用端口5423访问的时候,默认转到服务器的80端口
[root@zhuhaiyan ~]# firewall-cmd --permanent --zone=trusted --add-forward-port=port=5423:proto=tcp:toport=80
success
[root@zhuhaiyan ~]# firewall-cmd --reload
success
[root@zhuhaiyan ~]# firewall-cmd --list-all
trusted (active)
target: ACCEPT
icmp-block-inversion: no
interfaces: eth0 eth1 eth2 team0
sources:
services:
ports:
protocols:
masquerade: no
forward-ports: port=5423:proto=tcp:toport=80:toaddr=
source-ports:
icmp-blocks:
rich rules: