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
(やす)公衆無線LANを構築してみた話
Search
akatsukinewgrad
August 02, 2021
Programming
0
1.4k
(やす)公衆無線LANを構築してみた話
akatsukinewgrad
August 02, 2021
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
100
成果発表資料.pdf
akatsukinewgrad
0
1.9k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
460
正規表現とReDoS.pdf
akatsukinewgrad
0
470
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
490
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
440
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
560
7分でわかるアカツキゲームス
akatsukinewgrad
0
480
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
740
Other Decks in Programming
See All in Programming
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
930
cmp.Or に感動した
otakakot
3
200
subpath importsで始めるモック生活
10tera
0
310
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
610
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
役立つログに取り組もう
irof
28
9.6k
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
Better Code Design in PHP
afilina
PRO
0
130
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Become a Pro
speakerdeck
PRO
25
5k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Fireside Chat
paigeccino
34
3k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Code Review Best Practice
trishagee
64
17k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
A Modern Web Designer's Workflow
chriscoyier
693
190k
For a Future-Friendly Web
brad_frost
175
9.4k
The Pragmatic Product Professional
lauravandoore
31
6.3k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Transcript
自宅に公衆無線LANを構築し てみた話 Akatsuki 楊野 良智 1
自己紹介 • 名前: 楊野 良智 (やすの よしともと読みます ※よくある間違い: あげの ようの)
• 2020年新卒入社 • 職種: サーバーサイドエンジニア ◦ 主にアプリケーション側 • 趣味: ゲーム、アニメ、自転車 ◦ バイオハザード、Apex...etc ◦ 進撃の巨人、ガンダム、 Vivy, 86...etc ◦ 全盛期は埼玉~山中湖付近まで往復 200kmを一日で走ったり 2
カフェでスマホ弄る時によく見るこれ... 3
どういう仕組みなのか気になりませんか? 4
気になったので作りました 5
この技術を何というか 6
CaptivePortal 7
自宅でCaptivePortal機能付きのWifiを構築した 話 8
CaptivePortalとは? 9
CaptivePortalDetectionとは? • 接続する端末側でCaptivePortalを検知する技術 • OS毎に実装が異なる • iOSでは以下のようになっている ◦ Wifi接続後にcaptive.apple.comへアクセス ◦
インターネット接続が有効な場合は Successが返ってきて終了 ◦ それ以外のレスポンスの場合は CaptivePortalと見なし、リダイレクト先をポップアップとして表示す る 10
今回利用したもの • Raspberry Pi 4 Model B ◦ OS: Rasbian
◦ CaptivePortal機能: iptables ◦ dhcp-server: isc-dhcp-server ◦ アクセスポイント化: hostapd 11
iptablesによるCaptivePortal WiFi APへの通信はネット接続可能なeth0へFORWARDされている 12
iptablesによるCaptivePortal このFORWARDされるパケットを初回はCaptive Portal Serverへ移動させる 192.168.2.10 13
iptablesによるCaptivePortal 認証したらFORWARDを通すようにする 14
iptablesによるCaptivePortal 目的のサイトへ接続可能に! 15
デモ • 実際に実装したものなのでお見せしたいと思います! 16
17
大変だったこと • ネットワークインターフェイスの設定全くわからん... ◦ 0からの状態で始めたので勉強するのに少し時間がかかった ◦ インターフェイスとisc-dhcp-serverの起動順序問題 ◦ 設定してるのに再起動しても反映されてない、何もしてないのに直るなど ...
• 直前にAWSの認定試験があった ◦ LT会の1週間前に受験予定で並行して勉強するのが大変だった ◦ アソシエイトレベルだったので少し舐めていた部分があった (知らないサービスとか割と出題されて た) ◦ 結果受かってたので良かったです 18
最後に • 普段なんとなく使っている技術を追ってみると結構楽しい • 実装しながら勉強するとやってることのイメージがつかめて結構良かった • 実装はこちらに載せているので良かったら使ってみてください ◦ https://github.com/yasuno0327/raspberrypi-captive-portal 19
ご清聴ありがとうございました 20