这两天公司上了个破系统,系统里有个配置文件,是用来获取系统内视频的IP地址,不能使用域名来获取,而且还得是公网IP地址,实在给我折腾了一把。。。

使用公网IP,外网是可以访问了,可是我内部的网络怎么去访问呢?难道还绕一圈出去再访问回来?这也忒不合理了。

幸好用是的Linux+Squid+Iptables做的网关,很强大的说,呵呵

Iptables两天规则搞定

PREROUTING -s 私网网段 -d 公网IP -j DNAT --to-destination 服务器私网地址

POSTROUTING -s 192.私网网段 -d 服务器私网地址 -j SNAT --to-source 网关(我Linux内网卡地址)

第一条的意思就是只要是从(私网网段)这个地址段内 访问目的地址是(公网IP)的所有数据包,变更目的地址为(私网服务器地址),这样就变成了 私网地址 访问 私网地址

然后接着第二条,所有 源地址为 私网地址 目的地址为 服务器私网地址 的数据包,变更源地址为 网关IP地址;

这样一来所有的数据都只在我Linux内部处理了,不会占用那可怜的外网带宽了,呵呵。

最后别忘了把转发打开