配置firewalld防火墙

5案例5:配置firewalld防火墙
5.1 问题

本例要求为两个虚拟机server0、desktop0配置防火墙策略:

  1. 允许从172.25.0.0/24网段的客户机访问server0、desktop0的任何服务
  2. 禁止从my133.org域(172.34.0.0/24网段)的客户机访问server0、desktop0的任何服务
  3. 在172.25.0.0/24网络中的系统,访问server0的本地端口5423将被转发到80
  4. 上述设置必须永久有效
5.2方案

RHEL7的防火墙体系根据所在的网络场所区分,提供了预设的安全区域:

  • public:仅允许访问本机的sshd等少数几个服务
  • trusted:允许任何访问
  • block:阻塞任何来访请求
  • drop:丢弃任何来访的数据

  • 新增防火墙规则的位置包括:
  • 运行时(runtime):仅当前有效,重载防火墙后失效
  • 永久(permanent):静态配置,需要重载防火墙才能生效
    本地端口转发(端口1–>端口2):
  • 从客户机访问防火墙主机的端口1时,与访问防火墙的端口2时等效
  • 真正的网络应用服务其实在端口2提供监听
5.3步骤

实现此案例需要按照如下步骤进行。

步骤一:采取“默认全允许,仅拒绝个别”的防火策略

1)启用防火墙服务

[root@server0 ~]# systemctl  restart  firewalld
[root@server0 ~]# systemctl  enable  firewalld

2)将默认区域设置为trusted

[root@server0 ~]# firewall-cmd  --get-default-zone                 //修改前
public
[root@server0 ~]# firewall-cmd  --set-default-zone=trusted         //修改操作
success
[root@server0 ~]# firewall-cmd  --get-default-zone              //修改后
trusted

步骤二:封锁指定的IP网段

1)添加永久配置“阻塞来自网段172.34.0.0/24的任何访问”

[root@server0 ~]# firewall-cmd  --permanent  --zone=block  --add-source=172.34.0.0/24
success

2)重载防火墙

[root@server0 ~]# firewall-cmd  --reload
success

3)检查允许规则

[root@server0 ~]# firewall-cmd  --list-all  --zone=block
block
  interfaces: 
  sources: 172.34.0.0/24
  services: 
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules:

步骤三:实现5423–>80端口转发

1)针对80端口部署测试应用
快速搭建一个测试网站:

[root@server0 ~]# yum  -y  install  httpd                    //装包
.. ..
[root@server0 ~]# vim  /var/www/html/index.html              //部署测试网页
test site.
[root@server0 ~]# systemctl  restart  httpd                   //起服务

从客户端访问,确认测试页面;

[root@desktop0 ~]# yum  -y  install  elinks
.. ..
[root@desktop0 ~]# elinks  -dump  http://server0.example.com/
   test site.

2)配置5423–>80端口转发策略

[root@server0 ~]# firewall-cmd  --permanent  --zone=trusted  --add-forward-port=port=5423:proto=tcp:toport=80                              //添加永久配置
success
[root@server0 ~]# firewall-cmd  --reload                      //重载服务
Success
[root@server0 ~]# firewall-cmd  --list-all                  //确认运行时规则
trusted (default, active)
  interfaces: eth1 eth2 eth0 team0
  sources: 
  services: 
  ports: 
  masquerade: no
  forward-ports: port=5423:proto=tcp:toport=80:toaddr=
  icmp-blocks: 
  rich rules:

3)验证端口转发策略
从desktop0上访问server0的5423端口,与访问server0的80端口效果一样:

[root@desktop0 ~]# elinks  -dump  http://server0.example.com:5423/
   test site.
[root@desktop0 ~]# elinks  -dump  http://server0.example.com/
   test site.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值