OpenVPN クライアントを使う
blog
2020-4-23 0:28 JST

OpenVPN のクライアントを使ってみます。

インストール

Ubuntu なら apt install でインストールできます。client.conf のサンプルは /usr/share/doc/openvpn の下にあるのでそれをコピーすればいいことになります。

install
$ sudo apt install openvpn
$ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client

結局 OpenVPN の Access Server

その後、client.conf を編集しようと思ったのですがAzure で OpenVPN の Access Server をインストールしてしまったのでそちらを使う方が楽みたいです。

本当はいろいろ準備

ログインする前に本当はいろいろ準備します。簡単に書くと、ユーザはあらかじめ作っておく必要があり、諸設定をする必要があります。例えばパスワードの設定や"Allow Access From:"などの設定。繋ぐ側も Linux Server だったりした場合、これをしておかないと VPN でつないだ瞬間にそれ以外のネットワーク接続を切ってしまいます。逆に言うと、Windows などでは標準の設定でよいでしょう。

OpenVPN に通常 User でログイン

OpenVPN AS(Access Server) にポート http://<ipアドレス>:943/ でログインします。Azure でデプロイすると勝手にこのポートになります。admin ではないことに注意。

設定的なな何かをダウンロード

ログインすると各OSに対応したドライバ(?)や設定ファイルなどが表示されるので OS にマッチした OpenVPN Connect なるものをダウンロードします。

今回のケースは Linux なのでペンギンマークをクリックすると、、、、単純に Linux の設定方法のページに飛ぶだけです(なるほど)。

本当に必要なのは "Yourself(user-locked profile)" という client.ovpn ファイルなので、ペンギンマークではなく、"Yourself"をクリックしてプロファイルをダウンロードします。

よくよくみると OpenVPN.net のrepoがある

OpenVPN.net のレポジトリから openvpn をインストールするのが本筋。ということでそうすることにします。その後、openvpn をクライアントから実行すれば VPN 接続です。意外に簡単。

なお、接続先は as.conf に書かれた IP アドレスです。Azure は VM を立ち上げなおしたりすると IP アドレスが変わってしまうので(やってないけど)ダイナミック DNS だかなんだかでちゃんと接続されるようにしなければなりません。単純に client.ovpn を変えるでもいいけどね。

openvpn
openvpn --config client.ovpn --auth-user-pass

--auth-user-pass はなくても大丈夫そう(パスワードを聞いてくる)。蛇足ながら Google のアプリを使ってに二段階認証もできるみたい。その場合は admin がサーバの設定をしなければならないらしい(つかってない)。

追加情報としてはデフォルト GW は VPN の先になった。

route
~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.27.232.1    128.0.0.0       UG    0      0        0 tun0

リンク集