DMZ主机实现

[拓扑]
    1.三宿主机
        eth0 : 212.75.218.2
        eth1 : 192.168.1.253/24
        eth1 : 192.168.1.254/24

    2.外网主机
        eth0 : 212.74.218.1

    3.内网客户端 (可以有很多,测试用一台)
        eth0 : 192.168.1.51/24

    4.内网服务器 (可以有很多,测试用一台)
        eth0 : 192.168.1.1/24
[配置]
    [三宿主机]
        1.linux server 当作防火墙来用,停掉所有的服务,将iptables默认策略设置为DROP
            iptable -P INPUT DROP
            iptable -P OUTPUT DROP
            iptable -P FORWARD DROP

        2.打开linux转发
            echo 1 > /proc/sys/net/ipv4/ip_forward

        3.添加路由表(默认有可以不用添加)
            route add -host 192.168.1.51 dev eth2
            route add -host 192.168.1.1 dev eth1

        4.添加目标地址转换(设置外网访问内网服务器)
            iptable -t nat -A PREROUTING -d 212.75.218.2 -t tcp --dport 80 -j DNET --to-destination 192.168.1.1:80 // 目标地址转化
            iptable -A FORWARD -d 192.168.1.1 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT // 数据包流入192.168.1.1设置为accept
            iptable -A FORWARD -s 192.168.1.1 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT // 数据包从192.168.1.1流出设置为accept
            //此时外网可以访问212.75.218.2会访问内网192.168.1.1的服务器 只限与tcp类型

        5.设置内网客户端访问外网
            iptable -t nat -A POSTROUTING -s 192.168.1.51 -p tcp -m state --state NEW,ESTABLISHED -j SNET --to-source 212.75.218.2 // 伪装成外网地址访问
            iptable -A FORWARD -s 192.168.1.51 -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT // 添加内网用户端留出数据包设置为接受
            iptable -A FORWARD -d 192.168.1.51 -p tcp -m state --state ESTABLISHED -j ACCEPT // 内网客户端请求数据包流会设置为accept
            // 此时内网客户段可以访问外网数据了 只限与tcp类型


    [内网客户端]
        1.设置ip地址
            ifconfig eth0 192.168.1.51/24 up
        2.添加网关
            route add default gw 192.168.1.254

    [内网服务器]
        1.设置ip地址
            ifconfig eth0 192.168.1.1/24 up
        1.添加网关
            route add default gw 192.168.1.253

  

posted @ 2014-09-21 00:57  arvim  阅读(1740)  评论(0编辑  收藏  举报