Detalhando proxy paralelo com o linux
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
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
Note: É altamente recomendável verificar se o squid está mesmo sendo executado.
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.
o meu fica sem controle de banda
pessoal o negocio meu é o seguinte, eu consigo redirecionar e todos os meus clientes conseguem navegar, porem perco o controle de banda, ou seja, o pessoal fica sem controle fazendo downloads da velocidade do meu link e não do link que setei na no queues que esta setado na interface all. Poderiam me dar uma ajuda, o meu também configurei igual esta no tutorial, porem uso ip+mac não uso hotspot e nem pppoe. uso o mk versão 2.9.6
obrigado