servidor Ubuntu 16.10 executando o squid como um proxy bridget transparente

2

Eu realmente espero que alguns de vocês possam ser tão gentis em usar algum tempo para me ajudar.

Somos um bando de pessoas (110-170) que compartilham uma conexão de satélite de baixa largura de banda com a Internet. Para otimizar a experiência do usuário, resolvi criar um proxy de armazenamento em cache da web. Eu não estou interessado em fazer qualquer tipo de filtragem / restrições com o proxy, eu só quero usá-lo para cache de sites, atualizações do Windows etc. Eu decidi usar o squid como nosso servidor proxy, mas estou tendo alguns problemas.

Aqui está nossa configuração / configuração:

Primeiro de instalar ebtables e bridge-utils com o apt-get

Eu editei o arquivo / etc / network / interfaces para ficar assim:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

Então eu criei um arquivo rc.local em /etc/rc.local, para fazer uma configuração de ponte transparente e rotear o tráfego para o squid.

Meu arquivo 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

Então eu instalei o squid3. Aqui é onde o inferno se soltou! depois de muito teste acabei com este arquivo 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

O resultado é que alguns sites http carregam bem e são mostrados corretamente no PC do cliente. Eu posso ver em /var/log/squid/access.log que o squid está tentando armazenar em cache o site, mas não tenho certeza se os sites são armazenados em cache. Outros sites http como cnn.com e muitos outros sites continuam carregando e nunca mostram o site.

Aqui está um exemplo de /var/log/squid/access.log em dois sites que não serão carregados:

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 -

E aqui está um exemplo em um site que carrega bem (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

Eu comecei a ficar cego neste problema. Eu realmente espero que qualquer um de vocês possa me ajudar.

    
por Wilm 03.12.2016 / 04:00

0 respostas