Rotas removidas ao conectar-se a várias conexões VPN

1

Quando me conecto a várias conexões VPN, perco rotas (da primeira VPN conectada).

Configuração

2 strongSwan servers
    - local_ts: 10.0.64.0/20
    - local_ts: 10.0.80.0/20
1 osx client

Tabela de roteamento antes de conectar

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.0.1        UGSc           82        0     en0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH             17  8937650     lo0
169.254            link#8             UCS             0        0     en0
192.168.0          link#8             UCS             4        0     en0
192.168.0.1/32     link#8             UCS             1        0     en0
192.168.0.1        40:d:10:73:1f:90   UHLWIir        24      120     en0   1177
192.168.0.10       f4:5f:d4:fb:24:4a  UHLWI           0      185     en0    925
192.168.0.23       dc:a9:4:2a:21:db   UHLWI           0        1     en0    714
192.168.0.31/32    link#8             UCS             0        0     en0
192.168.0.32       0:6d:52:13:65:63   UHLWIi          1       37     en0     73
192.168.0.33       link#8             UHLWI           0        1     en0
224.0.0/4          link#8             UmCS            2        0     en0
224.0.0.251        1:0:5e:0:0:fb      UHmLWI          0        0     en0
239.255.255.250    1:0:5e:7f:ff:fa    UHmLWI          0      104     en0
255.255.255.255/32 link#8             UCS             0        0     en0

Conectado ao servidor 10.0.64 / 20 vpn

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.0.1        UGSc           88        0     en0
default            link#13            UCSI            0        0  ipsec0
10.0.64/20         172.31.0.1         UGSc            0        0  ipsec0
18.130.230.56      192.168.0.1        UGHS            0        0     en0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH             31  8937992     lo0
169.254            link#8             UCS             0        0     en0
172.31.0.1         172.31.0.1         UH              1        0  ipsec0
192.168.0          link#8             UCS             4        0     en0
192.168.0.1/32     link#8             UCS             1        0     en0
192.168.0.1        40:d:10:73:1f:90   UHLWIir        34      128     en0   1162
192.168.0.10       f4:5f:d4:fb:24:4a  UHLWI           0      197     en0    872
192.168.0.23       dc:a9:4:2a:21:db   UHLWI           0        1     en0    661
192.168.0.31/32    link#8             UCS             0        0     en0
192.168.0.32       0:6d:52:13:65:63   UHLWIi          1       38     en0     20
192.168.0.33       link#8             UHLWI           0        1     en0
224.0.0/4          link#8             UmCS            2        0     en0
224.0.0/4          link#13            UmCSI           1        0  ipsec0
224.0.0.251        1:0:5e:0:0:fb      UHmLWI          0        0     en0
239.255.255.250    1:0:5e:7f:ff:fa    UHmLWI          0      113     en0
239.255.255.250    link#13            UHmW3I          0        4  ipsec0      8
255.255.255.255/32 link#8             UCS             0        0     en0
255.255.255.255/32 link#13            UCSI            0        0  ipsec0

Conectado ao servidor 10.0.80 / 20 vpn (primeiro ainda conectado) - a rota 10.0.64 / 20 desapareceu!

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.0.1        UGSc           81        0     en0
default            link#15            UCSI            0        0  ipsec1
10.0.80/20         172.31.1.1         UGSc            0        0  ipsec1
18.130.140.63      192.168.0.1        UGHS            0        0     en0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH             25  8938255     lo0
169.254            link#8             UCS             0        0     en0
172.31.0.1         172.31.0.1         UH              0        0  ipsec0
172.31.1.1         172.31.1.1         UH              1        0  ipsec1
192.168.0          link#8             UCS             3        0     en0
192.168.0.1/32     link#8             UCS             1        0     en0
192.168.0.1        40:d:10:73:1f:90   UHLWIir        28      148     en0   1190
192.168.0.10       f4:5f:d4:fb:24:4a  UHLWI           0      203     en0   1190
192.168.0.23       dc:a9:4:2a:21:db   UHLWI           0        1     en0    573
192.168.0.31/32    link#8             UCS             0        0     en0
192.168.0.32       0:6d:52:13:65:63   UHLWIi          1       40     en0   1186
224.0.0/4          link#8             UmCS            2        0     en0
224.0.0/4          link#15            UmCSI           1        0  ipsec1
224.0.0.251        1:0:5e:0:0:fb      UHmLWI          0        0     en0
239.255.255.250    1:0:5e:7f:ff:fa    UHmLWI          0      118     en0
239.255.255.250    link#15            UHmW3I          0        1  ipsec1     10
255.255.255.255/32 link#8             UCS             0        0     en0
255.255.255.255/32 link#15            UCSI            0        0  ipsec1

Por que isso aconteceria já que os servidores VPN estão em CIDRs diferentes?

Se eu adicionar manualmente a rota para 10.0.64 / 20 depois, posso acessar qualquer uma das redes.

    
por Christian 07.08.2018 / 21:47

1 resposta

0

Os clientes VPN estão claramente competindo, um com o outro pela tabela de roteamento.

Eles também se misturam com rotas e gateways padrão, com claramente o último carregado tendo a vantagem de estar na posição de modificar as rotas criadas pelo primeiro.

Por último, depois que o último cliente VPN é carregado, a falta de rotas / caminhos de comunicação diferentes pode confundir os tempos de negociação / temporização de atividade do primeiro. (e isso por si só também pode explicar as rotas que desaparecem).

Como você descobriu, não é totalmente kosher executando vários clientes VPN simultaneamente no mesmo cliente, e mais se eles estão implementando VPNs de túnel completo.

Uma das chances que você pode ter de tentar executá-los ao mesmo tempo é mexer na tabela de roteamento depois que eles terminarem. No entanto, provavelmente ele deve ser script, como você tem um tempo muito curto, se for possível fazê-lo.

Eu tenho medo que os sintomas que você está descrevendo em sua pergunta sejam comportamentos padrão simples.

PS. Estou mexendo nas rotas de um cliente Ckeckpoint no Linux e, a partir do conhecimento empírico e teórico, sei que tenho um tempo limitado antes que o cliente / firewall decida que a conexão foi ruim.

    
por 07.08.2018 / 22:19