Olá.
Tenho um router A que possui alguns endereços IP na Internet. Há o router B, que não possui IP na Internet e está atrás de um NAT em um terceiro router C que possui IP na Internet mas por algumas questões não posso fazer o port forwarding nele. Ambos rodam Mikrotik RouterOS.
Os routers A e B estão ligados por túneis EoIP por meio de um bridge no router C:
router A ---- eoip ---- router C [bridge] ---- eoip ---- router B
Estou tentando fazer o port forwarding de uma range de portas em um dos IPs do router A para o router B através desse túnel.
No router A tenho somente as seguintes regras no firewall, nenhuma mais:
Código :/ip firewall nat add action=src-nat chain=srcnat disabled=no protocol=tcp src-address=\ <IP DO ROUTER B NO EOIP> src-port=<RANGE DE PORTAS> to-addresses=<IP NA INTERNET> to-ports=\ <RANGE DE PORTAS> add action=dst-nat chain=dstnat disabled=no dst-address=<IP NA INTERNET> \ dst-port=<RANGE DE PORTAS> protocol=tcp to-addresses=<IP DO ROUTER B NO EOIP> to-ports=\ <RANGE DE PORTAS> add action=src-nat chain=srcnat disabled=no protocol=udp src-address=\ <IP DO ROUTER B NO EOIP> src-port=<RANGE DE PORTAS> to-addresses=<IP NA INTERNET> to-ports=\ <RANGE DE PORTAS> add action=dst-nat chain=dstnat disabled=no dst-address=<IP NA INTERNET> \ dst-port=<RANGE DE PORTAS> protocol=udp to-addresses=<IP DO ROUTER B NO EOIP> to-ports=\ <RANGE DE PORTAS>
No router B quero fazer o forwarding de uma dessas portas para um servidor em uma rede interna, e para isso tenho as seguintes regras nele, as únicas regras:
Código :/ip firewall nat add action=src-nat chain=srcnat disabled=no protocol=tcp src-address=\ <IP DO SERVIDOR INTERNO> src-port=<PORTA> to-addresses=<IP DO ROUTER B NO EOIP> to-ports=\ <PORTA> add action=dst-nat chain=dstnat disabled=no dst-address=<IP DO ROUTER B NO EOIP> \ dst-port=<PORTA> protocol=tcp to-addresses=<IP DO SERVIDOR INTERNO> to-ports=\ <PORTA> add action=src-nat chain=srcnat disabled=no protocol=udp src-address=\ <IP DO SERVIDOR INTERNO> src-port=<PORTA> to-addresses=<IP DO ROUTER B NO EOIP> to-ports=\ <PORTA> add action=dst-nat chain=dstnat disabled=no dst-address=<IP DO ROUTER B NO EOIP> \ dst-port=<PORTA> protocol=udp to-addresses=<IP DO SERVIDOR INTERNO> to-ports=\ <PORTA>
Configurei a interface web do RouterOS no router B para uma das portas na range forwarded, sem restrição de origem de acesso, mas não consigo acessá-la por meio do endereço http://<IP DO ROUTER A NA INTERNET>:<PORTA>.
Fica carregando interminantemente. Também não consigo acessar na rede do router B o servidor interno devidamente configurado na porta encaminhada para ele.
O tracking está ativo no firewall dos dois routers. Quando tento acessar a interface web do router B pelo IP público do router A posso ver que o tráfego está passando pela regra dstnat, somente ela. Vejo que na lista de conexões surgem algumas com destino ao IP do router B no túnel EoIP e a porta que tentei acessar (da interface web), porém o estado delas está sempre em syn-received ou syn-sent. Isso ocorre com qualquer porta que eu tentar acessar, inclusive a que encaminhei no router B para o servidor interno.
No router B não surge nenhum tráfego em regra alguma dstnat ou srcnat, porém vejo na lista de conexões ativas que as mesmas que aparecem no router A aparecem também nesse, e na mesma situação, sempre no estado syn-received ou syn-sent. Isso também ocorre como no caso anterior, em conexões a quaisquer portas, inclusive a que encaminho para o servidor interno.
Eu consigo fazer "funcionar" substituindo de src-nat para masquerade o action das regras do chain srcnat. Porém não quero assim pois o IP que vejo nos acessos que chegam, tanto no router B quanto no servidor interno são dos routers, quando na verdade quero o IP na Internet de quem fez a conexão, como aparece nas conexões com status syn-received e syn-sent na lista, como citei anteriormente.
E aí, galera, o que está acontecendo com esses routers? Como posso resolver isso? Já tentei reiniciar os dois, definir a interface de saída nas regras srcnat e alterar os action para netmap, mas nada solucionou o caso.
Conto com a ajuda de vocês. Até mais.