OpenVPNネットワーク内にマシンのネットワークがあります。問題なく、ローカルマシンからそのネットワークに接続できます。
openvpn --config ./myconfig.ovpn --auth-user-pass ./mycredentials
問題は、別のリモートマシン(クラウドベースのVPS)をクライアントとして接続しようとしていることです。 VPSで同じ構成ファイルと資格情報を使用しても機能しません。
基本的に何が起こるかは、マシンがフリーズすることです。現在のシェルセッションが応答を停止します。私の唯一の方法は、マシンを再起動することです。さらに悪いことに、サービスとして実行すると(service openvpn start
に構成ファイルを含む/etc/openvpn
)、マシンに戻ることすらできません。再起動後も。
たぶん、接続が確立されていて、SSHが切断されていますか?よくわかりません。しかし、私が本当に理解する必要があるのは、VPNのクライアントとしてVPSをセットアップし、それでもマシンを制御できるようにする方法です。
それで、これにもっと多くの作業をした後...私は実際にマシンに入ることができることを発見しました(SSH経由ではありませんが)。 openvpnをオフにすると、通常どおりSSHで接続できました。疑惑が確認されました。
次に、質問は次のようになりました。OpenVPNクライアントにSSHで接続するにはどうすればよいですか。
問題を抱えている他の人のために、私もここに解決策を置いています:
ip rule add from x.x.x.x table 128
ip route add table 128 to y.y.y.y/y dev ethX
ip route add table 128 default via z.z.z.z
X.x.x.xがパブリックIP、y.y.y.y/yがパブリックIPアドレスのサブネット、ethXがパブリックイーサネットインターフェイス、z.z.z.zがデフォルトゲートウェイである必要があります。