プログラミング系ブログ

プログラミング系ブログ

プログラムやパソコンパーツ関連のことを、まったりと解説したり、しなかったりするブログです。

Raspi4 で VPN 設定 + 外部からの samba アクセス

dpcblog.hatenablog.com

前回の記事からの続きになります。
今日は、VPN 接続で家の外から NAS にアクセスする記事を書きます。
どこからでもアクセスできて大変便利ですよ!
Raspberry pi 4 に OpenVPN をダウンロードして設定しましょう~。
ちょっと今日は知識レベルと難易度高めです。

DDNS 登録

まずは DDNS を用いてドメイン名を取得します。
DDNS (ダイナミックDNS) は固定グルーバル ip でない、ip アドレスに固定ドメイン名を割り当てて アドレスが変更になった場合にDNS 情報を更新してくれるシステムのことです。 この DDNS を使えば、グローバル ip アドレスが変わってもドメイン名で VPN 接続ができるわけです!便利!
筆者は DDNS Nowドメイン名を取得しました。無料です。

新規登録からドメイン名を取得してください! ドメイン名を発行してくれるサイトはこのサイト以外にもあるので実際にはどこでもOKです。 固定グローバル ip アドレスを契約している方はこのステップは不要です。

次に DDNS サービスでドメイン名取得後は、皆様、ルーターをお持ちだと思うので、 ddns ルータ 設定」で検索していただければ、ルータごとにグローバル ip の変更を DDNS now に通知する設定が分かると思います。ここはルータ―毎に違うので省略します。

もしもルーターにそんな機能無いよー。という方がいらっしゃれば、Raspberry pi 4 から通知設定できます。 省略しますがこちらのサイトが詳しいのでこちらを見ながら設定してください~。

PiVPN を使って OpenVPN をインストール

OpenVPN を直にインストールして VPN の設定をするのは骨が折れるので、Raspberry Pi 用に開発されている PiVPN を使ってインストールします。こちらの方が断然簡単です。
詳しく知りたいという方は PiVPN の Github の HP は以下のサイトです。

Raspberry Pi で、

curl -L https://install.pivpn.io | bash

とコマンドを打ってやればインストールが始まります。 f:id:dpcblog:20200325180756p:plain
インストーラーの説明です。了解を選択です。
f:id:dpcblog:20200325180800p:plain
ip アドレスの変更を行う旨が書いてあります。了解を押してください。
f:id:dpcblog:20200325180802p:plain
有線 lan か 無線 lan か選択です。スペースキーで選択できます。ご自身の設定に合わせてどうぞ!
f:id:dpcblog:20200325183446p:plain
このブログをみていただいている方は前回の設定で ip アドレスを固定していると思いますので、「はい」を選択してください。 まだ固定していない方は「いいえ」を押せば ip の固定設定に入ります。
f:id:dpcblog:20200325180808p:plain
ローカルユーザーで設定します。了解を選択です。
f:id:dpcblog:20200325180813p:plain
ユーザーを選択してください。
f:id:dpcblog:20200325180817p:plain
OpenVPN を選択してください。Wireguard もありますが、筆者が試したところ Windows では未だつながりませんでした。 iPhone は繋がりましたが、まだ Wireguard 自体がテスト段階らしいので OpenVPN をおすすめします。
f:id:dpcblog:20200325180820p:plain
プロトコルを選択します。速度的に有利な UDP のままで OK です。
f:id:dpcblog:20200325180825p:plain
通信するポートを選択します。筆者はデフォルトのまま「1194」にしてあります。めんどくさいので...。
f:id:dpcblog:20200325180828p:plain
このポートでいいか聞かれます。「はい」を選択です。
f:id:dpcblog:20200325180831p:plain
DNS のプロバイダーを選択します。速いらしいですし、Quad9 のままでよいと思います。
f:id:dpcblog:20200325180834p:plain
カスタム検索ドメインを設定しますが、筆者は持ってませんので、「いいえ」を選択しました。
f:id:dpcblog:20200325180837p:plain
次にグローバル ip か ドメイン名のどちらでサーバー化するか聞かれています。固定 ip を契約している方は Public ip を選択してください。先ほど DDNS Now でドメイン名を取得した方は、下の public DNS を選択です。 f:id:dpcblog:20200325180840p:plain
ドメイン名を入力します。
f:id:dpcblog:20200325180843p:plain
正しいかどうか確認して「はい」押してください。
f:id:dpcblog:20200325180846p:plain
バージョンの設定?です。「はい」を押してください。
f:id:dpcblog:20200325180851p:plain
セキュリティに関して、鍵の暗号化強度を選択します。正直256bitで十分だと思います。 大きい数字にするとセキュリティは上がりますが raspberry pi の性能的な問題で遅くなるらしいです。 不安な方は大きい数字をどうぞ。
f:id:dpcblog:20200325180854p:plain
鍵を生成します。了解を選択です。
f:id:dpcblog:20200325180856p:plain
自動アップグレードの設定を確認します。了解を選択です。
f:id:dpcblog:20200325180859p:plain
自動アップグレード設定するかを聞かれています。「はい」でいいと思います。
f:id:dpcblog:20200325180902p:plain
pivpn add でユーザーが追加できるよと書いてあります。了解を選択です。
f:id:dpcblog:20200325180906p:plain
再起動後に有効になります。再起動しますか~?と聞かれています。 「はい」を押すと再起動します。
f:id:dpcblog:20200325180910p:plain
再起動します。了解を押すと再起動が始まります。

もしも途中でなにか失敗したなと思ったら pivpn -u でアンインストールできるのでダウンロードするところからやり直しした方が速いです。

ユーザーの追加と接続

再起動が完了したら、

pivpn add

とコマンドを打つと、ID と パスワード入力画面になるので、アカウントを作りましょう。 /home/[ユーザー名]/ovpns の中に ~.ovpn 設定ファイルが出来ていますので、~.ovpnファイルを使って VPN 接続します。
このファイルを samba 経由 もしくは USBメモリなんかで、VPN 接続したい PC に移動させてください。 メールなんかでも送信できますが、セキュリティ的によろしくないのでお勧めしません。

次に OpenVPN connect を接続したい PC にインストールします。

上記のサイトからダウンロードしてください。 mac の方は mac 版もあります。 これをインストールして、~.ovpn ファイルを File タブから読み込めば VPN 接続できるはずです。 とはいえ、自宅の LAN 内からは接続できませんので、テザリングなどを駆使して確認しましょう。
おっと、ルーターのポート開放も忘れずに行ってください。 ルータの UDP ポート 1194 を開放しましょう。
筆者はソフトバンクユーザーなので、テザリング有料ですが、試すだけならMy softbank から契約して、 VPN 接続確認後、次の日までにすぐ解除すればよく、料金も日割りでした。
iPhone にも OpenVPN connect のアプリがありますので、ダウンロードすれば使えますよ! これでフリー wifi とかでも安全に使えますね!!

VPN で samba 接続

このままでは、まだ VPN 側から samba での共有ファイルにはアクセスできないので、samba の 設定ファイルに設定を追加します。
raspberry pi 側で

sudo nano /etc/samba/smb.conf

とし、samba の設定ファイルを開きます。#### Networking #### と書かれた部分あたりに、

;   interfaces = 127.0.0.0/8 eth0

などとなっているところがあると思います。その下の行に、

;   hosts allow = 192.168. 10.8.

と追記してください。

 sudo service smbd restart  

で、samba を再起動しておきましょう。
これで、192.168. と 10.8. から始まる ip からの接続を許可する設定になりました。 なので、VPN 接続した後に、Windows 側のエクスプローラー上部の検索窓?に "¥¥10.8.0.1" と入れてください。
これで samba での共有フォルダにアクセスできると思います。
こんな感じです。
f:id:dpcblog:20200325210557p:plain

おわりに

筆者的には勉強にもなったし、専用機買うより安く済むので結果的に raspi4 を買ってよかったと思っています。NAS 専用機よりも性能自体はいいですからね!
なるべく分かりやすく書いたつもりなのですが、筆者も初めて設定したのもあり、もともとが難しすぎてわかりやすく書けたかどうか...。
また不備なく書いたと思いますが、もしも間違っている、接続できないなどありましたら指摘いただけると助かります。
読んでいただきありがとうございました。