Ubuntu 服务器 16.10 运行 squid 作为透明桥接代理

Ubuntu 服务器 16.10 运行 squid 作为透明桥接代理

我真心希望你们中的一些人能够好心地花一些时间来帮助我。

我们一群人(110-170)共用一个低带宽卫星互联网连接。为了优化用户体验,我决定制作一个 Web 缓存代理。我对使用代理进行任何类型的过滤/限制不感兴趣,我只想使用它来缓存网站、Windows 更新等。我决定使用 squid 作为我们的代理服务器,但我遇到了一些问题。

这是我们的设置/配置:

首先我安装ebtables桥梁工具使用 apt-get

然后我编辑了/etc/网络/接口文件看起来像这样:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

然后我在 /etc/rc.local 中创建了一个 rc.local 文件,以便进行透明桥接配置并将流量路由到 squid。

我的 rc.local 文件:

#!/bin/sh -e

brctl addbr br
ifconfig eno1 0.0.0.0 promisc up
ifconfig enp1s10 0.0.0.0 promisc up
brctl addif br0 eno1
brctl addif br0 enp1s10
ip link set br0 up
ip addr add 10.234.124.4/24 brd + dev br0
route add default gw 10.234.124.200 dev br0

ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 80 -j redirect --redirect-target ACCEPT
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 8080

然后我安装了 squid3。这里就是地狱之门!经过大量测试后,我最终得到了这个 squid.conf 文件:

cache allow all
maximum_object_size 6 GB
cache_dir ufs /media/squid/cache 180000 16 256
cache_mem 2 GB
http_port 8080 transparent
http_access allow all

结果是,一些 http 网站加载正常,并在客户端电脑上正确显示。我可以在 /var/log/squid/access.log 中看到 squid 正在尝试缓存网站,但我不确定这些网站是否被缓存。其他 http 网站(如 cnn.com 和许多其他网站)只是继续加载,而从不显示该网站。

以下是一个例子/var/log/squid/access.log在两个无法加载的网站上:

1480732656.840   2142 10.234.124.6 TCP_MISS/301 326 GET http://apple.com/ - ORIGINAL_DST/17.178.96.59 text/html
1480706099.842   1973 10.234.124.6 TCP_MISS/301 550 GET http://cnn.com/ - ORIGINAL_DST/151.101.0.73 -

下面是一个可以正常加载的网站 (rejseplanen.dk) 上的示例:

1480733410.130   4287 10.234.124.6 TCP_MISS/200 28485 GET http://www.rejseplanen.dk/bin/query.exe/mn - ORIGINAL_DST/193.28.147.146 text/html
1480733412.222   1765 10.234.124.6 TCP_MISS/200 713 GET http://eas8.emediate.eu/eas? - ORIGINAL_DST/159.8.209.69 application/x-javascript
1480733412.222   1763 10.234.124.6 TCP_MISS/200 713 GET http://eas8.emediate.eu/eas? - ORIGINAL_DST/159.8.209.69 application/x-javascript
1480733414.456   1826 10.234.124.6 TCP_MISS/200 1058 GET http://gadk.hit.gemius.pl/_1480733148946/rexdot.js? - ORIGINAL_DST/178.32.205.234 application/x-javascript

我已经开始对这个问题感到困惑了。我真的希望你们能帮助我。

相关内容