家の PC にリモートデスクトップでアクセスしたくなったので環境構築したお話。
Chrome の Remote Desktop 機能使えば簡単にできるのかと思ったけれども Android から接続した場合に Ctrl キーなどを入力する方法がなかったのでしかたなく VPN サーバーをセットアップすることにしました。サーバーとなるのは以前の記事にもした「kano を DietPi でサーバーにした」ラズパイです。
DietPi に PiVPN をインストールする
PiVPN (Simplest OpenVPN setup and configuration, designed for Raspberry Pi.) というものを見つけたのでこれを使います。
とは言っても、DietPi 使いこなしてないので作法を知らないのですけど…
DietPi はログインすると次のような表示となります。
なんとなく dietpi-software というやつを使えば良さそうです。実行してみましょう。
![](dietpi-software-01.png)
Search で検索します。
![](dietpi-software-02.png)
検索ワードは vpn で。
![](dietpi-software-03.png)
PiVPN があったので選択して Ok で戻ります。
![](dietpi-software-04.png)
Install でさっき選択した PiVPN をインストールします。
![](dietpi-software-05.png)
インストール中にサービスが止まったりするよと注意書き
![](dietpi-software-06.png)
OpenVPN もインストールするよ。
![](dietpi-software-07.png)
サーバーだからIPアドレスを固定する必要があるよ。
![](dietpi-software-08.png)
今のアドレスで固定しちゃってよいですか?と、DHCP サーバーで予約アドレスにしてあるので Ok
![](dietpi-software-09.png)
DHCP の IP プールだから DHCP サーバー側をうまいことやっといてね。
![](dietpi-software-10.png)
OpenVPN 用のユーザー選んでね。
![](dietpi-software-11.png)
ここでは pivpn を選択することにしました。
![](dietpi-software-12.png)
インターネットにポートを公開するサービスだから unattended-upgrades 機能を有効にすることを推奨しますよと、でも reboot は自分でやってね。
![](dietpi-software-13.png)
unattended upgrades を有効にしますか?はい。
![](dietpi-software-14.png)
OpenVPN で使うポートを UDP にするか TCP にするかを選択する。UDP にします。
![](dietpi-software-15.png)
ポート番号はデフォルトの 1194 のままにする。
![](dietpi-software-16.png)
![](dietpi-software-17.png)
OpenVPN 2.4 からよりセキュアな認証と鍵交換をサポートしているので有効にしますか? モバイルアプリの OepnVPN Connect はサポートしてます。はい有効にします。
![](dietpi-software-18.png)
暗号の鍵長選択。うちのラズパイは貧弱なので 256 ビットを選択。
![](dietpi-software-19.png)
クライアントが接続する先のIPアドレス or DNS 名指定。我が家は固定IPアドレスではないので DNS を選択する。
![](dietpi-software-20.png)
DNS 名指定。我が家の WiFi ルーターは TP-Link Deco M5 なので簡単に DDNS 設定できました。
![](dietpi-software-21.png)
確認。
![](dietpi-software-22.png)
VPN クライアントに配る DNS サーバーの IP アドレスリストを指定します。有名所の Public DNS サーバーは選択肢から選べます。スクロールして見えなくなっていますが Google の 8.8.8.8 のやつも1番目にありました。VPN での接続先にあるサーバーを指定したりする場合は Custom を選択します。
![](dietpi-software-23.png)
Quad9 (9.9.9.9) を指定してみました。
![](dietpi-software-24.png)
確認。
![](dietpi-software-25.png)
インストール完了。pivpn add
でクライアント用プロファイル作ってね。ログは /etc/pivpn
ディレクトリにあるよ。
![](dietpi-software-26.png)
インストール後は reboot をオススメします。reboot しますか?はい。
![](dietpi-software-27.png)
reboot します。
![](dietpi-software-28.png)
Ok で reboot するよ。
インストール完了しました。次はクライアント用プロファル作成です。
VPN クライアント用プロファイル作成
インストール中にも表示されていたように pivpn add
コマンドで作成できます。
# pivpn -h
::: Control all PiVPN specific functions!
:::
::: Usage: pivpn <command> [option]
:::
::: Commands:
::: -a, add [nopass] Create a client ovpn profile, optional nopass
::: -c, clients List any connected clients to the server
::: -d, debug Start a debugging session if having trouble
::: -l, list List all valid and revoked certificates
::: -r, revoke Revoke a client ovpn profile
::: -h, help Show this help dialog
::: -u, uninstall Uninstall PiVPN from your system!
キーペアの秘密鍵をパスフレーズで保護しない場合は pivpn add nopass
と実行します。 実行したら Enter a Name for the Client:
と、クライアント名の入力を求められるので入力したら /home/pivpn/ovpns
ディレクトリに クライアント名.ovpn
ファイルが作成されます。このファイルをメールなどでスマホ (スマホじゃなくても良いけど) に送って OpenVPN Connect アプリを起動して読み込めば完了です。
あ、ポート転送忘れてた。
ルーターでのポート転送
我が家は Softbank のルーターの下にさらに WiFi ルーターの TP-Link Deco M5 が NAT しているのでそれぞれで 1194/udp を転送しました。
[Softbank Router] --> [Deco M5] --> [OpenVPN on DietPi]
これで Microsoft Remote Desktop アプリを使えば Ctrl キーとかも使えます。やったネ!(Beta版もある)