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)

本文链接 https://yanbin.blog/linux-iptables-transparent-proxy/, 来自 隔叶黄莺 Yanbin Blog

[版权声明] Creative Commons License 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

Subscribe
Notify of
guest

2 Comments
Inline Feedbacks
View all comments
shell
shell
6 years ago

你连什么叫透明代理都不知道.....