【筒】自宅Wireguardを運用@VPN
使い道の無くなった(=使いようの無い)Windowsタブレット。
そう、何をトチ狂ったのか発売日に定価で購入してしまった愚かな私は、その罪を償わないといけません。
こやつを、立派なサーバ機として使えるのか、まずはしばらくテスト運用していた。
悪名高いAtom CPUとはいえ、用途を絞れば、(ギリギリ)使えるようである。
すでに、記事に記載してましたが、同時に、WireGuardによるVPN環境を整えてました。
参考になればと、回線環境まわりも含めて、解説していきます。
回線まわり
こんな感じの構成にしてます。
枠線は、セグメント単位で、それぞれ別なIP空間にしてます。
なので、VPNで接続したとしても、Winタブ・サーバにのみ接続という形。
IPマスカレード設定しなければ、サーバから外に出られない(私の場合は、これでOK)
サーバ側(グリーン)は、PPPoE(IPv4のみ)で接続された空間、ネット常用してるところ(オレンジ)は、IPoE(IPv4+IPv6)で利用しています。
※IPoEは、楽天ひかり(DS-Lite・XPass回線)
※DS-Liteは、IPv4でポート公開が出来ない
サーバの管理
目の前にサーバがありますが・・・
セグメントが違うので、今の所、わざわざインターネット側に出て、外から接続するという、出戻りで管理してます。
※とはいえ、VNEまで逝って帰ってくる
WireGuard VPNで繋いでから、Telnet接続してる訳です。
すき家の店内に居るのに、すき家の牛丼をUber Eatsで注文するようなものです。
メインPCに、別にLANカード挿せば良いだけなんですけどね。
使ってみた感想
これまでは、IPSec/L2TPで構築していましたが、これが何かと制限が多く、トラブルがあった際は、いにしえの記憶を辿りながら(忘れてる)、再度設定しなおしの刑に処されてしまいます。
IPSec/L2TPはWindowsやスマホで標準サポートされてますが、別にアプリを用意しないといけません。
これがセキュリティポリシー上、障壁になる企業さんもあるかもです。
WireGuardは、接続も一瞬(不安になる位)、確かにとても速く、言われなければ、VPNとは思えない速度を維持してくれます。
Samba(Windowsファイル共有)で、大きめなファイルをコピーしても、常用に差し支えないレベルです。
設定の仕方
設定方法はネット上に沢山あるので詳細は省きますが、よく見る、このconfファイルが全てです。
結構、呆気なく設定作業が終わる。
サーバ側も、クライアント側も、同じような形で用意すれば良いだけで、他に設定ファイルとおぼしきものは一切無いという、潔いWireGuard先輩で御座います。
個々のVPN接続情報だけを記載します。それ以上の事はありません。
複数のクライアントがある場合は、上記のPeerがそのまま羅列されてる形になります。もちろん、それぞれに、鍵を作成しなければなりません。
※鍵を共有して利用してると、変な挙動になります、なので、ユーザーというよりもデバイス単位で用意する必要があります
気になる点
いくつか気になる点があります。
まず、Windowsで動作するサーバがありません。Linuxこそ至上という訳です。
Windowsしか無いのであれば、WSL上(Ubuntu/無償)に構築が出来ます。
クライアント側に、アプリが必要になる(既に記述)
クライアント側、接続してるのか、分からない。つまり、接続不良でエラー表示されません(アプリのログで、転送:受信の数が0で無ければOK)
公開するポートはUDP1個だけでOK(番号決まってないので自由、要は忘れるな)
接続時パスワード入力などが無く、クライアント側に、秘密鍵を持たせる事(conf上かファイル)になるので、法人現場でのセキュリティ周知が必要。
ユーザー管理などの機能は一切無いので、接続ユーザー・クライアントが大量にいる場合など、管理が非常に大変です。
リアルタイム情報を表示した画面ですが、peerの部分が、現在接続してるクライアントになります。
青色で塗りつぶした部分に、クライアント公開鍵が表示されているんですが、これで判断するしか無いんです。
ユーザー名と公開鍵を変換するようなスクリプト等作る等が必要かもしれません。
シンプルこそネ申!と言えなくもありませんが、それを超える利用をするならば、周囲を埋めるスクリプトを用意するなどが必要という印象です。
※法人向けにフォークされたプロジェクトとか、出てくるかもです
また、サーバ側でAllowedIPs設定しようが、クライアント側でIPアドレスを変更出来てしまうので、VPN出口以降すべて、しっかりとFireWall周辺設定が必要になります。
公式サイト含めヘルプ表示しても、情報が無いんですが、manページはしっかり用意されてるので、一度目を通してみた方がいいかもです。
どんな事に使うのよ?
貴重なファイルや共有するファイルは、サーバ側に保存しておき、必要な時に、見に行くなんて使い方があるかと思います。
クラウドな時代ですが、他社に委ねるというのは、やっぱ不安がつきまといます(突如有料になったり、終了したり)
また、公衆Wifiを使う機会があるかと思いますが、そのままだとセキュリティ的に不安。
公衆WifiからVPN経由で、自宅・会社からネットアクセスなんて技もあります。
サーバ・クライアントの形ではなく、拠点間の接続にも利用できるようになってます。
こんなトラブル(マジかw)
記事投稿から、仕事や色々な場面で使わせて頂いてる。
Windowsクライアント側の作り込みの甘さ・・・とか、見なかった事にしつつ。
んで、複数クライアントでの運用を考えてる企業組織の方もいらっしゃるでしょう。
んで、私がドツボにハマった事例をひとつ。
複数いるクライアントの一部だけが接続出来ないという状況。
設定や環境をいくら調査しても、違いが無く、なぜ一部だけなのかが、疑問だった訳です。
ふッと、鍵を見比べたら・・・・、あれ?違う。。。と
コピペして管理してんのに、なんで違うん?!!(ですよね・・・・)
問題はこれでした。くだらなすぎて、ゲボが出ますw
画面は、LibreOffice Calcのものですが、Excelでも同様の機能があります。
管理してた(つもり)鍵の文字列を、こやつが勝手に書き換えてたんです。
※英字は大文字で始まるとかいうアレ
Excelなんかで管理する方も多いでしょう。絶対同じケースでハマるやもしれないので、ご注意を。
秘密鍵の方がイジられてたら、公開鍵も変わるので、すぐ発見出来るんですが、公開鍵の方をイジられたら、そうそう発見が遅れます。