Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
創明寮のNAT越え奮闘記
Search
Yuto Takamune
April 29, 2021
Programming
1
1.3k
創明寮のNAT越え奮闘記
会津大学 OB/OG LT大会 2021 フリーテーマLT
Yuto Takamune
April 29, 2021
Tweet
Share
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
0
250
RustのLINEBot SDKを自作した話
shinbunbun_
0
1k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
2.9k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
2.7k
カーネルレベルでTwitterを禁止しよう
shinbunbun_
0
180
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
330
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
150
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
930
IEEE802.1X認証を導入してみた
shinbunbun_
0
200
Other Decks in Programming
See All in Programming
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
950
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
CSC509 Lecture 09
javiergs
PRO
0
140
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
120
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
[Do iOS '24] Ship your app on a Friday...and enjoy your weekend!
polpielladev
0
110
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
340
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
930
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
130
ヤプリ新卒SREの オンボーディング
masaki12
0
130
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
BBQ
matthewcrist
85
9.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Ruby is Unlike a Banana
tanoku
97
11k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Teambox: Starting and Learning
jrom
133
8.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Code Review Best Practice
trishagee
64
17k
Fireside Chat
paigeccino
34
3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Six Lessons from altMBA
skipperchong
27
3.5k
Transcript
創明寮のNAT越え奮闘記 学部一年 s1290035 高棟雄斗(しんぶんぶん[@shinbunbun_]) 会津大学 OB/OG LT大会 2021
自己紹介 - 人間です - 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興味がある新入生)と、そんな新入 生と繋がりたい先輩方を集めて、技術について語り明かす会 おわり