Página 1 de 7 123456 ... ÚltimoÚltimo
+ Responder ao Tópico



  1. #1

    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.

  2. #2

    Padrão

    Amigo qual a vantagem de possui um proxy paralelo utilizando a conexão de internet do MK?
    Não seria mais viavel se o proxy em linux tivesse uma conexão com a internet independente do MK?

  3. #3

    Padrão

    Grande Mr. RG., muito bom mesmo sua explicação, será muito proveitoso pra muitos aqui no forum, inclusive para mim.
    Valeu por compartilhar um pouco do seu conhecimento!!!

  4. #4

    Padrão

    /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
    ____________________________________________________________________________
    ■ 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

    Ok amigo, amanha vou fazer isso, mais ja estou com duvidas, rsrsrs: nao consigo entender qual ip devo colocar no dst-address nesse seu exemplo vc colocou os ips das interfaces diferentes do dst-address (192.168.1.4) pq? E "in-interface=network" seria interface=rede? Me desculpa to começando agora a mexer com isso e tenho muito que aprender...
    Última edição por simprao; 22-06-2008 às 20:16.

  5. #5

  6. #6

  7. #7

    Padrão

    pode crer Mr.MG, vc é punk mesmo cara sempre ajudando a galera e tendo iniciativas como essa. parabens mesmo!!!!

  8. #8

    Padrão

    Citação Postado originalmente por fafadinhu Ver Post
    Amigo qual a vantagem de possui um proxy paralelo utilizando a conexão de internet do MK?
    Não seria mais viavel se o proxy em linux tivesse uma conexão com a internet independente do MK?

    Faço da pergunta do amigo, a minha...também quero saber?

  9. #9

    Padrão

    Citação Postado originalmente por fafadinhu Ver Post
    Amigo qual a vantagem de possui um proxy paralelo utilizando a conexão de internet do MK?
    Não seria mais viavel se o proxy em linux tivesse uma conexão com a internet independente do MK?
    Citação Postado originalmente por kryseck Ver Post
    Faço da pergunta do amigo, a minha...também quero saber?

    Olá amigos,
    Vou só descrever uma vantagem para vocês:

    Imaginem que vocês querem um servidor proxy-linux, pois o do mikrotik ainda não tem um desempenho igual ao do linux, e tem a necessidade de acessar remoto-externamente a sua rede. Seria vantagem ter o linux na frente do mikrotik ou em paralelo?

  10. #10

    Padrão

    Citação Postado originalmente por Mr. RG Ver Post
    Olá amigos,
    Vou só descrever uma vantagem para vocês:

    Imaginem que vocês querem um servidor proxy-linux, pois o do mikrotik ainda não tem um desempenho igual ao do linux, e tem a necessidade de acessar remoto-externamente a sua rede. Seria vantagem ter o linux na frente do mikrotik ou em paralelo?
    Quero saber vantagem em desempenho, pois minha rede está crescendo, então estou na dúvida se coloco o proxy-linux em paralelo ou em paralelo mas com 2 ethernet uma recebendo direto internet com ip public e outra para o MK ?

    Desde já agradeço a atenção do colega Mr. RG.

  11. #11

    Padrão

    Citação Postado originalmente por kryseck Ver Post
    Quero saber vantagem em desempenho, pois minha rede está crescendo, então estou na dúvida se coloco o proxy-linux em paralelo ou em paralelo mas com 2 ethernet uma recebendo direto internet com ip public e outra para o MK ?

    Desde já agradeço a atenção do colega Mr. RG.
    Claro amigo,
    Se você tem mais de um ip válido, pode sim usar para o linux, da forma descrita é em caso de apenas um ip públic.

  12. #12

    Padrão

    Citação Postado originalmente por Mr. RG Ver Post
    Claro amigo,
    Se você tem mais de um ip válido, pode sim usar para o linux, da forma descrita é em caso de apenas um ip públic.
    De acordo com sua experiência em proxy, tem desempenho melhor de qual forma?

    Outra coisa...vi em alguns tópicos pelo fórum, N dicas das configs do squid, tipo de arquivo q o squid usa ou trata ele não lembro bem como um tal de "diskd"...
    Tem fundamento tudo isso?

    Desculpa pelas perguntas, mas sou um pouco leigo em squid no linux.
    Última edição por kryseck; 24-06-2008 às 19:10.

  13. #13

    Padrão

    Citação Postado originalmente por kryseck Ver Post
    De acordo com sua experiência em proxy, tem desempenho melhor de qual forma?

    Outra coisa...vi em alguns tópicos pelo fórum, N dicas das configs do squid, tipo de arquivo q o squid usa ou trata ele não lembro bem como um tal de "diskd"...
    Tem fundamento tudo isso?

    Desculpa pelas perguntas, mas sou um pouco leigo em squid no linux.
    Não sei se o amigo já observou aqui no forum alguns amigos falando sobre lentidão do webproxy em certos momentos, isto se dá porque o proxy do mikrotik ainda não é 100% estável.

    Você pode configurar o squid da maneira que lhe convir. Postei uma maneira bem simples do squid. As outras maneiras que os amigos falam são mais avançadas, sendo assim, melhor para uso. Quanto melhor for a configuração do seu cache-squid, melhor será o desempenho do seu provedor.

  14. #14

    Padrão

    Valew Mr. RG !
    Vou estudar mais e fazer um linux proxy-squid em paralelo com o meu MK principal.

  15. #15

    Padrão

    Amigo Mr. RG, agradeço novamente suas explicaçoes e até que enfim consegui fazer funcionar o Proxy paralelo, mais ainda existem duvidas. Ex: faço um donwload por exemplo msn, vou em outra maquina da rede e faço novamente esse download, pelo que parece ele nao "pega o arquivo do debian e sim da internet novamente. O trafico da "Internet" sempre está ativo tanto no 1° donwload qto no 2° como se estivesse novamente pegando o arquivo da internet, mais o trafico do "Proxy" tmb nos 2 donwloads esta ativo. Queria saber se há uma forma mais eficaz de testar "na pratica" se o Proxy Debian está funcionando?
    Agradeço novamente...

  16. #16

    Padrão

    Citação Postado originalmente por simprao Ver Post
    ...
    Queria saber se há uma forma mais eficaz de testar "na pratica" se o Proxy Debian está funcionando?
    ...
    Observe na pasta de cache do squid se está realmente armazenando os arquivos.

  17. #17

    Padrão

    opa galera, eu queria saber se nos logs do squid no linux qual ip aparece, se todos aparecem com o ip do servidor, ou se aparece o ip do cliente como no mikrotik.

    web-proxy,debug,packet 1214364140.519 19 192.168.16.25 TCP_IMS_HIT/304 216 GET http://www.bb.com.br/docs/home/inst/...ntaPessoal.gif - NONE/- image/gif in 24-Jun 23:22:27.75 from 192.168.10.1


    ai no caso aparece o ip 192.168.16.25 que é de um cliente meu, no caso de aparecer o ip do servidor, como a gente faz para aparecer o ip do cliente? a justiça agora vai obrigar os provedores a guardarem os logs dos clientes por 3 anos e precisamos guarda o ip real dos clientes, como fazemos? abraços!!!

  18. #18

    Padrão

    Citação Postado originalmente por Mr. RG Ver Post
    Observe na pasta de cache do squid se está realmente armazenando os arquivos.
    Bom dia amigo, vc pode me passar o comando pra eu poder vericar se existe arquivos no debian?

  19. #19

    Padrão

    Citação Postado originalmente por iuredaluz Ver Post
    opa galera, eu queria saber se nos logs do squid no linux qual ip aparece, se todos aparecem com o ip do servidor, ou se aparece o ip do cliente como no mikrotik.

    web-proxy,debug,packet 1214364140.519 19 192.168.16.25 TCP_IMS_HIT/304 216 GET http://www.bb.com.br/docs/home/inst/...ntaPessoal.gif - NONE/- image/gif in 24-Jun 23:22:27.75 from 192.168.10.1


    ai no caso aparece o ip 192.168.16.25 que é de um cliente meu, no caso de aparecer o ip do servidor, como a gente faz para aparecer o ip do cliente? a justiça agora vai obrigar os provedores a guardarem os logs dos clientes por 3 anos e precisamos guarda o ip real dos clientes, como fazemos? abraços!!!
    Olá amigo,

    Acho que o dude ou o syslog pode pegar os logs no proprio mikrotik já que o mesmo irá armazenar os logs em memória.

  20. #20

    Padrão

    Citação Postado originalmente por simprao Ver Post
    Bom dia amigo, vc pode me passar o comando pra eu poder vericar se existe arquivos no debian?
    Deve-se observar isto:

    #Localizacao do diretorio do cache
    cache_dir ufs /var/spool/squid/ 2048 16 256

    # Localizacao do log de acesso do Squid
    cache_access_log /var/log/squid/access.log