networkmanager-strongswan VPN - IKEv2 ルーティングの問題

networkmanager-strongswan VPN - IKEv2 ルーティングの問題

今日まで、私の会社へのVPN接続はnetworkmanager-strongswanを使用してデフォルトで機能します。

ただし、現在(カーネル5.8.0-38がインストールされているLinux Mint 20.1)VPNホストに接続できますが、リモートサービス(Web、git、rdp...)にはアクセスできません。リモートIPのpingも機能しません。

私はインターネットでたくさんの記事やチュートリアルを読んで、愚かなことをたくさん試しましたが、問題を解決できませんでした。だから今助けを求めることです。

動作する唯一の方法は、Charon-cmdを次のように使用することです。

sudo charon-cmd --cert <path_to_cert> --host <host_ip> --identity <identity>

しかし、私はNetworkManagerをGUI方式で接続/接続解除するのが好きで、このソリューションを使用するとLANサービスへのアクセスが失われるため、このソリューションを回避策と思います。

私はネットワーク構成に精通していませんが、charon-cmdはルーティングベースの接続を定義し、ipsecとnetworkmanagerはポリシーを使用するため、ルーティングの問題かもしれません。また、Charon-cmdは、ipsecやnetworkmanagerが使用していないipsec0デバイスを使用していることも確認しました。

Network Managerを使用してVPNに接続するときに追加されるポリシーは次のとおりです。

src 10.x.x.x/32 dst 0.0.0.0/0 
    dir out priority 383615 
    tmpl src 192.168.1.55 dst <host_ip>
        proto esp spi 0xc4ec728f reqid 14 mode tunnel
src 0.0.0.0/0 dst 10.x.x.x/32 
    dir fwd priority 383615 
    tmpl src <host_ip> dst 192.168.1.55
        proto esp reqid 14 mode tunnel
src 0.0.0.0/0 dst 10.x.x.x/32 
    dir in priority 383615 
    tmpl src <host_ip> dst 192.168.1.55
        proto esp reqid 14 mode tunnel

これはiptable-save出力です:

*mangle
:PREROUTING ACCEPT [58835:28708461]
:INPUT ACCEPT [58835:28708461]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [55809:6989866]
:POSTROUTING ACCEPT [55985:7014824]
:LIBVIRT_PRT - [0:0]
-A POSTROUTING -j LIBVIRT_PRT
-A LIBVIRT_PRT -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
*nat
:PREROUTING ACCEPT [306:39378]
:INPUT ACCEPT [5:2408]
:OUTPUT ACCEPT [1193:105475]
:POSTROUTING ACCEPT [1119:99608]
:LIBVIRT_PRT - [0:0]
-A POSTROUTING -j LIBVIRT_PRT
-A LIBVIRT_PRT -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A LIBVIRT_PRT -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A LIBVIRT_PRT -s 192.168.122.0/24 -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A LIBVIRT_PRT -s 192.168.122.0/24 -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A LIBVIRT_PRT -s 192.168.122.0/24 -d 192.168.122.0/24 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [12:1454]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [8:916]
:LIBVIRT_FWI - [0:0]
:LIBVIRT_FWO - [0:0]
:LIBVIRT_FWX - [0:0]
:LIBVIRT_INP - [0:0]
:LIBVIRT_OUT - [0:0]
:ufw-after-forward - [0:0]
:ufw-after-input - [0:0]
:ufw-after-logging-forward - [0:0]
:ufw-after-logging-input - [0:0]
:ufw-after-logging-output - [0:0]
:ufw-after-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-before-input - [0:0]
:ufw-before-logging-forward - [0:0]
:ufw-before-logging-input - [0:0]
:ufw-before-logging-output - [0:0]
:ufw-before-output - [0:0]
:ufw-reject-forward - [0:0]
:ufw-reject-input - [0:0]
:ufw-reject-output - [0:0]
:ufw-track-forward - [0:0]
:ufw-track-input - [0:0]
:ufw-track-output - [0:0]
-A INPUT -j LIBVIRT_INP
-A INPUT -j ufw-before-logging-input
-A INPUT -j ufw-before-input
-A INPUT -j ufw-after-input
-A INPUT -j ufw-after-logging-input
-A INPUT -j ufw-reject-input
-A INPUT -j ufw-track-input
-A FORWARD -j LIBVIRT_FWX
-A FORWARD -j LIBVIRT_FWI
-A FORWARD -j LIBVIRT_FWO
-A FORWARD -j ufw-before-logging-forward
-A FORWARD -j ufw-before-forward
-A FORWARD -j ufw-after-forward
-A FORWARD -j ufw-after-logging-forward
-A FORWARD -j ufw-reject-forward
-A FORWARD -j ufw-track-forward
-A OUTPUT -j LIBVIRT_OUT
-A OUTPUT -j ufw-before-logging-output
-A OUTPUT -j ufw-before-output
-A OUTPUT -j ufw-after-output
-A OUTPUT -j ufw-after-logging-output
-A OUTPUT -j ufw-reject-output
-A OUTPUT -j ufw-track-output
-A LIBVIRT_FWI -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A LIBVIRT_FWI -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A LIBVIRT_FWO -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A LIBVIRT_FWO -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A LIBVIRT_FWX -i virbr0 -o virbr0 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p tcp -m tcp --dport 68 -j ACCEPT
COMMIT

ありがとうございます!


編集する:

VPNなしのルーティング(表220)

192.168.1.0/24 dev enp3s0 proto static src 192.168.1.55 
192.168.122.0/24 dev virbr0 proto static src 192.168.122.1 linkdown

NetworkManagerを介したVPNによるルーティング(表220)

default via 192.168.1.1 dev enp3s0 proto static src 10.x.x.x 
192.168.1.0/24 dev enp3s0 proto static src 192.168.1.55 
192.168.122.0/24 dev virbr0 proto static src 192.168.122.1 linkdown

Charon-cmdを介してVPNを使用するパス(表220)

default dev ipsec0 proto static src 10.x.x.x 
<host_ip> via 192.168.1.1 dev enp3s0 proto static src 192.168.1.55 
192.168.1.0/24 dev ipsec0 proto static src 192.168.1.55 
192.168.122.0/24 dev ipsec0 proto static src 192.168.122.1 

注:charon-cmdはipsec0デバイスを定義し、NetworkManagerは仮想IPアドレスのみを生成します。

ベストアンサー1

ついに偶然問題を解決しました! :)

今週末に家を空にして、@ecdsaが提案したように統計を見たいと思います(ありがとうございます!)。 NMを使用してVPNに接続すると機能するようです。私の問題は設定の問題ではなくISPの問題であると結論付けました。

検索を数回してみると、私のフランスISP「無料」がIP v4を4人の顧客と共有していることがわかりました(ポート範囲を4つのサブ範囲に分割)。解決策は私のIPSに「フルスタックipv4」を提供するように頼むことでした。

源泉:

検索エンジン用のフランス語キーワード:
接続の問題VPN IKEv2 Strongswan avec Network Manager - 無料 freebox

おすすめ記事