iptables学习 02 SNAT

来源:互联网 发布:淘宝网男长袖t恤 编辑:程序博客网 时间:2024/05/29 06:41

打开linux的转发功能。

 

iptables -P FORWARD DROP

将FORWARD链的策略设置为DROP,这样做的目的是做到对内网ip的控制,你允许哪一个访问internet就可以增加一个规则,不在规则中的ip将无法访问 internet

 

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

这条规则规定允许任何地址到任何地址的确认包和关联包通过。一定要加这一条,否则你只允许lan IP访问没有用,至于为什么,下面我们再详细说。

 

iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -j SNAT --to 60.1.1.1

这条规则做了一个 SNAT,也就是源地址转换,将来自10.1.1.0/24的地址转换为60.1.1.1

 

有这几条规则,一个简单的nat路由器就实现了。这时你可以将允许访问的ip添加至FORWARD链,他们就能访问internet了。

比如我想让 10.1.1.9这个地址访问internet,那么你就加如下的命令就可以了。

iptables -A FORWARD -s 10.1.1.9 -j ACCEPT

 

也可以精确控制他的访问地址,比如我就允许10.1.1.99访问3.3.3.3这个ip

iptables -A FORWARD -s 10.1.1.99 -d 3.3.3.3 -j ACCEPT


或者只允许他们访问 http端口。

iptables -A FORWARD -s 10.1.1.0/24 -p tcp --dport http -j ACCEPT