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.3k
(やす)公衆無線LANを構築してみた話
akatsukinewgrad
August 02, 2021
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
98
成果発表資料.pdf
akatsukinewgrad
0
1.7k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
380
正規表現とReDoS.pdf
akatsukinewgrad
0
380
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
400
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
350
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
400
7分でわかるアカツキゲームス
akatsukinewgrad
0
390
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
620
Other Decks in Programming
See All in Programming
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
370
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
Hanami and htmx
bkuhlmann
0
210
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
190
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
700
Snowflakeで眠ったデータを起こそう!
estie
0
120
Git Lint
bkuhlmann
4
750
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
23
15k
今、知っておきたい! 生成AIエージェントの世界
elith
3
360
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
320
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
370
SIMD Parallel Programming with the Vector API
josepaumard
0
170
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
225
17k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
Producing Creativity
orderedlist
PRO
337
39k
Done Done
chrislema
178
15k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
Building an army of robots
kneath
300
41k
Thoughts on Productivity
jonyablonski
58
3.8k
Raft: Consensus for Rubyists
vanstee
132
6.3k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
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