透明代理和 IPTABLES

透明代理和 IPTABLES

我在 Fedora Core 11 机器上使用 PRIVOXY 作为透明代理。该机器有一个接口 (eth0),以下是网络配置:

10.0.1.1 - router.foobar.com(连接到 ISP)10.0.1.2 - proxy.foobar.com(代理)10.0.1.199 - DHCP 服务器

我已将 DHCP 中的默认网关选项设置为 10.0.1.2,因此所有流量的目的地都是 0.0.0.0/0应该通过它(和 10.0.1.1)到达互联网。

这是我的问题……我如何确保进出网络的流量遵循正确的路径,并且不会产生奇怪的路由问题。使用代理时,我看到一些延迟,但当我通过更改默认网关“直接”进入网络时,我看不到任何延迟。

这是我当前的 iptables conf 文件:

# Generated by iptables-save v1.4.3.1 on Fri Jul 30 17:02:45 2010
*nat
:PREROUTING ACCEPT [1565:151406]
:POSTROUTING ACCEPT [1467:94514]
:OUTPUT ACCEPT [768:48101]
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 
 COMMIT
# Completed on Fri Jul 30 17:02:45 2010
# Generated by iptables-save v1.4.3.1 on Fri Jul 30 17:02:45 2010
*filter
:INPUT ACCEPT [12764:10577001]
:FORWARD ACCEPT [3755:525228]
:OUTPUT ACCEPT [14364:12738086]
-A INPUT -i eth0 -p tcp -m tcp --dport 8080 -j ACCEPT 
COMMIT

我知道我错过了一些东西,我只是不知道是什么......我想我需要做一些类似的事情:

-A POSTROUTING -i eth0 -o eth0 -d 10.0.1.0/24 --SNAT 10.0.1.1

答案1

10.0.0.2 上的默认网关必须是 10.0.0.1,/proc/sys/net/ipv4/ip_forward并且必须是 1,而不是 0。

还要记住,privoxy 是一个代理,它可以增加一些延迟。

相关内容