ラズパイでVPN(wireguard)

  • SoftEtherはもう古いみたいなので、設定が簡単なwireguardを使用することにした
  • 目的としては達成できそうだ
  • サーバ側で作成したキー情報ファイルをクライアント側の専用アプリ(PC用、android用など)に読み込ませて使用するタイプの仕組み

最終的にできたこと

  • スマホからインターネット経由でVPN接続ができた
  • スマホからラズパイにVNC接続できた(ラズパイ自身にも接続できることが確認できた
  • スマホから自宅PCにVNC接続できた

wireguardについて思ったこと

  • セット・アップが簡単(SoftEtherに比べて)
  • 一つだけポート「51820」を使用するのでわかりやすい
  • クライアント側にも専用アプリを使用するが、設定はサーバ側で自動的に作成されたものを使うだけなのでわかりやすい(接続先とポート、鍵情報などが含まれる)

前準備

  • ラズパイに固定IPを設定している
  • ダイナミックDNSを準備してある

手順概要

  • wireguardのインストール、定義ファイル作成
  • androidから接続

インストール

SSHで接続してして操作

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

固定IPを使うので「No」

「pi」を選択

「wireguard」を選択

ポートはデフォルトの「51820」のままでいい

「Google」を選択

「DNS Entry」を選択

ダイナミックDNSで取得したドメインを入れる

再起動しておく

再起動後にSSH接続する

設定ファイルを作成するために定義を作成する

sudo pivpn add

「myhome」という名前で定義ファイルを作成した
ファイルは「/home/pi/configs」に作成される

ファイルを確認してみる

このファイルには、接続先やポート、暗号化されたキー情報が格納されているみたい

ポート転送(ルータ)

TCPno51820をラズパイに転送設定している

androidから接続

ラズパイでQRコードを表示してスマホのwireguardアプリでQRコードを読み込ませる

ラズパイでQR表示

sudo pivpn -qr

※PCでのラズパイへのSSH接続で実行してもQRコードが正しく表示されなかったので、ラズパイにVNCで接続して、ターミナル上で実行してQRコードwp表示する

スマホ(android)にて設定取り込み

playストアからアプリを入れる

青い+ボタンで設定を追加

QRを選択

QRを認識すると保存する設定の名前をを入力することになる
「myhome」とした

設定が保存された
スイッチをクリックすると接続できる

画面の上の方に鍵マークが表示される
これはVPN接続中の意味を表す
※自宅の中でスマホ接続を試す場合は自宅ネットワークのwifi接続をOFFにしてから試さないと外部からの接続を試したことにならないので注意すること!!

この画面はVPN接続後に、スマホのVNCアプリでラズパイ(192.168.20.100)に接続して画面が出るか確認した画面です

VPNを切断する場合はスイッチをOFFにする

最新情報をチェックしよう!