外出時に外から自宅LANに乗り込むためにVPNサーバーを構築します。
インストール
インストールはパッケージを利用します。
# pkg install wireguard
access: 200890
外出時に外から自宅LANに乗り込むためにVPNサーバーを構築します。
インストールはパッケージを利用します。
# pkg install wireguard
設定は、 /usr/local/etc/wireguard/で行います。
まず、サーバ側の秘密鍵と公開鍵を生成します。
# cd /usr/local/etc/wireguard/ # wg genkey | tee wg0.pri | wg pubkey > wg0.pub
同様にクライアント側の秘密鍵と公開鍵を生成します。
# cd /usr/local/etc/wireguard/ # 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.5/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 アプリにインポートします。
wg0.conf以外のファイルはもう使わないので削除します。
(ファイルを無くしてしまった場合などは再生成するのが安全です)
wg0.conf をroot以外から読めなくしておきます。
# rm /usr/local/etc/wireguard/*.pri # rm /usr/local/etc/wireguard/*.pub # rm /usr/local/etc/wireguard/android.conf # chmod 600 /usr/local/etc/wireguard/wg0.conf
/etc/rc.conf に起動の設定を記載します。
service wireguard enable sysrc wireguard_interfaces="wg0"
起動します。
# service wireguard start