Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
創明寮のNAT越え奮闘記
Search
Yuto Takamune
April 29, 2021
Programming
2.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
創明寮のNAT越え奮闘記
会津大学 OB/OG LT大会 2021 フリーテーマLT
Yuto Takamune
April 29, 2021
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
1
400
RustのLINEBot SDKを自作した話
shinbunbun_
0
2.6k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
5.1k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
5.2k
カーネルレベルでTwitterを禁止しよう
shinbunbun_
0
320
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
740
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
250
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
2.5k
IEEE802.1X認証を導入してみた
shinbunbun_
0
350
Other Decks in Programming
See All in Programming
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
Event is what happens
moro
2
860
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
170
気持ちぃ〜角丸 Squircle
ryu1013
0
310
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Agents on Rails - Rails at Scale 2026
irinanazarova
0
570
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
750
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
140
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
What's in a price? How to price your products and services
michaelherold
247
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Why Our Code Smells
bkeepers
PRO
340
58k
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興味がある新入生)と、そんな新入 生と繋がりたい先輩方を集めて、技術について語り明かす会 おわり