Configuração Proxy

1. Configuração Proxy

Antonio Batalha
tonibatalha

(usa Debian)

Enviado em 08/11/2014 - 10:15h

Bom dia Galera, estou tentando configurar um proxy e estou com o seguinte problema. Depois de configurado o proxy e as maquinas clientes se comunicam, porém, as clientes não saem para internet, somente o proxy.
Aqui esta minha configuração:
-----------------------------------------------------------------------
allow-hotplug eth0
iface eth0 inet dhcp

up iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --toport 3128

auto eth1
iface eth1 inet static
address 192.168.8.251
netmask 255.255.255.0
-----------------------------------------------------------------------

Para levantar o Gateway, editei a pasta ?etc/sysctl.conf descomentando a linha net.ipv4_forward=1 e executei os comandos:
echo 1 > /proic/sys/net/ipv4/ip_forward;
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT;
Instalei o bind9

Falta ainda alguma configuração?


  


2. Re: Configuração Proxy

Josue de Jesus Santos
JJSantos

(usa Gentoo)

Enviado em 08/11/2014 - 18:53h

De uma máquina cliente, faz um teste ai.


# ping 8.8.8.8
# traceroute 8.8.8.8
# route -n


Do Server proxy, poste ai.


# iptables -L -nv
# route -n
# cat /etc/resolv.conf




3. Re: Configuração Proxy

Antonio Batalha
tonibatalha

(usa Debian)

Enviado em 10/11/2014 - 09:04h

JJSantos escreveu:

De uma máquina cliente, faz um teste ai.


# ping 8.8.8.8
# traceroute 8.8.8.8
# route -n


Do Server proxy, poste ai.


# iptables -L -nv
# route -n
# cat /etc/resolv.conf



Bom dia JJSantos

Fiz os teste que pediu, no caso da maquina cliente o ping não teve resposta, o traceroute chega até a servidor no primeiro salto e depois não consegue acessar o DNS da google e no route -n ele me aprece como se fosse um help deste comando.

No caso do Servidor os teste deram as seguintes respostas:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes terget prot opt in out source destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes terget prot opt in out source destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes terget prot opt in out source destination

---------------------------------------------------------------------------------------------

route -n
destino Roteador MascaraGen Opções Metrica Ref Uso Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0. 192.168.0.251 0.0.0.0 UG 0 0 0 eth0

---------------------------------------------------------------------------------------------
cat /etc/resolv.conf
donaim dominio.com.br
search domino.com.br
nameserver 192.168.0.200
nameserver 192.168.0.199
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 189.38.95.95




4. Re: Configuração Proxy

Buckminster
Buckminster

(usa Debian)

Enviado em 10/11/2014 - 10:06h

up iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --toport 3128

Veja bem, nas duas regras está a eth0.

Verifique qual é a eth de entrada da internet e qual é a de saída para o proxy.

E outra coisa:

allow-hotplug eth0
iface eth0 inet dhcp

up iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --toport 3128

auto eth1
iface eth1 inet static
address 192.168.8.251
netmask 255.255.255.0


Se você colocou as regras dentro do arquivo /etc/network/interfaces (coisa não aconselhada), coloque as regras no final do arquivo pelo menos, e não no meio das regras das placas de rede.


5. Re: Configuração Proxy

Antonio Batalha
tonibatalha

(usa Debian)

Enviado em 10/11/2014 - 21:10h

buckminster escreveu:

up iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --toport 3128

Veja bem, nas duas regras está a eth0.

Verifique qual é a eth de entrada da internet e qual é a de saída para o proxy.

E outra coisa:

allow-hotplug eth0
iface eth0 inet dhcp

up iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --toport 3128

auto eth1
iface eth1 inet static
address 192.168.8.251
netmask 255.255.255.0


Se você colocou as regras dentro do arquivo /etc/network/interfaces (coisa não aconselhada), coloque as regras no final do arquivo pelo menos, e não no meio das regras das placas de rede.


Olá Buckminster

Me desculpe pois sou novato em redes e linux, mas estou muito disposto a aprender. Pelo que li, nas min has buscas por informação, o PREROUTING é o tratamento que a informação recebe na entrada do servidor de proxy para passar para as maquinas internas e o POSTROUTING justamente o contrario, tratando e modificando os pacotes para que eles possam sair pela internet. Neste caso, como minha entrada de internet é na eth0 este tratamento do iptables me parece correto, mas o POSROUTING é que deveria neste caso usar a eth1, já que vai sair da interna pra internet.
Me corrija se estiver errado.



6. Re: Configuração Proxy

Buckminster
Buckminster

(usa Debian)

Enviado em 10/11/2014 - 22:02h

# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 <<< aqui sempre vai a placa da rede interna
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE <<< aqui sempre vai a placa de entrada da internet

O PREROUTING é para alterar pacotes no momento que eles chegam no servidor, antes do roteamento ou compartilhamento.

O POSTROUTING É para alterar pacotes quando eles estão prestes a sair do servidor, depois do roteamento ou compartilhamento.

O MASQUERADE faz o compartilhamento e o mascaramento da placa eth0 (no caso), ou seja, ele diz: placa eth0 compartilhe tudo que entrar e sair com todas as outras placas de rede do servidor.

masquerade :: Este alvo só é válido na tabela nat na chain postrouting. Ele só deve ser utilizado com IP atribuído dinamicamente (dialup): se você tem um endereço IP estático, você deve usar o alvo snat.

Mas mesmo que tu tenha um IP fixo na placa de entrada da internet o MASQUERADE irá funcionar. Atualmente o Iptables trata disso. Mas o aconselhável é seguir o que está no enunciado acima.


Seguem dois links para te auxiliar:

http://www.vivaolinux.com.br/artigo/Manual-do-IPtables-Comentarios-e-sugestoes-de-regras

http://www.vivaolinux.com.br/artigo/Redes-de-Computadores-IPtables-Enderecos-IPs-Explicacoes-basicas...


7. Re: Configuração Proxy

Antonio Batalha
tonibatalha

(usa Debian)

Enviado em 11/11/2014 - 21:29h

buckminster escreveu:

# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 <<< aqui sempre vai a placa da rede interna
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE <<< aqui sempre vai a placa de entrada da internet

O PREROUTING é para alterar pacotes no momento que eles chegam no servidor, antes do roteamento ou compartilhamento.

O POSTROUTING É para alterar pacotes quando eles estão prestes a sair do servidor, depois do roteamento ou compartilhamento.

O MASQUERADE faz o compartilhamento e o mascaramento da placa eth0 (no caso), ou seja, ele diz: placa eth0 compartilhe tudo que entrar e sair com todas as outras placas de rede do servidor.

masquerade :: Este alvo só é válido na tabela nat na chain postrouting. Ele só deve ser utilizado com IP atribuído dinamicamente (dialup): se você tem um endereço IP estático, você deve usar o alvo snat.

Mas mesmo que tu tenha um IP fixo na placa de entrada da internet o MASQUERADE irá funcionar. Atualmente o Iptables trata disso. Mas o aconselhável é seguir o que está no enunciado acima.


Seguem dois links para te auxiliar:

http://www.vivaolinux.com.br/artigo/Manual-do-IPtables-Comentarios-e-sugestoes-de-regras

http://www.vivaolinux.com.br/artigo/Redes-de-Computadores-IPtables-Enderecos-IPs-Explicacoes-basicas...


Obrigado buckminster, vou fazer os procedimentos.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts