自己顕示欲の開放治療所

erg, programming and something.

別名:Laughing and Grief 雑記

Latin and Greekは習ったこともない

真面目な記事の他、特定の方には不快と思われる事柄に関して言及を行うことがあります。ちょっと頑張りますが、Blog内で解決できなかった場合要望があれば別ページに技術記事は書き直します

VPN関連備忘録[WIP]

VPN関連備忘録だったりネタメモさったり

これまでのラボライブ!

卒論が終わると卒論が進む! 不思議!

「WebRTCのDataChannelでワチャワチャやる」程度の内容で書くんだと思っていたら、 ほとんど書けない言語からバグバグ常態のEmscriptenでwasmコンパイルしてほとんど書けない言語のインタプリタ作ることになって爆発したのは何年前だったっけ……

別の学生が次の年にやって普通にやりきっていったのを眺めているうちに何もかもに置いていかれたのんな……。 wasmも、WebRTCも、HTTP/3も……。

DataChannel ではバイト列が送れるので何でも送れる*1。何でも送ろうということで ボスはプログラムをRPCで送りたがり、私はVPNを作りたがった。 古、VPNUDPでやってきたりした訳だし

「やりたい」と私が酒の席で言うと、ボスは

「WebRTCの必要ないよね」

と言った。誰だってそーいう。おれだってそーいう。まあモチベを伝えていなかったのが悪くて、WebRTCシグナリングサーバ使うじゃん、 これ便乗できたら専用シグナリングサーバ立てなくてもランデブーポイントにしてグローバルIPVPNサーバ要らんやん、とくだを巻く私。

「本番通信もWebRTCでやらなくてもいいよね(意訳)。IPv6普及すればローカルとかグローバルも……」

あっハイ。

眠いのでとりあえず走り書き。 あるいは技術書展6用ネタにするか……?

微妙に卒業研究に関わったやつ

https://www.researchgate.net/publication/261266327_Social_VPNs_Integrating_Overlay_and_Social_Networks_for_Seamless_P2P_Networking

あと、Social SoftEther VPN。まあ、OSNを使って友人間でのVPNの接続をやりやすくしようぜって研究ですね。いや、この説明はFAKEですが。

今回のゼミで教えてもらったやつ

Tinc VPN

www.tinc-vpn.org

www.itmedia.co.jp

事前にVPN-IPを設定、共有しておく必要があるものの、簡単に2者間でVPNが構築できます。増えてもいいけど。

ZeroTier

www.zerotier.com

ここでのサーバはランデブーポイントの意味合いが強い気がします。オープンソースでクライアント、サーバがありますがZeroTier社がサーバを提供しているので サーバを立てなくても使える、と。 zerotierのサーバに乗っかる場合同じネットワーク100台までは無料。 オープンソース版引っぱってきて自分で鯖立てれば制限無し。 100台超えるなら管理考えると商用プラン検討すべきだと思いますが。

見つけたやつ

LCVPN(Light decentralized VPN)

github.com

……"C" は? アスキー文字圏特有の言葉遊びとかあるんでしょうか。

Decentralized VPN in golang.

キュンキュンする単語だけで構成された美しい説明ですね。更新止まり期間が長いですがシンプルで読みやすい。

meshbird

github.com

こっちもGolang製ですね。片側でキー作成してあとは同じキーがあれば接続が可能、と。

私、気になります!

asnokaze.hatenablog.com

tools.ietf.org

皆(デカ主語)QUICでVPNやりたいんだよな。

https://github.com/meshbird

LCVPNとか参考に、QUICでVPN先行導入したブツとか3年計画(足りなそうだけど、その頃には皆やっているから私がやらなくてもよさそう)くらいで やっていく。かも。でもシグナリングはどうにかして普及プロダクトに乗っかりたいんだよな。眠い。

*1:何でもは多分嘘です。でもファイル共有サービスなどは既にある。