基础防火墙策略

来源:互联网 发布:知已知彼什么意思 编辑:程序博客网 时间:2024/06/16 21:25
  1. 基于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. 测验

    用内网去访问外网,可以

    用外网访问内网,不可以

    1. 基于SNAT的防火墙策略

原理:基于源ip地址的网络地址转发。局域网通过防火墙访问外网的时候,会通过地址转发,把局域网的Ip转换成和外网同样的网段,这样外网和局域网在一个网段了,就不需要设置网关了。

上图为内网访问外网的转发路径,当内网为192.168.58.170要访问172.17.0.200时,防火墙会把192.168.58.170转换成172.17.0.102,再去访问外网。这就是SNAT。

具体实现:

  1. 检查外网是否设置网关,若有,删除,因为不需要网关,由图看出172.17.0.102和172.17.0.200是在一个网段。关闭之前的防火墙策略,防止实验失败。

    删除网关:route del default gw 172.17.0.102

    关闭之前的防火墙:iptables –F FORWARD

  2. 配置防火墙策略

    iptables -t nat -A POSTROUTING -s 192.168.58.170/24 -j SNAT --to-source 172.17.0.200

  3. 测试

    使用内网直接去连接外网

    ping 172.17.0.200

    1. 基于DNAT的防火墙策略

原理:基于目的ip的网络地址转发。和SNAT正好相反,外网通过防火墙的ip转发,能够访问内网。

步骤:

  1. 打开httpd服务,外网,防火墙,和内网的httpd服务。
  2. 删除之前的防火墙策略

    iptables –t nat –F POSTROUTING

  3. 配置防火墙策略

    iptables -t nat -A PREROUTING -d 172.17.0.102 -p tcp --dport 80 -j DNAT --to-destination 192.168.58.170:80

  4. 测试

    使用外网访问防火墙ip,防火墙会转至内网Ip.下图为内网的html界面,是通过防火墙转到得。

    1. 基于REDIRECT的端口转发

      原理:假设本机没有80端口,当外来主机要访问本机的80端口时,默认使其访问8080端口,就是默认转至本机的8080端口。

      步骤:

      1. 准备工作:查看有无80端口,若有,则改为8080,为实验的需要。

        vim /etc/httpd/conf/httpd.conf

        listen 8080

        之后重启httpd服务即可。

        查看8080端口:

      2. 配置防火墙策略

        清空之前的策略:

        iptables -t nat -F PREROUTING

        配置新的策略:

        iptables -t nat -A PREROUTING -d 172.17.0.102 -p tcp --dport 80 -j REDIRECT --to-ports 8080

      3. 测试

        在另外一台主机测试访问本主机的80端口,看是否会转至8080端口

原创粉丝点击