複数のVPN接続に接続するとルートが削除される

複数のVPN接続に接続するとルートが削除される

複数の VPN 接続に接続すると (最初に接続された VPN へ) パスが失われます。

設定

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

接続前のルーティングテーブル

# 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

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

10.0.80/20 VPNサーバーに接続しました(最初のサーバーはまだ接続されています) - パス10.0.64/20が消えました!

# 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

VPNサーバーが異なるCIDRにあるのに、なぜこれが起こるのですか?

その後、10.0.64/20にパスを手動で追加すると、2つのネットワークのいずれかにアクセスできます。

ベストアンサー1

VPNクライアントはルーティングテーブルを置いて互いに競合しているようです。

彼らはまたルーティングとデフォルトゲートウェイを変更し、明らかに最後にロードされたゲートウェイは最初に生成されたルートを変更するという利点がありました。

最後に、最後のVPNクライアントがロードされた後に失われたルーティング/他の通信経路が原因で、最初のVPNクライアントのネゴシエーション時間/接続維持タイマーが混乱する可能性があります。 (これ自体でもパスが消えたことを説明できます)。

見たように、同じクライアントで複数のVPNクライアントを同時に実行することは完全に正しくありません。

同時に実行しようとする機会の1つは、タスクが完了した後にルーティングテーブルを混乱させることです。しかし、時間が足りないので、可能であればスクリプトを書く必要があるかもしれません。

あなたの質問に説明されている症状は単に標準的な動作です。

PS。私はLinuxでCkeckpointクライアントへのルーティングをめちゃくちゃにしていますが、経験と理論的知識によって、クライアント/ファイアウォールが切断されたと判断するまでに時間が実際に制限されていることを知っています。

おすすめ記事