第一个里程碑:配置内网服务器,设置网关地址
/etc/init.d/iptables stop --- 内网服务器停止防火墙服务
ifdown eth0 --- 模拟关闭内网服务器外网网卡
setup --- 修改内网网卡网关和DNS地址信息
route add default gw 172.16.1.200
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
0.0.0.0 172.16.1.200 0.0.0.0 UG 0 0 0 eth1
说明:内网服务器网关地址指定为共享上网服务器内网网卡地址


第二个里程碑:配置共享上网服务器,开启共享上网服务器路由转发功能
[root@oldboyedu42-lnb-02 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 ---有0改为1 开启路由转发功能
[root@oldboyedu42-lnb-02 ~]# sysctl -p ---内核加载生效
net.ipv4.ip_forward = 1


第三个里程碑:配置共享上网服务器,实现内网访问外网的NAT映射
1.开启防火墙并设置访问策略
/etc/init.d/iptables start
iptables -F ---清空防火墙规则
iptables -X ---删除自定义链
iptables -Z ---清空计数器
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 10.0.0.0/24 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT
iptables -A INPUT -p icmp -s 10.0.0.0/24 -m icmp --icmp-type any -j ACCEPT
iptables -A INPUT -s 172.16.1.0/24 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
2.改变filte表中链的默认规则策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
3.利用nat表实现源地址转换,把内网ip映射成公网ip
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to- source 10.0.0.200
-s 172.16.1.0/24 --- 指定将哪些内网网段进行映射转换
-o eth0 --- 指定在共享上网哪个网卡接口上做NAT地址转换
-j SNAT --- 将源地址进行转换变更
-j DNAT --- 将目标地址进行转换变更
--to-source ip地址 --- 将源地址映射为什么IP地址
--to-destination ip地址 --- 将目标地址映射为什么IP地址


第四个里程碑:forward默认drop策略,需要配置filter表的forward链
iptables -A FORWARD -i eth1 -s 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -o eth0 -s 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -d 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -o eth1 -d 172.16.1.0/24 -j ACCEPT
iptables防火墙nat表实现共享上网规则策略实战