VictorServerTI
(usa CentOS)
Enviado em 28/06/2017 - 11:38h
Olá amigo sua pergunta ficou um pouco complexa mas vou te explicar de forma genérica para te ajudar a compreender...
O encaminhamento de pacotes no servidor linux acontece em 4 etapas (estou resumindo etapas desnecessárias)
1- O pacote chega no servidor na tabela do iptables -> nat -> prerouting
2- O pacote vai para a tabela iptables -> filter -> forward que existe decide se o pacote é encaminhado ou rejeitado
3- O pacote sai pela tabela iptables -> nat -> postrouting...
Porem o que é muito importante compreender é as tabelas de roteamento do servidor que podem ser observadas atraves dos comandos
ip route list
ip rule list
Esses dois comandos acima é que decidem por onde seu pacote vai sair....
Caso não exita nenhuma regra em ip rule list (fora as padrões) o seu servidor vai seguir a regra do ip route list...
Caso no ip route list não tenha uma rota statica tanto para o ip ou para rede seu pacote vai sair pelo default gateway....
Outra informação importante é o MASQUERADE que acontece no iptables...
Essa regra é muito simples porem vital para o seu negocio... ela muda o endereço de saída do pacote....
se sua rede local possui o ip 192.168.5.0/24 e vc não usa o MASQUERADE o pacote vai chegar no proximo gateway com o ip 192.168.5.0/24 se não exitir uma rota nesse segundo gatway falando para ele enviar os pacotes 192.168.5.0/24 para o servidor que possui essa rede ele podera descartar ou enviar para o local errado...
minha sugestão é a seguinte:
habilite o encaminhamento de pacotes no seu Gateway
/etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
aceite os pacotes em ambas as direções no iptables
iptables -A FORWARD -i $PLACA_REDE1 -s $REDE1 -d $REDE2 -j ACCEPT
iptables -A FORWARD -i $PLACA_REDE2 -s $REDE2 -d $REDE1 -j ACCEPT
e não mascare os pacotes... user o ip route para esta função
ip route add 192.168.0.0/24 via 'IP_GW' dev 'PLACA_DE_REDE'
Outro detalhe que pode mudar muita coisa é se vc usa uma vpn.... mas o conceito continua o mesmo.....