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
2.5k
創明寮の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_
1
360
RustのLINEBot SDKを自作した話
shinbunbun_
0
2.2k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
4.5k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
4.5k
カーネルレベルでTwitterを禁止しよう
shinbunbun_
0
290
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
620
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
220
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
2k
IEEE802.1X認証を導入してみた
shinbunbun_
0
320
Other Decks in Programming
See All in Programming
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
140
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.5k
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
530
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
150
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
530
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
7.9k
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
300
文字コードの話
qnighy
44
17k
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
190
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
380
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
260
Ruby x Terminal
a_matsuda
7
590
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
540
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Speed Design
sergeychernyshev
33
1.6k
Why Our Code Smells
bkeepers
PRO
340
58k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
460
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
530
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
130
Done Done
chrislema
186
16k
The Pragmatic Product Professional
lauravandoore
37
7.2k
First, design no harm
axbom
PRO
2
1.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
300
Prompt Engineering for Job Search
mfonobong
0
180
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興味がある新入生)と、そんな新入 生と繋がりたい先輩方を集めて、技術について語り明かす会 おわり