ラズパイでVPNを構築する
外出している時に自宅のラズパイを操作したくなること,友人が家に来なくても開発できるようにしたいっていう経験からVPNを構築しようかな〜となりました.
簡単に構築できるようなので,早速取り掛かります.
VPNとは...
トンネリング技術を使って,自宅から会社のオフィスにあるPCに接続したりとかって時に便利な技術.暗号化されているから,家からオフィス間の通信を盗聴改竄もしにくくなったりする.
#VPN構築方法
順を追って説明します.
1.IPを固定する
ifconfigでどこのインターフェースがネットにつながっているものか(ipアドレスを振られているか)を確認します.
$ ifconfig
今回の場合はwlan0に割り当てられている.
$ sudo nano /etc/dhcpcd.conf
このコマンドを実行し,ファイルの一番したに以下の内容を記載する.
interface wlan0
static ip_address=192.168.1.120/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
一応説明しておくと,今回のip自身のipアドレス(ifconfigで確認したもの)が192.168.1.31でセグメントが192.168.1なのでこの数値になっています.
120となっているところは割り当てたい番号に変更してください.他のデバイスとアドレスが被るとめんどくさいので,今回は120にしています(使ってないだろうということ)
routersはデフォルトゲートウェイのIp
DNSのところはDNSサーバのIP
/24はサブネットマスク長です
設定が終わったら再起動します
sudo reboot
2.PiVPNを導入する
OpenVPN,WireGuardを簡単にラズパイに導入できるように用意してくれています!
ここにあります!詳しく見たい方は参照してください...
以下のコマンドを実行すると,VPNの設定が始まります.
$ curl -L https://install.pivpn.io | bash
IPアドレスの競合についての注意があるが(DHCP)今回は固定にしたので問題なし.
アドレスを固定し,静的IPアドレスなので,Noを選択.
Yesを選択
いくつかYesで進み,以下の画面がくる.
今回はWireGuardを選択
ポートを選択くる画面が出てくる.今回はデフォルトの51820を使う(何か他のもので使っていたら別の数値に割り振る必要がある)
確認画面,Yesを選択.
VPNクライアントのDNSプロバイダを選択します。
独自のものを使用する場合は、「カスタム」を選択します。
ローカルリゾルバを使用している場合は、PiVPN-is-local-DNS を選択し、リゾルバが 10.6.0.1 をリスンし、10.6.0.0/24 からのリクエストを許可していることを確認してください。 と書いてあります.
こだわりがなければなんでも大丈夫です. 今回はCloudFlareを使ってみます.
次の画面では Use this publicIPを選択しました.
いくつか進み以下の画面
自動アップデートをオンにするかどうか..Yesにします.
インストール完了から再起動をします.
これでVPNサーバーは設定完了です.
クライアント用プロファイルを作成する
$ pivpn add
を実行し,クライアントを追加します.
わかりやすいデバイス名を決定して入力
これで必要なプロファイルが作成され,
/home/pi/configs
に設置される.
$ ls -la /home/pi/configs
で確認可能.
Mac側の設定
ここからWireGuardのアプリを入手します.(AppleStore)
アプリを起動し,インポートを選択.
さっきラズパイ側で作ったconfをインポートする.
これでVPNの接続の完了です.