Estou tentando conectar minha rede ao AWS VPC usando o Static IP AWS VPN. Eu segui as instruções da AWS e configurei corretamente o meu roteador MikroTik e posso executar ping na instância do Ubuntu que acompanhei neste VPC. Como eu tenho 2 ISPs no meu MikroTik, configurei outra VPN na AWS e decidi usar duas interfaces em sub-redes distintas na minha instância do Ubuntu AWS:
$ ifconfig
eth0 Link encap:Ethernet HWaddr 0A:72:28:AF:C7:CE
inet addr:192.168.254.4 Bcast:192.168.254.15 Mask:255.255.255.240
inet6 addr: fe80::872:28ff:feaf:c7ce/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1
RX packets:24297 errors:0 dropped:0 overruns:0 frame:0
TX packets:21627 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7074474 (6.7 MiB) TX bytes:2362441 (2.2 MiB)
eth1 Link encap:Ethernet HWaddr 0A:A2:0F:7C:75:FC
inet addr:192.168.254.20 Bcast:192.168.254.31 Mask:255.255.255.240
inet6 addr: fe80::8a2:fff:fe7c:75fc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1
RX packets:24996 errors:0 dropped:0 overruns:0 frame:0
TX packets:25227 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2307467 (2.2 MiB) TX bytes:5382812 (5.1 MiB)
Agora, mesmo tendo duas VPN configuradas corretamente nos lados de inicialização, apenas uma VPN funciona no momento. Por exemplo: imagine que a VPN nomeada aws-main esteja configurada para trabalhar com a sub-rede 192.168.254.0/28 e a VPN aws-backup esteja configurada para trabalhar com a sub-rede 192.168.254.16/28 , se eu quiser pingar o ip 192.168.254.4 eu preciso desabilitar a rota # 2, e se eu quiser pingar o ip 192.168.254.20 eu preciso desabilitar a rota # 1
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
1 A S ;;; ISP 1
0.0.0.0/0 yyy.yyy.yyy.yyy 1
2 S ;;; ISP 2
0.0.0.0/0 zzz.zzz.zzz.zzz 1
4 ADC yyy.yyy.yyy.0/24 y.y.y.y ether3 0
6 ADC zzz.zzz.zzz.0/30 z.z.z.z ether2 0
9 ADC 192.168.15.0/24 192.168.15.254 ether5 0
Se eu tentar o ping 192.168.254.20 quando as rotas # 1 e # 2 estiverem ativadas, posso ver essa mensagem no log:
backup-out srcnat in:(unknown 0) out:ether3, src-mac xxx, proto ICMP(type 8,code 0), 192.168.15.31 ->192.168.254.20, len 84
O Mikrotik está roteando o pacote para o ether3 ao invés do ether2 (o gateway correto para o VPN aws-backup ), acho que esse é o problema, mas não sei como forçar para corrigir a interface.
/ip firewall nat> print
0 chain=srcnat action=accept src-address=192.168.15.0/24
dst-address=192.168.254.0/28 log=yes log-prefix="main-out"
1 chain=srcnat action=accept src-address=192.168.15.0/24
dst-address=192.168.254.16/28 log=yes log-prefix="backup-out"
2 chain=srcnat action=accept src-address=192.168.254.0/28
dst-address=192.168.15.0/24 log=yes log-prefix="main-in"
3 chain=srcnat action=accept src-address=192.168.254.16/28
dst-address=192.168.15.0/24 log=yes log-prefix="backup-in"
4 chain=srcnat action=masquerade log=no log-prefix="masquerade"
estas são as políticas:
0 A ;;; AWS Tunnel 2 - BACKUP
src-address=0.0.0.0/0 src-port=any dst-address=192.168.254.16/28
dst-port=any protocol=all action=encrypt level=require
ipsec-protocols=esp tunnel=yes sa-src-address=zzz.zzz.zzz.zzz
sa-dst-address=x.x.x.x proposal=AWS ph2-count=9
2 A ;;; AWS Tunnel 1 - MAIN
src-address=0.0.0.0/0 src-port=any dst-address=192.168.254.0/28
dst-port=any protocol=all action=encrypt level=require
ipsec-protocols=esp tunnel=yes sa-src-address=yyy.yyy.yyy.yyy
sa-dst-address=K.K.K.K proposal=AWS ph2-count=8
Pelo menos para mim, o mikrotik não está roteando os pacotes da VPN usando a sub-rede correta para corrigir o gateway. Esse é o problema? Como posso resolver isso?