为 LAN 运行透明代理,为 WAN 运行 Web 服务器

为 LAN 运行透明代理,为 WAN 运行 Web 服务器

我在家中的 Arch Linux 服务器上运行 LAMP 堆栈,并且我的路由器防火墙端口 80 向全世界开放。

最近,我决定设置一个 dansguardian 透明代理来为我的孩子做一些网络过滤。

我的局域网内一切正常。

然而,在检查 dansguardian 日志时,我注意到我的家已成为中国 IP 地址的代理。显然,我的 iptables 设置允许将端口 80 上传入的请求发送到我的 LAN dansguardian 设置!

我现在已经关闭了 80 端口,但我想继续运行我的主页网站。我需要设置 iptables 来通过 dansguardian 透明代理 LAN http 请求,但不代理端口 80 上的传入请求。

这是 iptables-save 的输出:

# Generated by iptables-save v1.4.18 on Tue May 20 18:51:46 2014
*filter
:INPUT ACCEPT [99752358:83925475634]
:FORWARD ACCEPT [1137723:181159087]
:OUTPUT ACCEPT [57478321:118350587619]
COMMIT
# Completed on Tue May 20 18:51:46 2014
# Generated by iptables-save v1.4.18 on Tue May 20 18:51:46 2014
*nat
:PREROUTING ACCEPT [3362634:253695591]
:INPUT ACCEPT [3450241:258605740]
:OUTPUT ACCEPT [3451732:250709703]
:POSTROUTING ACCEPT [3492061:253533144]
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 9809
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue May 20 18:51:46 2014

更新:找到可能的解决方案

这看起来正在工作:

从:

https://help.ubuntu.com/community/DansGuardian

sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --uid-owner proxy -j ACCEPT
sudo iptables -t nat -A OUTPUT -p tcp --dport 3128 -m owner --uid-owner proxy -j ACCEPT
sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080
sudo iptables -t nat -A OUTPUT -p tcp --dport 3128 -j REDIRECT --to-ports 8080

相关内容