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
.
- 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.
-
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.