Linux(Xubuntu18.04)からNATを通してL2TP/IPsecクライアント接続する

network-manager-l2tp-gnome とかでやろうとしたのですが接続の確立に失敗します。

原因を探るのにはjournalctl -e でログを見ました。INVALID_ID_INFORMATION hash n(inval_id) と怒られていて、理由はNAT環境のせいで送信元IPアドレスと伝えているIPアドレス(192.168.x.x)が異なるからでした。

ワークアラウンドとしてはIPsecのコンフィグでleftidとしてNAT外側のIPアドレスを指定するのがよさそう(しかし、これは可変する環境ではめちゃくちゃ面倒。0.0.0.0とかで効かないかな?)なのですが、NetworkManagerを挟んだ状態でleftid(実際の送信元IPアドレス)を書き換える方法が不明だったので、コンソールベースで行いました。

方法はこちらを参考にしました。

Linux上でのL2TP/IPSecのクライアント設定 – Qiita

投入したコマンドは以下

sudo vim /etc/ipsec.conf
sudo vim /etc/ipsec.secrets 
sudo systemctl restart ipsec
sudo ipsec status
sudo vim /etc/xl2tpd/xl2tpd.conf 
sudo vim /etc/ppp/options.l2tpd.client
sudo systemctl restart xl2tpd.service
sudo vim /etc/xl2tpd/l2tp-secrets
ip link
xl2tpd-control connect l2tp-nat
journalctl -e
sudo ip route add 10.200.0.0/24 via 10.200.0.101 dev ppp0
広告
カテゴリー: コンピュータ, 通信 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中