Linux 下仅用 iptables 实现为透明代理服务器

在网上 Google/Baidu  一下 “iptables 代理服务器” 多是讲的 iptables 结合 Squid 来实现透明代理的,用 iptables 把请求转发到 Squid  的代理端口上的,由于 Squid 有其局限性,不能支持 POP3、SMTP 和 P2P 协议。所以想在不影响多数人上网方式,集中控制的情况下,给自己单独开个小灶,用 iptables 在代理服务器上另辟一条溪径。

代理服务器有两网卡:

eth0 10.1.0.1  连接内部的网卡
eth1 202.x.x.x       能上互联网的网卡

建立脚本,比如 /usr/local/transparent_proxy.sh,内容如下:

脚本用 chmod 改为可执行,然后执行这个脚本,还要确保 iptables 服务是启动了的。用 service iptables start 启动 iptables 服务。乐意的话你还可以把执行这段脚本的命令写到自启动脚本中,如 /etc/init.d/rc.local,注意不用的 Linux 发行版可能自启动脚本不一样的。

然后在客户机上设置网关和 DNS 为这台代理服务器 10.1.0.1 即可。OK,现在浏览器等各个软件都可以不用设置代理服务器了,协议也不受限制了。

参考:1. 在ubuntu下配置代理服务器(iptables)

类别: Linux/Unix. 标签: , , . 阅读(3,269). 订阅评论. TrackBack.

Leave a Reply

Be the First to Comment!

avatar