DNAT não funciona para dois wan?

0

Eu tenho um dispositivo com dois IPs válidos diferentes (por exemplo, x.x.x.x e y.y.y.y ). Eu quero publicar um servidor na porta 996 , então eu uso iptables dnat rules para fazer isso.

 iptables -I PREROUTING -d x.x.x.x -p tcp --dport 996 -j DNAT --to 192.168.0.1
 iptables -I PREROUTING -d y.y.y.y -p tcp --dport 996 -j DNAT --to 192.168.0.1
 iptable -I FORWARD -j ACCEPT

quando o x.x.x.x é meu gateway padrão (com mais prioridade), posso conectar-me ao meu servidor através de x.x.x.x:996 e não consigo me conectar a y.y.y.y:996 e ao contrário de y.y.y.y .

Eu tive algumas tentativas em ip rule também, mas não deu certo!

ip rule add from x.x.x.x lookup x.out
ip rule add from y.y.y.y lookup y.out
ip route add default via x.x.x.x table x.out
ip route add default via y.y.y.y table y.out

Mas também não funciona! Eu usei tcpdump para analisar os pacotes e não consigo ver os pacotes nativos para o IP não trabalhado. por exemplo:

 09:21:43.456367 IP 55.23.109.187.10616 > y.y.y.y.996: Flags [S], seq 4191468044, win 65535, options [mss 1390,sackOK,TS val 11838421 ecr 0,nop,wscale 8], length 0
 09:21:45.456367 IP 55.23.109.187.10616 > y.y.y.y.996: Flags [S], seq 4191468044, win 65535, options [mss 1390,sackOK,TS val 11838421 ecr 0,nop,wscale 8], length 0
 09:21:49.456367 IP 55.23.109.187.10616 > y.y.y.y.996: Flags [S], seq 4191468044, win 65535, options [mss 1390,sackOK,TS val 11838421 ecr 0,nop,wscale 8], length 0
 09:21:52.456367 IP 55.23.109.187.10616 > y.y.y.y.996: Flags [S], seq 4191468044, win 65535, options [mss 1390,sackOK,TS val 11838421 ecr 0,nop,wscale 8], length 0

qual é o problema e como posso corrigi-lo?

NOTA: não quero resolver o problema com o CONNMARK!

    
por Hamid Reza Hasani 26.01.2018 / 04:46

0 respostas