码迷,mamicode.com
首页 > 其他好文 > 详细

基础防火墙策略

时间:2017-11-02 17:04:04      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:分享   重启   直接   /etc/   --   返回   etc   工作   tin   

一、基于NAT的防火墙策略

原理:通过配置防火墙策略,实现内网可以通过防火墙访问外网,外网不能主动访问内网,保证了局域网的安全性。

技术分享

上图为本次实验的简略图。

准备工作:外网设为桥接模式,内网设为仅主机模式,防火墙两个模式都有。

步骤:

  1. 首先把所有的不必要的防火墙策略关闭,以防止实验出现失误。

    Centos6版本关闭防火墙:iptables –F

    Centos7版本关闭防火墙:systemctl stop firewalld,iptables –F

  2. 配置网关

    外网要想访问内网,必须经过路由,所以要配置网关,这里防火墙担当路由的功能。相同的,内网也要配置网关。

    在这里internet配置网关:route add default gw 172.17.0.102

    内网配置网关:route add default gw 192.168.58.161

  3. 配置防火墙策略

    iptables -A FORWARD -s 192.168.58.170/24 -d 172.17.0.200/16 -m state --state NEW -j ACCEPT

    iptables -I FORWARD -m state --state ESTABLISHED -j ACCEPT

    iptables -A FORWARD -j REJECT

    以上要配置三条防火墙策略,原因是:第一条配置的是允许内网先发起第一次请求访问外网,第二条配置的是允许已建立的连接返回,第三条配置的是拒绝所有的连接,这三条的顺序是2、1、3,这样的顺序是遵照防火墙的规则,范围小的排在上面。

  4. 测验

    用内网去访问外网,可以

    技术分享

    用外网访问内网,不可以

    技术分享

二、基于SNAT的防火墙策略

  1. 原理:基于源ip地址的网络地址转发。局域网通过防火墙访问外网的时候,会通过地址转发,把局域网的Ip转换成和外网同样的网段,这样外网和局域网在一个网段了,就不需要设置网关了。
  2. 技术分享
  3. 上图为内网访问外网的转发路径,当内网为192.168.58.170要访问172.17.0.200时,防火墙会把192.168.58.170转换成172.17.0.102,再去访问外网。这就是SNAT。
  4. 具体实现:
  5. 检查外网是否设置网关,若有,删除,因为不需要网关,由图看出172.17.0.102和172.17.0.200是在一个网段。关闭之前的防火墙策略,防止实验失败。
  6. 删除网关:route del default gw 172.17.0.102
  7. 关闭之前的防火墙:iptables –F FORWARD
  8. 配置防火墙策略
  9. iptables -t nat -A POSTROUTING -s 192.168.58.170/24 -j SNAT --to-source 172.17.0.200
  10. 测试
  11. 使用内网直接去连接外网
  12. ping 172.17.0.200

三、基于DNAT的防火墙策略

  1. 原理:基于目的ip的网络地址转发。和SNAT正好相反,外网通过防火墙的ip转发,能够访问内网。
  2. 技术分享
  3. 步骤:
  4. 打开httpd服务,外网,防火墙,和内网的httpd服务。
  5. 删除之前的防火墙策略
  6. iptables –t nat –F POSTROUTING
  7. 配置防火墙策略
  8. iptables -t nat -A PREROUTING -d 172.17.0.102 -p tcp --dport 80 -j DNAT --to-destination 192.168.58.170:80
  9. 测试
  10. 使用外网访问防火墙ip,防火墙会转至内网Ip.下图为内网的html界面,是通过防火墙转到得。
  11. 技术分享

四、基于REDIRECT的端口转发

  1. 原理:假设本机没有80端口,当外来主机要访问本机的80端口时,默认使其访问8080端口,就是默认转至本机的8080端口。
  2. 步骤:
  3. 准备工作:查看有无80端口,若有,则改为8080,为实验的需要。
  4. vim /etc/httpd/conf/httpd.conf
  5. listen 8080
  6. 之后重启httpd服务即可。
  7. 查看8080端口:
  8. 技术分享
  9. 配置防火墙策略
  10. 清空之前的策略:
  11. iptables -t nat -F PREROUTING
  12. 配置新的策略:
  13. iptables -t nat -A PREROUTING -d 172.17.0.102 -p tcp --dport 80 -j REDIRECT --to-ports 8080
  14. 测试
  15. 在另外一台主机测试访问本主机的80端口,看是否会转至8080端口
  16. 技术分享

基础防火墙策略

标签:分享   重启   直接   /etc/   --   返回   etc   工作   tin   

原文地址:http://www.cnblogs.com/lilinlin/p/7772803.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!