会津大学 OB/OG LT大会 2021 フリーテーマLT
創明寮のNAT越え奮闘記学部一年 s1290035 高棟雄斗(しんぶんぶん[@shinbunbun_])会津大学 OB/OG LT大会 2021
View Slide
自己紹介- 人間です- s1290035(学部一年)- AizuGeekDojo SA- Zli運営- LINE API実践ガイド LINEログイン章 著者- Epson Hack Trek2021優勝- コミュニティ活動いろいろ- 最近やってること- 3社並列で仕事 + サークル6個 + 激重PJのPM- Nuxt.js、Node.jsを使ったWeb開発- AWS使ってインフラ構築- ラズパイとかESP32とかで遊ぶ- アイデンティティ管理、認証系- 最近CTFと競プロを始めた- ツイ廃- 保有資格: 漢検3級、英検2級、数検2級、応用情報技術者試験ポートフォリオ(shinbunbun.info)@shinbunbun_sub@shinbunbun_
1ヶ月前の僕の部屋今はもうちょい綺麗(なはず ...)
最近の生活平日 休日
第一章 (ほぼ)無制限なDocker用ストレージを求めて
Dockerを使おう- ローカルが汚すぎて嫌になった- なんかしらんけどnpmとpipが死んだ- GitHubのリポごとにDocker立てて開発
ラズパイDocker- コンテナ立てすぎてMacの容量たらん...- →そうだ、ラズパイに6TBの外付けHDDつないでそこにDocker立ててリモートアクセスしよう- ついでにVPNサーバを立てることにより、家の外からでもアクセス可能に
Ver.1 実家時代
Ver.1 実家時代- ラズパイにOpenVPNサーバを立てて、秋葉で買ったジャンクサーバをPKIの認証局に- サーバ証明書、クライアント証明書を各々のデバイスに発行- ラズパイ上でTUNデバイスをシミュレートしてL3でトンネリング- クライアントからのユニキャストパケットは全てOpenVPNサーバを経由- ポート開放してDDNSを設定- ラズパイ上のDockerへはVSCodeのDev Containerを使って接続- ほぼローカルのDockerと同じように開発ができる
そして創明寮へ引越し...え!?NATあるじゃん!!!!!第二章へ続く...
第二章 そうだ、NAT越えしよう
検討した案1. ngrokでどっかーん2. SoftEtherのVPN Azure使えばいい感じにしてくれるらしいからそれを使う3. 実家のネットワークにラズパイを接続してそれ経由でアクセスする4. VPS立ててそいつを経由させる- 条件- mDNSを使いたいのでマルチキャストパケットが通るL2ブリッジが良い- 部屋にあるPCにVNCでアクセスとかもしたいから、できれば部屋のネットワークに接続したい
1. ngrokでどっかーん論外
2. SoftEtherのVPN Azure- やってみたけど上手くいかなかった- なんかしらんけどめっちゃ速度遅い- サーバの管理ツールがWindowsしかない- (一応Macもあるけど微妙...)
3. 実家のネットワークにラズパイを接続してそれ経由でアクセスする- やってみた
Ver.3 実家経由で接続
Ver.3 実家経由で接続- ラズパイが足りなかったので、TP-Linkのルーターに付随しているOpenVPNサーバ機能を利用- TUNデバイスしか選べないため、IPトンネルしか使えない- IPトンネルはL3なのでマルチキャストが通らない- DHCPが設定できない- 証明書認証が実装できない使い物にならん...
4. VPS立ててそいつを経由させる- やってみた
Ver.4 EC2経由で接続
4. VPS立ててそいつを経由させる- AWSのEC2を使用- 普通に使うと高いのでスポットインスタンスで- クライアントから送信する全トラフィックを転送するように設定- フリーWi-Fiとかに繋いだときの暗号化手段としても使いたかったので
しかし...- インスタンスの設定を2回間違えて2回ともデータが吹っ飛ぶ- EC2嫌になってサヨナラ
Ver.5 Vultr経由で接続
Ver.5 Vultr経由で接続- Vultr- RAM1GB、SSD25GB、転送量月1TBのインスタンスが月5ドルで使用可能- 東京にサーバがある- VPNサーバあてのパケットだけを転送- サーバのルーティングテーブルの設定がうまくいかなくて、全パケットの転送ができなかった- これで一応うまくいった
今後の展望- ラズパイだと処理速度が若干遅い&AArch32だと死ぬほど開発しにくい- X86で省電力なファンレスPCが欲しい...- ラズパイでk8sのクラスタ組みたい- ネットワークの知識が足らなすぎるのでネスペをとる- 春に申し込んでたけど忙しすぎて受けられなかった- ネットワークエンジニアになるかはわからないけど一般教養として知っておきたい
宣伝①- LINE API実践ガイド- LINE APIに関する技術が大体全部載ってる- 初心者から経験者まで幅広く楽しめる!
宣伝②(在校生向け)- 技術座談会- 日時: 5/9(日)13:00〜18:00- 場所: 講義棟M5, M6- 技術が好きな新入生(or興味がある新入生)と、そんな新入生と繋がりたい先輩方を集めて、技術について語り明かす会おわり