Encaminhando duas sub-redes sem ocultar hosts?

1

Eu tenho duas sub-redes, digamos 192.168.1.0/24 e 192.168.2.0/24, que são conectadas por um servidor Ubuntu com duas placas de interface (eth0 e wlan0). Há muitas descrições usando o NAT de forma que os hosts estejam ocultos atrás do roteador. Eu gostaria de pingar hosts em ambas as sub-redes e vice-versa. Como preciso configurar o servidor Ubuntu?

    
por Sisyphos 21.09.2015 / 10:24

1 resposta

0

A seção sobre onde e quais rotas definir ainda é um trabalho em andamento. Depende da topologia da rede.

Primeiro, você precisa garantir que os clientes em cada lado do roteador usem o roteador para enviar pacotes para a outra rede. Ou seja, você terá que definir rotas apropriadas.

Dependendo do resto da sua rede, existem maneiras diferentes de configurar o roteamento.

Vamos supor que o servidor tenha endereços IP 192.168.1.1 e 192.168.2.1 para eth0 e wlan0 .

  1. Existem apenas as duas redes locais. Não há nenhum roteador adicional que conecte qualquer rede à internet / uma terceira rede. O servidor que você está configurando é o único dispositivo para executar o roteamento. Basta definir o IP da interface apropriada do servidor como o gateway padrão nos clientes. O efeito é que qualquer pacote não destinado à rede local será encaminhado para o servidor, que por sua vez encaminhará para a outra rede.
  2. Você tem um roteador que conecta uma das redes à internet. Normalmente, um roteador fornecido pelo seu ISP. Vamos fingir que é network1 e chamar o roteador netgw-1. Nesse caso, os clientes terão o netgw-1 como padrão-gw. Se netgw-1 for capaz, o melhor caminho a seguir seria adicionar uma entrada à sua tabela de roteamento na essência

    192.168.2.0/24 via 192.168.1.1
    

    Como fazer isso depende exatamente do dispositivo.

    Dessa forma, os clientes não precisarão de rotas adicionais, mas os pacotes destinados à rede2 serão enviados via netgw-1 para o servidor para a rede2.

    Infelizmente, isso provavelmente não será possível, já que o roteador não permitirá manipular sua tabela de roteamento. Isso deixa você com a opção de adicionar uma entrada à tabela de roteamento em cada cliente .

    Observação: como tornar as rotas persistentes depende do método de configuração de rede dos clientes (por exemplo, NetworkManager ou /etc/interfaces ).

    Mas, para fins de teste, leve um cliente em cada rede e defina uma rota ( no cliente! ).

    As rotas atuais podem ser listadas via ip route show .

    sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
    

    Isto define uma rota para a rede 192.168.2.0/24 usando o roteador 192.168.1.1, enviando pacotes através da interface eth0 . Você terá que adaptar o comando, dependendo de qual rede o cliente está, e o nome da interface de rede.

Depois disso, deve ser tão simples quanto ativar o encaminhamento IPv4 _no servidor. Quando a opção net.ipv4.ip_forward estiver habilitada, o kernel encaminhará os pacotes IP pelas interfaces de rede do servidor.

Para verificar o status do encaminhamento: sysctl net.ipv4.ip_forward Se for 0, habilite-o via

sudo sysctl -w net.ipv4.ip_forward=1

Agora tente fazer ping pelo roteador. Se funcionar como desejado e você quiser deixar a configuração persistente na reinicialização, abra /etc/sysctl.conf e defina

net.ipv4.ip_forward=1

Observação de que você pode querer configurar filtros de pacotes via iptables para proibir determinado tráfego, dependendo das suas necessidades de segurança. Mas esse é um assunto diferente.

Configurar a máquina como um roteador NAT requer a configuração de iptables para mascarar o tráfego, mas, como sua pergunta sugere, você já leu o que há sobre esse tópico.

    
por Nephente 21.09.2015 / 10:48