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
99
成果発表資料.pdf
akatsukinewgrad
0
1.8k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
410
正規表現とReDoS.pdf
akatsukinewgrad
0
400
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
430
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
380
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
460
7分でわかるアカツキゲームス
akatsukinewgrad
0
420
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
670
Other Decks in Programming
See All in Programming
Async Await: Mastering Python's Time-Bending Tricks - EuroPython2024
yanbo
1
290
【Go言語】ジェネリクス
tomo1227
0
170
社内 LT 会を発足し、アウトプット文化を醸成させるために考えたこと・やったこと / Starting internal LT meetings and fostering an output culture
mackey0225
3
120
企業向け生成AIアプリの 開発から得られた知見
takaakikakei
0
310
CSC307 Lecture 06
javiergs
PRO
0
360
CSC307 Lecture 08
javiergs
PRO
0
330
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
Mastering Developer Experience: A Roadmap for Success 【開発生産性Conference 2024】
findyinc
1
380
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
最近追加した型の紹介とその振り返り
aki19035vc
0
170
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
Rubyのパフォーマンスプロファイリングの改善 / Enhancing performance profiling for Ruby
osyoyu
1
410
Featured
See All Featured
Leading Effective Engineering Teams 2024
addyosmani
3
300
The Brand Is Dead. Long Live the Brand.
mthomps
52
36k
How to name files
jennybc
67
96k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
The World Runs on Bad Software
bkeepers
PRO
63
11k
How to train your dragon (web standard)
notwaldorf
79
5.5k
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
Documentation Writing (for coders)
carmenintech
63
4.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
44
4.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
Clear Off the Table
cherdarchuk
89
320k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
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