[拓扑] 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
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/6758.html