O servidor Ubuntu 14.04 não roteará

O servidor Ubuntu 14.04 não roteará

Então, estou tentando configurar uma caixa BRO IDS dual homed para atuar como um servidor gateway (?) entre minha rede doméstica e o roteador El Cheapo existente que veio com a banda larga. o que eu tenho é isso... (pipes representam fio, desculpe pela má formatação)

Internet  
   |  
ADSL Router running DHCP  (gateway is 192.168.1.254)  
   |  
eth0 (192.168.1.1)  
ubuntu 1404 server running bro IDS, running bind9,   
it serves DHCP on 192.168.2.0 network only on eth1  
eth1 (192.168.2.1)  
   |  
Internal LAN running two Apple Airports in bridge mode  

Eu configurei as coisas corretamente, mas o servidor Ubuntu não roteia. Posso usar SSH nele e executar ping em ambas as interfaces, além de executar ping na Internet. No entanto, os hosts em nenhuma das LANs não podem rotear para o outro lado do servidor Ubuntu.

Aqui está a saída de rotas -n

Kernel IP routing tableico /etc/network/interfaces
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         
192.168.1.254   0.0.0.0         UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

e aqui está o conteúdo de/etc/interfaces

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
  address 192.168.1.1
  netmask 255.255.255.0
  gateway 192.168.1.254
  broadcast 192.168.1.255
 auto eth1   
 iface eth1 inet static  
  address 192.168.2.1  
  network 192.168.2.0  
  netmask 255.255.255.0  
  broadcast 192.168.2.255  
  gateway 192.168.1.254

Habilitei o ipforwarding ipv4 usando sysctl. O servidor DHCP Ubuntu está configurado para servir apenas endereços IP 192.168.2.0 e funciona bem. Há outro roteador DHCP servindo eth0 (192.168.1.0) que mantive ativo para poder usar o wifi no roteador de banda larga para navegar na web enquanto soluciono o problema.

Mas, de qualquer forma, ainda não consegui fazer ping no outro lado da caixa do Ubuntu depois de fazer login em ambos os lados com IPs estáticos e atribuídos dinamicamente. pode postar o conteúdo do dhcpd.conf também...?

Estou faltando algo simples? Há alguma etapa de solução de problemas que eu possa executar na caixa do Ubuntu para verificar a redução do problema. Atualmente só recebo mensagens 'nenhuma rota encontrada/existe'... Aqui estão os detalhes do /etc/dhcpd.conf também...

ddns-update-style none;  
default-lease-time 600;  
max-lease-time 7200;  
authoritative;  
subnet 192.168.2.0 netmask 255.255.255.0 {  
range 192.168.2.2 192.168.2.240;  
option routers 192.168.1.254;  
option broadcast-address 192.168.2.255;  
option domain-name-servers 192.168.2.1, 8.8.8.8;  
}  

Esta é a saída do ping no roteador

Request timeout for icmp_seq 0  
Request timeout for icmp_seq 1  
Request timeout for icmp_seq 2  

Além disso, ao configurá-lo, configurei-o inicialmente como uma ponte, mas essa configuração foi removida das interfaces há muito tempo (não funcionou de jeito nenhum)

Conforme solicitado, aqui está a saída de iptables -L

Chain INPUT (política ACCEPT)
destino prot opt ​​origem destino

Cadeia FORWARD (política ACCEPT)
alvo prot opt ​​origem destino

Cadeia OUTPUT (política ACCEPT)
destino prot opt ​​origem destino

Responder1

Há algumas coisas que não parecem claras, pelo menos para mim à primeira vista.

  1. A seguinte linha em /etc/dhcpd.conf écertamenteerrado:

    opção roteadores 192.168.1.254;

deveria ser

  option routers 192.168.2.1

Atualmente, você está basicamente informando aos seus clientes DHCP que o gateway padrão deles está em uma sub-rede diferente da deles: como você espera que eles consigam acessar esse gateway? O endereço correto do gateway que você passa aos clientes é a interface LAN do roteador.

  1. Quando você diz que não pode fazer ping de clientes DHCP, você tentou com um nome (por exemplowww.google.com) ou com um IP (por exemplo8.8.8.8)? Faz diferença porque você não disse nada sobre resolução de DNS, entãopoderacontecer isso

    ping -c1 8.8.8.8

recebe uma resposta, enquanto

   ping -c1 www.google.com

não.Seeste é o caso, você éapenasfaltando as duas linhas a seguir em/etc/resolv.conf:

  nameserver 8.8.8.8
  nameserver 8.8.4.4

Se isso énãoo caso, por favor continue lendo.

  1. O que você diz sobretabelas de ipnão é totalmente consistente, porque você afirma ter adicionado a regra para NATting em iptables, mas então exibe a regra de iptables existente para ofiltromesa, não olegalmesa. Então, por favor, emita o seguinte comando

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

e então,semreinicializando, tente emitir os mesmos comandos ping acima.

Se tudo isso falhar, abra dois terminais na máquina Ubuntu e emita os dois comandos a seguir: no terminal 1,

  tcpdump -i eth0 -n icmp

e no terminal 2

  tcpdump -i eth1 -n icmp

em seguida, vá para um dos clientes DHCP e tente um dospingarcomandos acima. Se tudo funcionar, você deverá ver o ping e sua resposta passaremambosterminais. Caso contrário, cole o resultado para outra rodada de ajuda.

Responder2

Seu roteador Ubuntu está roteando perfeitamente. Esse não é o problema. O problema é que sua configuração não funciona porque o roteador ADSL não tem ideia de como chegar às máquinas da rede 192.168.2.x. Além disso, nenhum dispositivo está configurado para fazer NAT para a rede 192.168.2.x. Portanto, sua configuração simplesmente não faz sentido.

Então, por exemplo, digamos 192.168.2.9pings 8.8.8.8. O servidor Ubuntu o encaminha ao longo de sua rota padrão perfeitamente. Mas então o roteador ADSL recebe um pacote de 192.168.2.9para 8.8.8.8em sua interface LAN e não tem ideia do que fazer com ele.

Atualização: Para ver apenas um problema, considere a tabela de roteamento no roteador ADSL. A única rota local que possui é 192.168.1.0/24 para a LAN. Todas as outras rotas vão para o link do seu ISP. Portanto, quando ele trata um pacote para 192.168.2.1, sua tabela de roteamento diz para enviar esse pacote para a Internet. Isso claramente não funcionará.

informação relacionada