我终于能够使用squid将我的Ubuntu 10.04服务器设置为透明代理。 它和我想要的完全一样,但是我有一个严重的问题
在两个以太网卡上,我有机会上网(两个不同的isps),但我希望这台服务器只使用eth1来提供所有的networking请求。
因此,最终的scheme将使用eth0来收集所有传入的代理请求,让鱿鱼使用eth1上的超高速连接从互联网收集信息。
问题是,我有一个防火墙连接到eth0:这个防火墙允许分支机构使用wifi桥代理。
为了确保分支机构和代理之间的通信,我不得不在eth0上设置默认网关,我的防火墙很遗憾也提供了互联网连接(但速度很慢)。 Squid完全使用eth0来收集请求并从互联网上获取数据。
我不能设置一个独特的正确的默认网关,因为在这种情况下,我不会使用无线网桥将数据包发送回我们的分支机构。
我希望我已经更清楚了一点,我为自己可怜的博览会感到抱歉。
我的实际路线显示:
Kernel IP routing table` Destination Gateway Genmask Flags Metric Ref Use Iface 193.206.xx * 255.255.255.0 U 0 0 0 eth1 128.0.xx * 255.255.0.0 U 0 0 0 eth0 default 128.0.xx 0.0.0.0 UG 100 0 0 eth0 default 193.206.xx 0.0.0.0 UG 100 0 0 eth1
任何提示?
如果您需要任何forms的细节,我会发布。
从命令提示符处:
sudo route add default gw ipadd.ress eth1
然后,在/etc/network/interfaces中添加以下行:
up route add default gw ipadd.ress eth1
当然,用两个线路中的网关IPreplaceipadd.ress 。
如果您需要删除路线,只需将“添加”更改为“del”。 例:
(command) sudo route del default gw 128.0.xx eth0 (/etc/network/interfaces) up route del default gw 128.0.xx eth0
您也可以通过route命令为分支机构设置静态路由
route add -net (network_id/prefix) GW (gateway) (interface)
你有两个问题:首先,你需要使鱿鱼使用正确的源IP地址。 其次,您需要确保将具有该源IP地址的数据包导向到正确的网关(源路由)。
第一个问题是一个鱿鱼问题。 您可以使用Squid的tcp_outgoing_address将源IP地址设置为正确的IP地址。
tcp_outgoing_address 128.0.xx
第二个问题是系统configuration问题。 您不想将包含128.0.xx源地址的数据包发送到193.206.xx网关,反之亦然。 这被称为source routing并与iptables完成。
更复杂的方法是有两个路由表。 一个用于128.0.xx源地址的数据包,并且有一个到128.0.xx网关的默认路由。 反之亦然。 http://wlug.org.nz/SourceBasedRouting