自宅内のネットワークに自宅外からアクセスしたい、と長らく思っていたのですが、ずっと先延ばしにしてきました。しかし、どうしても家にあるソースコードなどにアクセスしたい場面が出てきましたので、OpenVPNをインストールしてみました。
通常は自宅内にOpenVPNサーバを立ててルータから port forwarding をかけるのでしょうが、残念ながら自宅で配られるIPアドレスはクラスBのプライベートアドレス(172.16.0.0/16)なので、自宅まで辿り着けません。ルータは自分のものではないので、もちろん port forward も受けられません。
となると、どこかインターネット上に中継点が必要になります。google先生に聞いてみると、さくらのVPS上にOpenVPNをインストールしている方が結構いることがわかりましたので、別なVPS鯖を確保してやってみました。細かい手順は先達がたくさんいますので、インストール手順は省略します。
構成としては、こんな感じです。
さくらのVPS上にOpenVPNをサーバーモードで立てて、宅外クライアントと自宅の間を client-to-client 転送でルーティングします。ローカルネットワーク側はRaspberryPiにOpenVPNをクライアントモードでインストールして、自宅内とさくらのVPSの間でルーティングをさせました。
インストール後、セキュリティ上の懸念から、FreeNASについては普段はローカルIPからのアクセスのみに変更し、外部からアクセスする場合はその際に変更することにしました。