はじめに
以前、いつでもどこからでも学内のリソースにアクセスできるよう、「Surge + Snell v5 + frp」で学内リソースにシームレスにアクセスするを書いた。
その後、研究室のリソースにもどこからでもアクセスしたくなり、研究室から割り当てられた仕事用PCでも同じことを試してみた。ところが、長くは続かなかった。2日後、仕事用PCのネットワークが遮断された。ITには「この方法は認められない」と言われたので、「研究室は学生にVPNを開放していないから、自分でなんとかするしかない」と伝えた。すると、さらに2日後、ITからVPNを使えるようにすると連絡があった。
VPN接続の欠点は前回の記事でいろいろ書いたけれど、仕方がない。
解決策
昨日、VPNの接続方法とアカウント、パスワードを受け取った。予想どおり、やはり深信服だった。
解決策を探していたときに、docker-easyconnectを見つけた。Docker上で深信服のVPNを起動し、SOCKS5やHTTPのプロキシを公開する仕組みだ。他のアプリは、対応するポートに通信を流せばプロキシ経由で接続できる。
そこで、こんな方法を思いついた。
- docker-easyconnectでVPNに接続し、SOCKS5とHTTPのプロキシを提供する
- Surgeで通信を振り分ける
試した限りでは、使い心地は「Surge + Snell v5 + frp」で学内リソースにシームレスにアクセスするとほぼ同じだ。
- すべての通信がまとめてVPN経由になるわけではない
- VPNを何度もオン・オフする必要がない
さらに、こんな利点もある。
- 学内ネットワークにつながった、24時間稼働のPCやサーバーがいらない
グローバルIPアドレスがあり、回線が安定したサーバーを使ってポートフォワーディングする必要がない
何より、研究室のルールに違反しない
構築はとても簡単で、ほとんど一行のコマンドで済むので、ここでは省略する。
Surgeで通信を振り分ける方法は、前回の記事で紹介したので、ここでは繰り返さない。
おわりに
この記事で紹介した方法は、実際のところ、大学のVPNならどこでも使える。
まだ使い始めて間もないので、どんな問題が起きるかはわからない。接続を維持するのが難しいかもしれない。
同じようなことで困っている人は、ここで紹介した方法を試してみてほしい。