Problemas na configuração de duas placas de rede

Iniciado por Murgoth, 20 de Novembro de 2009, 11:11

tópico anterior - próximo tópico

Murgoth

Bom dia estou tentando configurar um servidor proxy com duas placas de rede..
Segue os dados

eth0 - 10.1.1.2 -- Ligada ao Modem
eth1 - 192.168.1.1 -- Rede Interna

Configuração interfaces:

auto eth0
iface eth0 inet static
   address 10.1.1.2
   netmask 255.0.0.0
   network 10.0.0.0
   broadcast 10.255.255.255
   gateway 10.1.1.1
   # dns-* options are implemented by the resolvconf package, if installed
   dns-nameservers 10.1.1.1
   dns-search RODRIGUES

auto eth1
iface eth1 inet static
   address 192.168.1.1
   network 192.168.1.0
   netmask 255.255.255.0
   broadcast 192.168.1.255

Comando route -n:
proxy:/home/serverproxy# route -n
Tabela de Roteamento IP do Kernel
Destino         Roteador        MáscaraGen.    Opções Métrica Ref   Uso Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 eth0
0.0.0.0         10.1.1.1        0.0.0.0         UG    0      0        0 eth0

Configuração iptables:
iptables -F
iptables -t nat -F
iptables -t mangle -F
modprobe iptable_nat
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Comando ifconfig:
eth0      Link encap:Ethernet  Endereço de HW 00:15:f2:60:4e:eb 
          inet end.: 10.1.1.2  Bcast:10.255.255.255  Masc:255.0.0.0
          endereço inet6: fe80::215:f2ff:fe60:4eeb/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:965 errors:0 dropped:0 overruns:0 frame:0
          TX packets:452 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:175652 (171.5 KiB)  TX bytes:89288 (87.1 KiB)
          IRQ:19 Endereço de E/S:0xd000

eth1      Link encap:Ethernet  Endereço de HW 00:08:54:da:73:cd 
          inet end.: 192.168.1.1  Bcast:192.168.1.255  Masc:255.255.255.0
          endereço inet6: fe80::208:54ff:feda:73cd/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:139 errors:0 dropped:0 overruns:0 carrier:73
          colisões:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:17372 (16.9 KiB)
          IRQ:18 Endereço de E/S:0xc800

lo        Link encap:Loopback Local 
          inet end.: 127.0.0.1  Masc:255.0.0.0
          endereço inet6: ::1/128 Escopo:Máquina
          UP LOOPBACKRUNNING  MTU:16436  Métrica:1
          RX packets:106 errors:0 dropped:0 overruns:0 frame:0
          TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:0
          RX bytes:8624 (8.4 KiB)  TX bytes:8624 (8.4 KiB)

Não sei mas o que pode ser =/

zekkerj

sudo sysctl net.ipv4.ip_forward=1

ou

# echo 1 > /proc/sys/net/ipv4/ip_forward

;)
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

Murgoth

zekkerj já estava nas regras do iptables... mas consegui arrumar!
Podem fechar o tópico.. consegui liberar também o site da caixa.. =)
Vlw

Escorpiao512

Citação de: Murgoth online 21 de Novembro de 2009, 17:36
zekkerj já estava nas regras do iptables... mas consegui arrumar!
Podem fechar o tópico.. consegui liberar também o site da caixa.. =)
Vlw

Boa tarde.
Por favor não fechem o topico não, pois o meu problema ainda continua...
Me ajuda aew galera...
Valew.
Jesus está vindo...
mas o diabo já está aqui!

zekkerj

Que problema, Escorpiao??? Vc nem tava nesse tópico!!! Fecha!!! Fecha!!! Fecha!!!
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

Escorpiao512

Citação de: zekkerj online 21 de Novembro de 2009, 20:08
Que problema, Escorpiao??? Vc nem tava nesse tópico!!! Fecha!!! Fecha!!! Fecha!!!

Eu sei que não estava no tópico, mas pra não abrir outro informo que o meu problema é igual ao do Murgoth. Já inseri as regras do iptables, o meu servidor dhcp está funcionando legal, o único problema é que dos computadores clientes eu não consigo acessar a internet, só consigo enxergar a rede interna.
Será que tem algum problema com o provedor do serviço? Digo, é possível que a empresa que me fornece o link externo tenha bloqueado a passagem da rede interna no firewall deles? Faz sentido? Só pode ser isso. Ah... outra coisa é que atualizei o meu sistema pro Ubuntu 9.10 pra ver se a bronca não era com a versão 8.04, mas infelizmente ainda não testei a conexão.

Deixa o tópico aberto por favor.
Ou vou iniciar outro e ter que explicar tudo de novo... eu tô vindo de um problema de hardware, já estou num de software... putz... vamos com calma pessoal... ajuda aew.
Valew.
Muito obrigado a todos.
Jesus está vindo...
mas o diabo já está aqui!

Escorpiao512

Seguem as configurações:

Configuração iptables:
iptables -F
iptables -t nat -F
iptables -t mangle -F
modprobe iptable_nat
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Configuração interfaces:
auto lo
iface lo inet loopback

# Rede Principal - Banda Larga
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth1 up # line maintained by pppoeconf
provider dsl-provider

# Servidor de DHCP - Rede Local
auto eth0
iface eth0 inet static
      address 192.168.1.254
      netmask 255.255.255.0
      network 192.168.1.0
      broadcast 192.168.1.255
      # preciso informar o dns do provedor aqui (velox, hotlink etc)?

PS: Outra coisa é que não sei qual DNS informar, se é o mesmo do meu provedor de serviço (velox, hotlink, etc) ou se informo o meu gateway (192.168.1.254) ou o broadcast (192.168.1.255)? Ou será que tenho que criar um servidor DNS também? Qual informo no dhcpd.conf?

Configuração do dhcpd.conf:
ddns-update-style none;
option domain-name-servers (mesmo da velox?), (gateway?), (broadcast?), (crio um?);

default-lease-time 600;
max-lease-time 7200;

log-facility local7;

# Configuracoes da subrede local para onde o DHCP concedera os IPs.
   subnet 192.168.1.0 netmask 255.255.255.0 {
  # Faixa dos IPs a serem concedidos.
     range 192.168.1.1 192.168.1.250;
  # Endereco do gateway padrao.
     option routers 192.168.1.254;
  # Endereco do Broadcast padrao.   
   option broadcast-address 192.168.1.255;
}

PS: O servidor dhcp está funcionando perfeitamente. O único problema é o acesso a internet pelas máquinas cliente. Já entrei em contato com o pessoal do provedor de serviço e me disseram que o acesso via nat é liberado. O mesmo aconteceria se eu tivesse utilizando um roteador em vez da rede local com 2 placas.
Estou com esse problemão aqui! Espero que alguém me ajude.
E o tópico continua aberto sim!!!
Abraço a todos.
Jesus está vindo...
mas o diabo já está aqui!

zekkerj

vc já notou que está direcionando a eth1, mas configurando a eth0 como rede local???

Citariptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Citar
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth1 up # line maintained by pppoeconf
provider dsl-provider

# Servidor de DHCP - Rede Local
auto eth0
iface eth0 inet static
      address 192.168.1.254
      netmask 255.255.255.0
      network 192.168.1.0
      broadcast 192.168.1.255
      # preciso informar o dns do provedor aqui (velox, hotlink etc)?

Vc perguntou também qual é a configuração de DNS que tem que colocar no DHCP.

O melhor é vc criar um servidor local (e nesse caso colocaria o mesmo IP do gateway default). Mas se vc não souber como fazer um, pode usar os do Velox, ou mesmo usar quaisquer servidores públicos, por exemplo, vc pode ir no site da ABUSAR e ver a lista de servidores DNS do Velox pro seu estado, ou então usar os do OpenDNS.
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

Escorpiao512

Oi Zekkerj. Antes de tudo obrigado por me ajudar.
Agora vamos as minhas dúvidas.
Segue a sua pergunta:

Citarauthor=zekkerj link=topic=59403.msg337452#msg337452 date=1259588694]
vc já notou que está direcionando a eth1, mas configurando a eth0 como rede local???

Citariptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

É, já notei sim, mas já que você perguntou ficou uma dúvida:
A minha interface eth0 é que é a 2ª placa de rede, ou seja, é a placa off-board que serve como servidor dhcp para a rede local interna. Isso acontece devido a um problema toda vez que reiniciava o Ubuntu. Ele sempre quis que a placa off-board fosse a eth0. Não me pergunte porque, mas quando eu coloquei a on-board como eth0 toda vez que reiniciava, o sistema adicionava uma nova ethX à placa off-board. Assim, sempre aparecia uma nova eth1, eth2, ethN, tantas vezes eu reiniciasse. Deixando a off-board como eth0 o problema foi resolvido.
Mas essa é uma outra história.

Hoje o sistema está assim:
eth0 -> Rede interna local (placa off-board);
eth1 -> Rede principal (placa on-board)

A minha interface eth1 é a interface que recebe o serviço do provedor velox, é a minha placa on-board. Sendo assim é nesta interface que eu tenho que fazer o roteamento, correto? E assim sendo o certo é deixar o arquivo iptables como está:

Citariptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Isto está correto?
Grato.
Jesus está vindo...
mas o diabo já está aqui!

zekkerj

Citação de: Escorpiao512 online 30 de Novembro de 2009, 15:51A minha interface eth0 é que é a 2ª placa de rede, ou seja, é a placa off-board que serve como servidor dhcp para a rede local interna. Isso acontece devido a um problema toda vez que reiniciava o Ubuntu. Ele sempre quis que a placa off-board fosse a eth0. Não me pergunte porque, mas quando eu coloquei a on-board como eth0 toda vez que reiniciava, o sistema adicionava uma nova ethX à placa off-board. Assim, sempre aparecia uma nova eth1, eth2, ethN, tantas vezes eu reiniciasse. Deixando a off-board como eth0 o problema foi resolvido.
Mas essa é uma outra história.

A ordem normal é essa: primeiro as offboards, a onboard é a última. O que eu não entendo é pq ele tentou se impor a você. Talvez vc não tenha feito a alteração de forma correta.


CitarHoje o sistema está assim:
eth0 -> Rede interna local (placa off-board);
eth1 -> Rede principal (placa on-board)

A minha interface eth1 é a interface que recebe o serviço do provedor velox, é a minha placa on-board. Sendo assim é nesta interface que eu tenho que fazer o roteamento, correto? E assim sendo o certo é deixar o arquivo iptables como está:

Citariptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Isto está correto?
Grato.

Não, não está.

Você quer que os pacotes que venham da sua rede local sejam preparados pra ir pra internet. Isso significa que os pacotes que entram pela interface ligada à rede local ("-i eth0") devem sofrer MASQUERADING.

Ou, alternativamente, vc pode também querer que os que vão pra internet sejam preparados pra isso. Isso significa que os que saem pela interface de internet ("-o ppp0) sofram MASQUERADING. ;)
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

Escorpiao512

CitarNão, não está.

Você quer que os pacotes que venham da sua rede local sejam preparados pra ir pra internet. Isso significa que os pacotes que entram pela interface ligada à rede local ("-i eth0") devem sofrer MASQUERADING.

Ou, alternativamente, vc pode também querer que os que vão pra internet sejam preparados pra isso. Isso significa que os que saem pela interface de internet ("-o ppp0) sofram MASQUERADING. Piscada

Bem acho que ainda estou com uma dúvida:
A minha eth1 é a ppp0;
A minha eth0 é a rede local.
Então eu devo alterar o iptebles para que ele fique assim:

iptables -t nat -A POSTROUTING -i eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Ou seja a minha placa de rede local (eth0) sofre o MASQUERADE -i e a placa que recebe o link do provedor de serviço de internet (eth1) sofre com o -o, como acima? É isso?
Jesus está vindo...
mas o diabo já está aqui!

zekkerj

Esqueça que a eth1 existe até segunda ordem, OK? Você só tem duas interfaces que te importam: a eth0 e a ppp0.

Vc só precisa escolher uma delas (e só uma delas ;)) pra ser a interface que vai controlar a regra de MASQUERADING.
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