A minha pergunta parece ser bastante simples, mas não posso simplesmente envolver a minha cabeça em torno dela. Minha configuração é assim:
Servidor executando o RHEL 6.4. Tem duas interfaces de rede:
ib0: rede infiniband (plz não pergunte por que :) 192.168.1.0/24, a maioria dos servidores está aqui. IP: 192.168.1.51
eth0: rede ethernet 192.168.3.0/24, os usuários finais estão aqui (e alguns servidores). IP: 192.168.3.51.
Este servidor serve como um gateway entre servidores e usuários. Tem um encaminhamento de ip padrão ativado:
net.ipv4.ip_forward = 1
... e nada mais. Está funcionando bem, sem reclamações aqui.
Então, agora eu preciso fazer o seguinte: ambos os usuários da rede 192.168.3.0 e os servidores da rede 192.168.1.0 precisam acessar uma rede externa 1.0.0.0/16. Essa rede é gerenciada por outro departamento - eles implantaram um roteador do lado deles e me forneceram um link físico. Seu roteador tem um ip 192.168.3.250.
Então, eu configurei uma rota estática no meu servidor de gateway assim:
ip route add 1.0.0.0/16 via 192.168.3.250
... e meus usuários finais da rede 192.168.3.0 podem acessar a 1.0.0.0. No entanto, os servidores da rede 192.168.1.0 não conseguem alcançá-lo.
Eu não sou muito bom com roteamento e rede em geral, então eu suspeito que eu deveria ter NAT ativado para minha rede 192.168.1.0 (??), mas minha cabeça começa a doer muito quando eu estou lendo o manual do iptables. Além disso, a questão é que esse servidor deve continuar a atuar como um gateway entre as redes infiniband e ethernet, de preferência, com o mínimo de sobrecarga possível.
Então a questão é: como faço isso?