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.5k
(やす)公衆無線LANを構築してみた話
akatsukinewgrad
August 02, 2021
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
140
成果発表資料.pdf
akatsukinewgrad
0
2.1k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
580
正規表現とReDoS.pdf
akatsukinewgrad
0
570
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
620
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
540
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
720
7分でわかるアカツキゲームス
akatsukinewgrad
0
580
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
950
Other Decks in Programming
See All in Programming
Introduce Hono CLI
yusukebe
0
200
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
170
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
120
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
9
1.7k
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
作って理解するGOCACHEPROG / Go Conference 2025(Workshop)
mazrean
0
100
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
160
理論と実務のギャップを超える
eycjur
0
140
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
450
XP, Testing and ninja testing ZOZ5
m_seki
3
670
CSC305 Lecture 08
javiergs
PRO
0
200
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Agile that works and the tools we love
rasmusluckow
331
21k
Building Adaptive Systems
keathley
44
2.8k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
8
910
How GitHub (no longer) Works
holman
315
140k
Being A Developer After 40
akosma
91
590k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Site-Speed That Sticks
csswizardry
12
900
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