外出時に外から自宅LANに乗り込むためにVPNサーバーを構築します。
インストール
インストールはパッケージを利用します。
# pkg install wireguard
access: 265943
外出時に外から自宅LANに乗り込むためにVPNサーバーを構築します。
インストールはパッケージを利用します。
# pkg install wireguard
設定は、 /usr/local/etc/wireguard/で行います。
まず、サーバ側の秘密鍵と公開鍵を生成します。
# cd /usr/local/etc/wireguard/ # (umask 077; wg genkey | tee wg0.pri | wg pubkey > wg0.pub)
同様にクライアント側の秘密鍵と公開鍵を生成します。
# cd /usr/local/etc/wireguard/ # (umask 077; wg genkey | tee android.pri | wg pubkey > android.pub)
/usr/local/etc/wireguard/wg0.conf という名前の設定ファイルを作成します。
[Interface] Address = 10.0.1.1/24 SaveConfig = false ListenPort = 51820 PrivateKey = (wg0.pri の内容) [Peer] PublicKey = (android.pub の内容) AllowedIPs = 10.0.1.0/24
クライアント側の設定ファイルは、 /usr/local/etc/wireguard/android.conf とします。
[Interface] PrivateKey = (android.pri の内容) Address = 10.0.1.5/24 [Peer] PublicKey = (wg0.pub の内容) AllowedIPs = 10.0.0.0/16 Endpoint = home.junkie.work:51820
このandroid.conf を Android の WireGuard アプリにインポートします。
インポートする際に、QRコードを利用すると便利です。パッケージから qrencode をインストールして、以下のコマンドでQRコードを表示します。
# pkg install libqrencode # qrencode -t ansiutf8 < /usr/local/etc/wireguard/android.conf
AndroidのWireGuardアプリで、「+」をタップして「QRコードをスキャン」を選択し、QRコードを読み取ります。
/etc/rc.conf に起動の設定を記載します。
# sysrc wireguard_enable="YES" # sysrc wireguard_interfaces="wg0"
起動します。
# service wireguard start