中小企業診断士 ITコンサルのTakToolsです。テレワークの普及で、VPNを利用する機会も増えたかと思いますが、実際にVPNを導入するには結構お高くつくイメージがありますよね。無料という事で、シン・テレワークシステムを利用されている方も多いかと思いますが、期限付きだったりWindowsのみ利用可能だったりするので、次のソリューションを見つけておく必要があります。
という事で、RaspberryPi 4Bに無料のVPNサーバであるWireGuardを試してみたお話です。
WireGuard公式ページ
詳細は公式ページをご確認ください。
Raspbian を入れる
今回は、Raspberry Pi OS Liteを選択しました。Raspberry Pi Imagerを利用してSD Cardを作成します。
Raspberry Pi セットアップ
rasps-config
sudo raspi-config
- wifiの設定
- ssh有効
- ホスト名変更
- ロケーションの設定(en_GB.UTF-8 -> ja_JP.UTF-8)
- ユーザ名変更、パスワード変更
を行いました。
パッケージ更新
sudo apt update
sudo apt upgrade
ファイアウォール
ssh用と、wireguard用(UDP)のポートを有効にしました。
$ sudo apt-get install ufw
$ sudo ufw disable
$ sudo ufw default deny
$ sudo ufw allow proto tcp from xxx.xxx.xxx.xxx/24 to any port xxxx
$ sudo ufw allow proto udp to any xxxxxx
$ sudo ufw enable
セキュリティアップデート自動適用
$ sudo apt install unattended-upgrades
$ sudo dpkg-reconfigure -plow unattended-upgrades
IPアドレス固定
sudo apt install vim
sudo vim /etc/dhcpcd.conf
interface eth0
static ip_address=[設定したい固定IPアドレス]/24
static routers=[デフォルトゲートウェイのIPアドレス]
static domain_name_servers=[DNSサーバーのIPアドレス] ⭐️複数の場合はスペース区切り
PiVPN
今回は、インストールを簡略化できるPiVPNを利用しました。この中でWireGuardを選択します。
手順は以下のYouTubeを参考にしました。必ずご確認ください。
インストールの流れ
コマンドを実行することで、ウィザードが起動します。
$ curl -L https://install.pivpn.io | bash
以下、インストール中の画面となります。抜けていたらごめんなさい。
pivpn add
接続情報を追加します。ここではClient01としました。
$ pivpn add
Enter a Name for the Client: client01
::: Client Keys generated
::: Client config generated
::: Updated server config
::: WireGuard reloaded
======================================================================
::: Done! client01.conf successfully created!
::: client01.conf was copied to /home/<user>/configs for easy transfer.
::: Please use this profile only on one device and create additional
::: profiles for other devices. You can also use pivpn -qr
::: to generate a QR Code you can scan with the mobile app.
======================================================================
pivpn -qr
以下のコマンドを実行すると、画面上にQRコードが表示されます。
pivpn -qr
iPhoneやiPadなどは、WireGuardアプリをインストール後、このQRコードを読み込ませるとすぐにVPNが利用できるようになります。
macOS / Win10 pro / Raspbian
/home/<user>/configs/client01.conf が接続に必要な情報です。
それぞれのOSでWireGuardをインストール後、接続情報をコピペします。
なお、この情報が漏れると誰でも接続出来てしまうため、取扱に十分気をつけてください。
これで接続できるようになります。
まとめ
実際に構築が終わると、あっけなく接続が可能になります。WireGuardは無料でVPNが利用可能になるので、非常に可能性があるソフトウェアだといえます。シンテレワークシステムと比べると、Windows以外の環境からもVPNが使えるようになるのは大きいですね。
経路 | 繋ぎ方 | メリット | デメリット |
シンテレワーク経由 | Win10 -> シンテレワークシステム -> Win10(踏み台くん) -> 内部ネットワーク | 2要素認証、MACアドレス制限が使える | ・Windowsのみ利用可能 ・使用期限がある(状況次第?) |
WireGuard | 接続元[Win10 / macOS / Raspbian ] -> WireGuard -> 内部ネットワーク | ・接続がシンプル ・Windows以外のOSでも利用可能 | ・接続情報の取扱に十分に注意が必要。 ・アクセス制限が不十分 |
実際には、ご利用のネットワーク種類の確認、ルーター側のポート開放の設定が必要となり、十分に知識のある人が作業を行う必要があります。WireGuardはアクセス制限が不十分なところもあるため、お試しの際には、接続情報の取扱に関して十分にご注意ください。