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.
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.
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.
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.9
pings 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.9
para 8.8.8.8
em 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á.