O servidor Ubuntu 14.04 não encaminhará

1

Por isso, estou tentando configurar uma caixa de BRO IDS dual homed para atuar como um servidor de gateway (?) entre a minha rede doméstica e o roteador el cheapo existente que acompanha a banda larga. o que eu tenho é isso ... (canos representam fio, desculpe por formatação ruim)

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 Ubuntu Server não faz o roteamento. Eu posso SSH nele e pingar ambas as interfaces dele, além de ping na Internet. No entanto, os hosts em qualquer uma das LANs não podem rotear para o outro lado do servidor Ubuntu.

Aqui está a saída das 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

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

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

Estou sentindo falta de algo simples? Existem algumas etapas de solução de problemas que posso executar na caixa do Ubuntu para verificar o problema. Atualmente eu só recebo mensagens 'no route found / exists' ... 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 entre roteadores

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 como uma ponte inicialmente, mas essa configuração foi removida das interfaces há muito tempo (não funcionou)

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

Chain INPUT (política ACCEPT)
target prot opt source destination

Chain FORWARD (política ACCEPT)
target prot opt source destination

Chain OUTPUT (política ACCEPT)
target prot opt source destination

    
por TemperedGlass 03.06.2015 / 00:49

2 respostas

1

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

  1. A seguinte linha em /etc/dhcpd.conf está certamente errada:

    roteadores de opções 192.168.1.254;

deve ser

  option routers 192.168.2.1

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

  1. Quando você diz que não pode fazer ping de clientes DHCP, tentou com um nome ( por exemplo, www.google.com) ou com um IP ( por exemplo, 8.8.8.8 )? Isso faz diferença porque você não disse nada sobre a resolução de DNS, então pode acontecer

    ping -c1 8.8.8.8

recebe uma resposta, enquanto

   ping -c1 www.google.com

não. Se for esse o caso, você está apenas faltando as duas linhas seguintes em /etc/resolv.conf :

  nameserver 8.8.8.8
  nameserver 8.8.4.4

Se não for não o caso, leia-se por favor.

  1. O que você diz sobre iptables não é totalmente consistente, porque você afirma ter adicionado a regra para NAT no iptables, mas então você exibe a regra iptables existente para o filtro tabela, não a tabela nat . Então, por favor, digite o seguinte comando

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

e, em seguida, sem reiniciar, tente emitir os mesmos comandos ping como acima.

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

  tcpdump -i eth0 -n icmp

e no terminal 2

  tcpdump -i eth1 -n icmp

depois vá para um dos clientes DHCP e tente um dos comandos ping acima. Se tudo funcionar, você deverá ver o ping e sua resposta percorrendo os dois terminais. Caso contrário, cole a saída para outra rodada de ajuda.

    
por 03.06.2015 / 14:27
0

Seu roteador Ubuntu está rodando muito bem. Esse não é o problema. O problema é que sua configuração não funciona porque o roteador ADSL não tem idéia de como acessar máquinas na rede 192.168.2.x. Além disso, nenhum dispositivo está configurado para fazer NAT para a rede 192.168.2.x. Então sua configuração simplesmente não faz sentido.

Assim, por exemplo, digamos 192.168.2.9 pings 8.8.8.8 . O servidor Ubuntu o encaminha ao longo de sua rota padrão. Mas então o roteador ADSL recebe um pacote de 192.168.2.9 a 8.8.8.8 em sua interface LAN e não tem idéia 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 tem é para 192.168.1.0/24 para a LAN. Todas as outras rotas vão para o link para o seu ISP. Então, quando ele lida com um pacote para 192.168.2.1, sua tabela de roteamento diz para enviar esse pacote para a Internet. Isso claramente não funcionará.

    
por 03.06.2015 / 09:45