Não é possível acessar o computador na rede isolada

0

Eu tenho um PC de mesa do Windows na minha LAN corporativa com 2 NICs e selecionei os dois adaptadores e transformei-os nas opções de rede. Eu também tenho um PC Linux com 2 NICs e configurei o primeiro para obter o DHCP na LAN corporativa e o segundo para ter um IP estático em uma rede isolada. Modifiquei a rota no PC Linux para que o tráfego da LAN corporativa expulse a primeira NIC (eth0) e o tráfego para a rede isolada saia pela segunda (eth1). Então eu posso acessar as duas redes no PC Linux.

                  Windows               
            +-----------------+    
10.x.x.x <- | NIC1 -+         |                          Linux
            |       | bridged |              +----------------------------+
            | NIC2 -+         |<-->switch<-->| NIC1 (DHCP 10.x.x.x)       |
            +-----------------+              |                            |
                                             | NIC2 (static 192.168.1.50) |<----> 192.168.1.x
                                             +----------------------------+

Mas eu preciso acessar um servidor web na LAN 192.168.1.x do PC com Windows e estou preso. Eu tenho o Windows configurado para ligar as conexões, por isso está agindo como um switch regular. Eu adicionei uma rota para o Windows para encaminhar o tráfego 192.168.1.x para o Linux NIC1. Eu posso ver usando tethereal que o Linux NIC1 está recebendo os pacotes http da caixa do Windows na NIC1.

Agora, como faço o roteamento desse tráfego para o NIC2 para que ele continue indo para a rede 192.168.1.xe possa receber respostas? Eu acho que preciso transformar a caixa de linux em um roteador. Então eu tentei adicionar algumas regras do iptables:

 Chain INPUT (policy ACCEPT)
 target    prot opt source               destination
 ACCEPT    all  --  10.6.100.0/22        192.168.1.0/24
 ACCEPT    all  --  192.168.1.0/24       10.6.100.0/22

 Chain FORWARD (policy ACCEPT)
 target    prot opt source               destination
 ACCEPT    all  --  10.6.100.0/22        192.168.1.0/24   // (-o eth1)
 ACCEPT    all  --  192.168.1.0/24       10.6.100.0/22    // (-o eth0)

 Chain OUTPUT (policy ACCEPT)
 target    prot opt source               destination

Estou assumindo que fiz algo errado porque quando executo o iptables com --verbose não consigo ver nem a política INPUT nem a FORWARD processaram nenhum pacote.

Eu também habilitei o modo promíscuo em eth0 e eth1 com ipconfig.

Gostaria de trabalhar com o hardware e a topologia existentes. O PC Windows está onde está, porque eu preciso dele para farejar o tráfego entrando e saindo da rede isolada para depurar equipamentos.

Como posso fazer isso funcionar como eu quero?

    
por indiv 18.12.2009 / 01:00

1 resposta

1

eu acho que você esqueceu de ativar o encaminhamento de ip na caixa linux. você pode verificar isso emitindo o comando

cat /proc/sys/net/ipv4/ip_forward

se isso lhe der um encaminhamento de ip '0' está desabilitado. para ativar este comando:

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

observe que isso durará apenas até a próxima reinicialização. como tornar isso persistente depende da distribuição. a maioria das distros tem um arquivo chamado /etc/sysctl.conf. se este arquivo existir, abra-o usando vi e verifique a linha

net.ipv4.ip_forward = 0

mude 0 para 1 e provavelmente ele irá habilitar o encaminhamento de ip da próxima vez que você inicializar a máquina. não se esqueça de verificar após a reinicialização.

uma nota no seu iptables: as correntes têm o seguinte significado:

  • INPUT recebe pacotes destinados à própria caixa linux (assim não verá pacotes encaminhados pela caixa linux
  • FORWARD recebe pacotes que a caixa linux encaminha para outros sistemas - assim ele não verá pacotes destinados à própria caixa do linux
  • OUTPUT é passado apenas por pacotes originados da própria caixa linux (por exemplo, gerados a partir de um processo em execução local como um comando ping ou algo semelhante)
por 09.03.2010 / 21:55