首先Linux可以使用iptables作为数据转发

有2个网卡:

WAN:192.168.1.100(eth1)

LAN:172.16.1.1(eth0)



1.修改/etc/sysctl.conf

将net.ipv4.ip_forward = 0修改成1

然后保存退出执行sysctl -p立即生效


2.清空iptables

iptables -F

iptables -t nat -F

iptables -t mangle -F


iptables -P INPUT DROP

#拒绝所有输入的数据

iptables -P OUTPUT ACCEPT

#接受所有传出的数据

iptables -P FORWARD ACCEPT

#接受所有转发的数据

iptables -A INPUT -s 172.16.1.0/24 -j ACCEPT

#开放172.16.1.0段IP的访问权限


iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to 192.168.1.100

#执行数据转发

service iptables save

service iptables restart


综上,上述情况WAN口的IP是固定的,如果我们使用的是ADSL动态IP上网的话就可以写成:

iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth1 -j MASQUERADE