Masquerade

Iniciado por glaucols, 07 de Maio de 2012, 08:23

tópico anterior - próximo tópico

glaucols

Ola, pessoal !
O fato eh que estou a 10 dias tentando configurar a rede para masquerade.
O cenario eh:
1.Roteador tp-link (r1) com internet NET conectado a ele.
2.Roteador tp-link (r2)
3.Uma cpu 1GB e Ubuntu 11.10 Desktop instalada com uma placa onboard eth0 e outra eth1 pci.

No r1 sai um cabo da porta ethernet 1 para a eth0 pci da minha cpu.
No r2 sai um cabo da porta ethernet 1 para a eth1 onboarda da cpu

Quero compartilhar a internet da eth0 com a eth1.

O problema eh:

Ja fiz todas as instrucoes que encontrei na net para o masquerade.
Estou com internet na cpu funcionando plenamente.
Notei que o masquerade nao esta ok pois segui uma receita e...
#####
O iptables só dá resposta se a sintaxe do comando estiver incorreta ou se você não tiver permissão para aplicá-lo. Se ele não "disse" nada é porque foi.
Você pode conferir com "sudo iptables-save| grep -i masquerade".
Uma pergunta: Você ativou o forwarding (echo 1 > /proc/sys/net/ipv4/ip_forward)?
#####

Notei também que seu eu alterar o /etc/network/interface a rede para de funcionar. Tenho que voltar para o original com apenas duas linhas e setar o IP da eth1 fixo para funcionar.

Podem acreditar, foram 10 dias de muita tentativa. Ja nao tenho mais idéias...

zekkerj

Mostre as regras que fez, mostre também o que está tentando fazer no arquivo interfaces.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

glaucols

######Iptables
#!/bin/bash
 
IFEXT="ppp0"
IFINT="eth1"
ANY="0.0.0.0/0"
lo="127.0.0.1"
LAN="192.168.9.0/24"

# ATTENTION: flush/delete all existing rules
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables --delete-chain
iptables --table nat --delete-chain
 
################################################################
# set the default policy for each of the pre-defined chains
################################################################
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT


modprobe iptable_nat
modprobe iptable_filter
modprobe ip_tables
modprobe ipt_MASQUERADE
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
## Internet Share | Compartilha Internet

# Compartilha a conexão
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/ip_dynaddr
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 # Redirect Proxy



##########################################
### No arquivo Interface:
##########################################
auto lo
iface lo inet loopback

# interface external network (internet), configured through dhcp
   auto eth0
   iface eth0 inet dhcp

   #interface network 1
   auto eth1
   iface eth1 inet static
           address 192.168.9.100
           netmask 255.255.255.0
        network 192.168.9.0
   broadcast 192.168.9.255   
        gateway 192.168.9.1

zekkerj

Teu erro é definir um gateway na interface eth1 do arquivo interfaces. Apague essa linha, e o gateway vai ficar apenas na eth0, via dhcp.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

glaucols

Quando edito o arquivo interface a rede para de funcionar. Qualquer coisa que coloco la para.
Antes eu nao havia colocado o gateway.
O ubuntu 11.10 tem uma aplicacao que gerencia a rede "network-manager", vou tentar desativa-la para verificar se o OS responde pelas configuracoes que estao editadas no /etc/network/interfaces.

Antes vou tirar o gateway conforme orientado.
Ainda hoje escrevo para dizer como foi.

zekkerj

Quando você configura a rede no arquivo "interfaces", o network-manager percebe isso e declara a interface como "não-gerenciável". Isso não é um erro; é apenas a constatação de que vc fez uma configuração manual, e por isso ele não vai ficar no caminho.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

glaucols

Parcialmente funcionando:
Segui a dica para edicao do /etc/network/intefaces e somente passou a funcionar quando desabilitei o network-manager (http://www.liberiangeek.net/2010/08/disable-network-manager-ubuntu-10-04-lucid-lynx-configure-network-interface-traditionally/).
No servidor o browse navega na internet perfeitamente mas nas estacoes conectadas ao roteador somente se eu Informar  o endereco do Proxy ( 192.168.9.100:8080)

Agora tenho que entender o porque o proxy transparente no squid não vai.

## \/ ### squid.conf

http_port 3128 transparent
cache_mem 32 MB
cache_dir ufs /var/spool/squid 100 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
error_directory /usr/share/squid/errors/Portuguese
emulate_httpd_log on

...
## /\ ### squid.conf


### /etc/network/interfaces
auto lo
iface lo inet loopback

# interface external network (internet), configured through dhcp
auto eth0
iface eth0 inet dhcp

#interface network 1
auto eth1
iface eth1 inet static
address 192.168.9.100
netmask 255.255.255.0
network 192.168.9.0
broadcast 192.168.9.255   

zekkerj

Você colocou a regra do iptables redirecionando o tráfego da porta 80/tcp para a porta 8080/tcp na máquina?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

glaucols

sim!
Tenho um servidor glassifish instalador que responde pala 8080.

zekkerj

hã? Glassfish?

Não era um redirecionamento de proxy?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

glaucols

#10
Perdoe, nao achei que o Glassfish poderia estar envolvido.
Ainda estou entendendo que a necessidade de ter apontado um proxy 192.168.9.100:8080 é uma pista.
No navegador, se eu nao direcionar para este proxy ele nao encontra nada.
Que tal eu dar um stop no glassfish e começar a examinar as pistas novamente ?

Começo a entender que ainda nao consegui a fazer o masquerade. Nao tenho a certeza se ele esta funcionando.
O Glassfish pode ter me enganado.

zekkerj

Pq vc está apontando o proxy para 192.168.9.100:8080?

A porta normal do proxy é 3128... e, afinal, o que o Glassfish tem a ver com proxy?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

glaucols

#12
Me enganei !
Eu deveria ter colocado 3128.
Quando conecto meu notebook no roteador wifi que esta ligado a porta eth1 eu não consigo navegar em nenhum site. Entao eu quiz verificar se era a falta de proxy. No caso eu coloquei errado.
O que eu imagino é que ao conectar a rede o proxy transparent vai ser configurado automaticamente.

Tive uma idéia:
Que tal elaborar um série de passos (trouble) para averiguar cada etapa. Iptables recebendo na 3128 todas requisicoes 80. Eth0 sendo mascarada, etc..Na net falam de comandos que desconheco como tracet, route...