Submit Search
Upload
Raspberry PiでモバイルVPNルータを作ってみた
•
1 like
•
2,326 views
Koichiro Iwao
Follow
FreeBSD + Raspberry Pi + SoftEther 5 でモバイルVPNルータを作った話
Read less
Read more
Technology
Report
Share
Report
Share
1 of 23
Download now
Download to read offline
Recommended
Yoctoで綺麗なkernel configを作る
Yoctoで綺麗なkernel configを作る
shimadah
V$SQLとその周辺でER図を描いてみよう!
V$SQLとその周辺でER図を描いてみよう!
歩 柴田
llvm入門
llvm入門
MITSUNARI Shigeo
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
これから Haskell を書くにあたって
これから Haskell を書くにあたって
Tsuyoshi Matsudate
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
MITSUNARI Shigeo
Recommended
Yoctoで綺麗なkernel configを作る
Yoctoで綺麗なkernel configを作る
shimadah
V$SQLとその周辺でER図を描いてみよう!
V$SQLとその周辺でER図を描いてみよう!
歩 柴田
llvm入門
llvm入門
MITSUNARI Shigeo
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
これから Haskell を書くにあたって
これから Haskell を書くにあたって
Tsuyoshi Matsudate
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
MITSUNARI Shigeo
Jetson x Azure ハンズオン DeepStream Azure IoT
Jetson x Azure ハンズオン DeepStream Azure IoT
Deep Learning Lab(ディープラーニング・ラボ)
音楽波形データからコードを推定してみる
音楽波形データからコードを推定してみる
Ken'ichi Matsui
低レイヤー入門
低レイヤー入門
demuyan
TCAMのしくみ
TCAMのしくみ
ogatay
12 分くらいで知るLuaVM
12 分くらいで知るLuaVM
Yuki Tamura
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
Tetsuya Hasegawa
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
MITSUNARI Shigeo
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
MITSUNARI Shigeo
Composer bin plugin / ツールの依存管理から解放される
Composer bin plugin / ツールの依存管理から解放される
Kentarou Takeda
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
cyberagent
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
オラクルエンジニア通信
.NET 7期待の新機能
.NET 7期待の新機能
TomomitsuKusaba
目grep入門 +解説
目grep入門 +解説
murachue
サイバージェント 秋葉原ラボのHBase 活用事例
サイバージェント 秋葉原ラボのHBase 活用事例
cyberagent
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
WebSocketのキホン
WebSocketのキホン
You_Kinjoh
Ruby on FreeBSD 2020
Ruby on FreeBSD 2020
Koichiro Iwao
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
Koichiro Iwao
More Related Content
What's hot
Jetson x Azure ハンズオン DeepStream Azure IoT
Jetson x Azure ハンズオン DeepStream Azure IoT
Deep Learning Lab(ディープラーニング・ラボ)
音楽波形データからコードを推定してみる
音楽波形データからコードを推定してみる
Ken'ichi Matsui
低レイヤー入門
低レイヤー入門
demuyan
TCAMのしくみ
TCAMのしくみ
ogatay
12 分くらいで知るLuaVM
12 分くらいで知るLuaVM
Yuki Tamura
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
Tetsuya Hasegawa
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
MITSUNARI Shigeo
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
MITSUNARI Shigeo
Composer bin plugin / ツールの依存管理から解放される
Composer bin plugin / ツールの依存管理から解放される
Kentarou Takeda
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
cyberagent
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
オラクルエンジニア通信
.NET 7期待の新機能
.NET 7期待の新機能
TomomitsuKusaba
目grep入門 +解説
目grep入門 +解説
murachue
サイバージェント 秋葉原ラボのHBase 活用事例
サイバージェント 秋葉原ラボのHBase 活用事例
cyberagent
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
WebSocketのキホン
WebSocketのキホン
You_Kinjoh
What's hot
(20)
Jetson x Azure ハンズオン DeepStream Azure IoT
Jetson x Azure ハンズオン DeepStream Azure IoT
音楽波形データからコードを推定してみる
音楽波形データからコードを推定してみる
低レイヤー入門
低レイヤー入門
TCAMのしくみ
TCAMのしくみ
12 分くらいで知るLuaVM
12 分くらいで知るLuaVM
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
Composer bin plugin / ツールの依存管理から解放される
Composer bin plugin / ツールの依存管理から解放される
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
実践イカパケット解析
実践イカパケット解析
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
暗号技術の実装と数学
暗号技術の実装と数学
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
.NET 7期待の新機能
.NET 7期待の新機能
目grep入門 +解説
目grep入門 +解説
サイバージェント 秋葉原ラボのHBase 活用事例
サイバージェント 秋葉原ラボのHBase 活用事例
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
WebSocketのキホン
WebSocketのキホン
More from Koichiro Iwao
Ruby on FreeBSD 2020
Ruby on FreeBSD 2020
Koichiro Iwao
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
Koichiro Iwao
FreeBSDのpostfixをblacklistd(8)に対応させてみた
FreeBSDのpostfixをblacklistd(8)に対応させてみた
Koichiro Iwao
ダイソーで売ってるアレをアレしてみた
ダイソーで売ってるアレをアレしてみた
Koichiro Iwao
Route 53 Health CheckでYAMAHAルータの死活監視
Route 53 Health CheckでYAMAHAルータの死活監視
Koichiro Iwao
#xrdp_jp
#xrdp_jp
Koichiro Iwao
More from Koichiro Iwao
(6)
Ruby on FreeBSD 2020
Ruby on FreeBSD 2020
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
FreeBSD と xrdp と私 〜FreeBSD developerになるまで〜
FreeBSDのpostfixをblacklistd(8)に対応させてみた
FreeBSDのpostfixをblacklistd(8)に対応させてみた
ダイソーで売ってるアレをアレしてみた
ダイソーで売ってるアレをアレしてみた
Route 53 Health CheckでYAMAHAルータの死活監視
Route 53 Health CheckでYAMAHAルータの死活監視
#xrdp_jp
#xrdp_jp
Recently uploaded
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Recently uploaded
(8)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
Raspberry PiでモバイルVPNルータを作ってみた
1.
1 / 23 Raspberry
Pi でモバイル VPN ルータを 作ってみた 岩男 皓一朗 <meta@FreeBSD.org>
2.
2 / 23 私について ● 岩男
皓一朗 ● FreeBSD developer (ports) – 2018 年 3 月~ ( 見習い ) – 2019 年 1 月~ (fly solo) – https://people.freebsd.org/~meta/
3.
3 / 23 KLab/miruo
for FreeBSD
4.
4 / 23
5.
6 / 23 出張先のホテルにある
LAN コンセント
6.
7 / 23 ホテルに備え付けの
Wi-Fi や LAN ● 信頼のできないネットワーク ● 通信の制限・遮断・改ざんを行う場合がある – 最初にホテルの Web ページに接続させる ( 改ざん ) – 特定の種類の通信を遮断する ● NAT テーブルの枯渇 – 客室あたりのセッション数を制限している場合もある ● IPv6 がない場合が多い
7.
8 / 23 デバイス側で
VPN 接続する場合の難点 ● スリープ状態になると Wi-Fi が切れる場合がある – VPN の再接続には操作が必要 – プッシュ通知などで勝手に通信する – 知らない間に VPN オフで通信される可能性がある ● デバイスの数だけ設定 & 接続操作が必要 ● デバイスの対応する VPN 方式しか使えない – 遮断されている || 意図的な遮断でなくても繋がらない場合がある
8.
9 / 23 公共のネットワークの危険性 https://www2.softether.jp/en/vpn2/manual/web/10-12.aspx
9.
10 / 23 VPN
で安全な通信路を確保
10.
11 / 23 モバイル
VPN ルータのメリット ● VPN ルータが VPN 接続を担当する – デバイスごとの設定 & 接続操作は不要 – デバイスが対応していない VPN 方式で接続できる – VPN 接続のキープアライブをルータ側で行う
11.
12 / 23 Raspberry
Pi でやってみた
12.
13 / 23 Specicication ● Raspberry
Pi 3 Model B (not B+) – +USB Ethernet (IO DATA ETG5-US3/ASIX AX88179) ● FreeBSD 12-STABLE ● SoftEther 5 Bridge
13.
14 / 23 SoftEther
5 ● 極めて強力な接続性 – Ethernet over HTTPS (L2VPN) – NAT 透過性も高い – VPN over ICMP/DNS ● 日本語 UI と豊富な日本語ドキュメント – 自分にとってはあまり重要ではないが… – 筑波大学 登大遊 氏らによる開発 https://ja.softether.org/1-features/1._%E6%A5%B5%E3%82%81%E3%81%A6%E5%BC%B7%E5%8A%9B %E3%81%AA_VPN_%E6%8E%A5%E7%B6%9A %E6%80%A7#1.6._VPN_over_ICMP.2C_and_VPN_over_DNS_(Awesome!)
14.
15 / 23 SoftEther
5 ● GitHub で公開されている最新開発版 – リリース版は 4.29.9680 ● FreeBSD における SoftEther – SoftEther 4.x は Intel CPU (i386/amd64) のみサポート – Raspberry Pi では動かない! – 開発版の SoftEther 5.x では ARM にも対応している
15.
16 / 23 FreeBSD
ports tree にコミットした
16.
17 / 23 設定は
Windows 管理ソフトから コマンドラインからも設定できます
17.
18 / 23 実際の利用イメージ LAN Hotel
WAN 自前のモバイル ルータを接続 VPN 先のネットワークを L2 延伸
18.
19 / 23 VPN
で通信が保護される https://www2.softether.jp/en/vpn2/manual/web/10-12.aspx
19.
20 / 23 おまけ ● 帯域制限下
( ギガ切れ ) での動作のエミュレート ● 高遅延・パケットロス環境のエミュレート ● IPv6 環境でのテスト ● IPv6 only 環境でのテスト
20.
21 / 23 課題 ● LAN
側の Wi-Fi は今回は断念 – RasPi の内蔵 Wi-Fi が使用できない (FreeBSD では ) – USB Wi-Fi ドングルは速度が出なかった (1Mbps 程度 ) ● RasPi が Wi-Fi AP にもなる構成が理想 – 配線すっきり – 持ち歩くものが減る
21.
22 / 23 実効速度 ⇓22.20
Mbps ⇑ 23.71 Mbps 上下合計での値なので上りのみ 下りのみの場合 45Mbps 程度
22.
23 / 23 注意が必要な点 ● この
Raspberry Pi を紛失すると危険! – どこからでも自宅のネットワークに接続されてしまう – すごく危ないものを持ち歩いている気がする
23.
24 / 23 まとめ ● Raspberry
Pi でモバイル VPN ルータを作った ● FreeBSD + SoftEther 5 を使用して実現 ● SoftEther 5 を FreeBSD ports にコミットした ● 速度は 45Mbps 程度
Download now