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.