首页 > 代码库 > DMZ主机实现

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

  

DMZ主机实现