Olá pessoal,
Hoje eu vou detalhar como configurar o proxy paralelo ao squid linux, tema que vem deixando muita gente com dúvidas.
Note: O material disposto aqui é auto explicativo. Definirei por passos.
Créditos: Adaptação do material Linux: Proxy em paralelo com o mikrotik [Artigo]
Vamos dar início ao material.
Note: Neste servidor contém 3 placas de rede.
Passo 1:
■ Como de costume, eu nomeio as interfaces:
/interface set ether1 name=internet
/interface set ether2 name=rede
/interface set ether3 name=linux
Passo 2:
■ Ajustar os ips das interfaces:
/ip address add address=200.221.4.2/30 interface=internet
/ip address add address=10.10.1.1/24 interface=rede
/ip address add address=15.15.0.1/30 interface=linux
Passo 3:
■ Ajustar o gateway:
/ip route add gateway=200.221.4.1
Passo 4:
■ Ajustar o dns:
/ip dns set primary-dns=200.221.4.1
/ip dns static add name="DNS Clientes" address=10.10.1.1
/ip dns static add name="DNS Linux" address=15.15.0.1
Passo 5:
■ Compartilhar à internet com o linux e os clientes:
/ip firewall nat add chain=srcnat src-address=10.10.1.0/24 action=masquerade comment="Masquerade para rede mikrotik-cliente"
/ip firewall nat add chain=srcnat src-address=15.15.0.0/30 action=masquerade comment="Masquerade para a rede mikrotik-linux"
Passo 6:
■ Configurar o web-proxy:
/ip web-proxy set port=3127 hostname=proxy transparent-proxy=yes
parent-proxy=15.15.0.2 cache-administrator=webmaster cache-drive=system max-cache-size=none max-ram-cache-size=unlimited enabled=yes max-object-size=4096
Note: O parent proxy port terá que ser setado pelo winbox para 3128 ou porta que você configurar no squid.conf.
Passo 7:
■ Redirecionar a rede mikrotik-clientes para o proxy:
/ip firewall nat chain=dstnat in-interface=network src-address=10.10.1.0/24 dst-address=!192.168.1.4 protocol=tcp dst-port=80 action=redirect to-ports=3127
Note: A parte destacada acima indica que toda rede 10.10.1.0/24 com destino à... pela porta 80 será redirecionada para o proxy exceto o ip da interface de internet. Isto se dá porque você poderá acessar o seu servidor ou outro aparelho na rede remotamente e ser redirecionado para o proxy.
Passo 8:
■ Permitir e bloquear acesso ao web-proxy:
/ip web-proxy access add src-address=10.10.1.0/24 action=allow comment="permite acesso para rede"
/ip web-proxy access add action=deny comment="bloqueia acesso de outras redes"
Passo 9:
■ Bloquear acesso externo ao proxy:
/ip firewall filter add chain=input dst-address=192.168.1.4 protocol=tcp dst-port=3127 in-interface=internet action=drop
Passo 10:
■ Configurar conexão no linux:
# ifconfig eth0 15.15.0.2 netmask 255.255.255.0 up
# route add default gw 15.15.0.1
Passo 11:
■ Compartilhar conexão:
# modprobe iptable_nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Note: Isto não é necessário, mas por via das dúvidas, melhor aplicar.
Bônus:
■ squid.conf
Note: É altamente recomendável verificar se o squid está mesmo sendo executado.Código :# CONFIGURACAO DO SQUID LINUX PARALELO AO MIKROTIK #por Raniel Guimaraes [Mr. RG] http_port 3128 transparent visible_hostname server # Configuracao do cache cache_mem 32 MB maximum_object_size_in_memory 64 KB maximum_object_size 512 MB minimum_object_size 0 KB cache_swap_low 90 cache_swap_high 95 cache_dir ufs /var/spool/squid/ 2048 16 256 # Localizacao do log de acesso do Squid cache_access_log /var/log/squid/access.log refresh_pattern ^ftp: 15 20% 2280 refresh_pattern ^gopher: 15 0% 2280 refresh_pattern . 10 20% 2280 acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 901 # swat acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports # Libera para a rede local acl redelocal src 15.15.0.0/30 http_access allow localhost http_access allow redelocal # Bloqueia acesso externo http_access deny all
Considerações:
■ Este esquema foi aplicado com a seguinte disposição:
◘ mikrotik 2.9.27
◘ slackware linux
◘ squid 2.6 stable14
É isto aí... discutiremos ao decorrer do post.
Espero que tire algumas dúvidas.
Até mais.