Servidor Linux como roteador - problema

0

Sou relativamente novo no Linux e estou tentando testar algumas coisas no meu ambiente.
Eu configurei um servidor Linux (fedora) para conectar 2 redes. O servidor tem um terceiro nic natted (compartilhado com meu host através do virtualbox).
Eu posso navegar com sucesso a partir do servidor linux, mas se eu tentar e ping 8.8.8.8 ou similar de qualquer cliente, ele não funciona. Rota padrão no cliente está no lugar; iptables estão permitindo icmp.

O que estou perdendo?

    
por Dave 17.01.2017 / 01:54

2 respostas

2

Como comentado acima, poderíamos ter feito melhor com mais informações. A solução sugerida abaixo espera que o iptables tenha sido configurado para permitir tráfego de entrada / saída. De qualquer forma, você pode estar sentindo falta de duas coisas.

Você precisa permitir explicitamente o encaminhamento do tráfego. Você precisa modificar o /etc/sysctl.conf 'adicione a seguinte linha.

net.ipv4.ip_forward=1

Além disso, você precisa mascarar o tráfego de saída. Masquerading reescreve o endereço IP de saída de todos os pacotes para o host, tendo adicional nic com NAT. Você pode habilitar o mascaramento como mostrado abaixo. Cuidado com o nome da interface NAT.

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

Substitua eth0 pelo nome da sua interface NAT.

Dicas de solução de problemas

  1. Efetue ping no endereço da interface do host do servidor Linux do (s) cliente (s). E se sucesso, os clientes podem alcançar o gateway padrão.
  2. Efetue ping no endereço da interface nat do servidor Linux do (s) cliente (s). E se bem-sucedida, iptables firewall está permitindo o tráfego ICMP. E se não, você precisa verificar a configuração iptables firewall .
  3. Quando você concluir as etapas acima, as únicas coisas que restam são outgoing rules e postrouting masquerade . Você pode ter que verificá-lo novamente.
por 17.01.2017 / 02:16
1

Vocês estavam certos. Eu estava sentindo falta do masquerade POSTROUTING e do forward como mostrado abaixo:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 
iptables -A FORWARD -i eth0 -j ACCEPT 
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    
por 17.01.2017 / 17:06