仮構築・WireGuardとFreeBSD 13.0Rを使用したandroidスマートホン自宅アクセス環境
OpenVPNで作っていた自宅アクセス用VPN回線がうまく通らなくなった(*1)ので再構築しようかと考えていた矢先、WireGuardなるものがあるのを知ったので、とりあえず試験がてら構築のメモ。 昨今コロナ禍でリモートワークが叫ばれる中、自宅にいることを証明するのが大変めんどくさいのでとりあえず自宅経由で会社に接続するというのが本当の狙い。外出先からFreeBSDとxfreerdp使ってWindowsに接続し、そこから会社内へアクセスできればラッキーかな、と。もちろん勤め先の資材と自宅のネットワークは分離し、会社とWindowsとの間は監視して余計なパケットが流れていないかは確認する。(要は会社が余計なことしでかしてないか監視するためにマジックミラーの中を歩かせたい) まずは、利便性の観点から自宅のFreeBSDとAndroidスマートホンの接続を考える。 [1. 考え方] ・Peer to Peer、Point to point、End to end、表現はなんでもいいんだが、サーバとクライアントという関係より1対1で接続する関係。ここでは考え方を簡単にする意味合いと常時起動中のFreeBSDを境目にしてインターネット回線へ向かうため、FreeBSDをサーバ・Androidスマホをクライアントという呼び方でこの記事は統一する。(*2) ・WireGuardは秘密鍵と公開鍵の二つの鍵を使用した暗号化通信を行う。この秘密鍵(受信者が持つ)と公開鍵(発信者が持つ)の組合せにより、Peerを識別する。つまり一つのPeerは自身宛の暗号化通信を解読するためマスターキーたる秘密鍵を持ち、また相手方Peerのマスターキーだけが解読しうる暗号化を施すため相手方Peerの公開鍵を持つ。家の鍵で考えれば閉じる鍵と開く鍵は全く別で、開く鍵たる秘密鍵を元に閉じる鍵たる公開鍵を作ることができる。つまり公開鍵は複数本作ることが可能でそのための秘密鍵が管理外に持ち出されるとあとは秘密鍵の所持者宛となる通信を傍受さえできれば復号化し放題となる。 ・LAN内のハード/ソフト資源にアクセスできるようにする。リモートワークだけで使うのはもったいないし、写真のデータサイズを考えるとデータの転送はすぐにでも行いたい。 [2. 必要な対処] ・WireGuardでできることはPeer to Peer...