Ver Resposta Única
Antigo 22-06-2008, 05:04   #1 (permalink)
Padrão 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.
__________________
Mr. RG
Under-Linux.org Helper
 
Avatar de Mr. RG
 
Registrado em: Aug 2006
Localização: Andaraí - Bahia
Distribuição: Slackware
Posts: 1,174
Agradeceu: 6
Agradecido 318 vez(es) em 256 Posts
Reputação: 210 Mr. RG Mr. RG Mr. RG Mr. RG Mr. RG Mr. RG
Enviar mensagem via Skype para Mr. RG
Responder com Quote Mr. RG está offline  
Os seguintes 16 usuarios agradeceram a Mr. RG por este post:
admskill (24-06-2008), angelino (26-06-2008), Aprendiz (26-09-2008), ecarvalho (28-06-2008), EdilsonLSouza (18-07-2008), fafadinhu (22-06-2008), ivangalves (22-06-2008), jucielly (22-07-2008), mp3fm (31-10-2008), multlink (23-07-2008), NetoGO23 (23-07-2008), O-Ren (29-06-2008), phoenixassiste (28-06-2008), rodrigorso (23-06-2008), rogeriodj (22-06-2008), simprao (22-06-2008)