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
Build Fullmesh VPN by VyOS with Serf! VyOS User...
Search
YAGASAKI Akihiro
July 26, 2014
Technology
1
1.5k
Build Fullmesh VPN by VyOS with Serf! VyOS Users Meeting Japan #1 LT
「ドキッ!トンネルだらけのVPN大会(メッシュ編)」
VyOSとSerfでフルメッシュVPN!
@Yaggytter
VyOS Users Meeting Japan #1 LT
YAGASAKI Akihiro
July 26, 2014
Tweet
Share
More Decks by YAGASAKI Akihiro
See All by YAGASAKI Akihiro
AWS CDK を活用した 大量 AWS アカウントへのプロビジョニング例 〜 SaaSus Platform の場合 〜 於 JAWS-UG CDK支部 #17
yaggy
1
480
BtoB SaaS開発基礎講座
yaggy
0
140
テナント分離⽅式の使い分けとバランス (SaaS Engineering Meetup キックオフイベント)
yaggy
3
4.4k
マルチテナントにおけるテナント増加時のデータベース分離の体験談例(仮)
yaggy
3
3.1k
AWS Proton を使って(もらって)快適な開発環境をあげよう(もらおう)!
yaggy
1
1.4k
Vyattaでやってます! Multi Region VPN on Amazon Web Services #jvum2014s
yaggy
1
590
Other Decks in Technology
See All in Technology
Data Engineering Guide 2025 #data_summit_findy by @Kazaneya_PR / 20251106
kazaneya
PRO
7
1k
データエンジニアとして生存するために 〜界隈を盛り上げる「お祭り」が必要な理由〜 / data_summit_findy_Session_1
sansan_randd
1
930
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
1
240
LLM APIを2年間本番運用して苦労した話
ivry_presentationmaterials
9
6.5k
プロファイルとAIエージェントによる効率的なデバッグ / Effective debugging with profiler and AI assistant
ymotongpoo
1
820
Kotlinで型安全にバイテンポラルデータを扱いたい! ReladomoラッパーをAIと実装してみた話
itohiro73
3
230
Observability — Extending Into Incident Response
nari_ex
2
750
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
4
960
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
9
4.4k
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
360
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
3
450
datadog-incident-management-intro
tetsuya28
0
120
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Making Projects Easy
brettharned
120
6.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Producing Creativity
orderedlist
PRO
348
40k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Code Reviewing Like a Champion
maltzj
526
40k
4 Signs Your Business is Dying
shpigford
186
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Transcript
「ドキッ!トンネルだらけの VPN大会(メッシュ編)」 VyOSとSerfでフルメッシュVPN! @Yaggytter + 某SIer古城戸さん VyOS Users Meeting Japan
#1 LT
さっそくですがこんな状況 ハッシュタグ #vyosjp にてつぶやいた URLをみていただくと?! すでに、4つのVyOSが! フルメッシュってる?! ここにさらにひとつ追加!
さっそく追加してみます!
まえがき LTはじめてです! ひとつよろしくお願いいたします! 緊張しております! あせあせしてやります。 LTということで、、、
ベース Serfとはなに? オーケストレーションツール的なやつです。 詳しくは、@zembutsuさんのスライドを見てみてください AWSとは? AmazonWebServicesです。クラウドコンピューティングです。 詳しい使い方は、オフシャルサイトおよび classmethodさん、suz-labさんのサイトを見てみてください。 VyOSとは? ご存知の通りです!
自己紹介 @Yaggytter 現在 ・某SIerグループ会社で管理職もどき ・弱冠39歳(来年40歳) 得意な仕事 ・承認ボタンをひたすらクリック 承認ボタンクリックの合間に技術的な仕事をしています (最近はAWSが多い・・・) 自称プログラマ
・C++が好きです。最近は、Cocos2d-xに挑戦! いにしえのプログラマなので、ちょっと調べて気に入ったのが無いと作っちゃおうとす る悪い癖が・・・ なので、今回はSerfに挑戦!
Vyatta こんな感じでやってますなう中 Region Vyatta Vyatta Vyatta Region Vyatta Vyatta Vyatta
Vyatta Region Vyatta Vyatta Vyatta Region Vyatta Vyatta Vyatta Vyatta Operators Intranet (Enterprise systems) Developers virtual private gateway
経緯 AWS上で、複数Regionを一つの固まりと見せるようにするためスター型風ト ポロジでVyattaにてVPNを構築し運用していてとっても便利でした。 しかし!あたりまえですが、接続が集中しているVyattaが落ちると、そこから 先の経路が全滅します。あたりまえですが!あたりまえですが! Failoverするようにしても、やっぱり全滅は痛い・・・ そこで!やっぱ、フルメッシュでつないだ方がよくね? でも、、、トンネルの数!拠点増えた時めんどい?! あれ?こういう時にSerfって使うんじゃないの? ということで!今回は、
「ドキッ!トンネルだらけのVPN大会(メッシュ編)」 をお送りさせていただきます。
こんな感じで作りました Region VyOS Region VyOS Region VyOS Region VyOS Region
VyOS Web Server Serf Cluster どっかにJOINしたら、 みんなの情報集めて つないじゃう! LEAVEとかFAILした ら、そいつへの接続 情報は抹消! QUERYでみんなの 状況を集めてきて 可視化するのも簡単!
いいことづくし? なにが利点か ・どれか1つのGlobalIPを知っていれば それでOK!万事休す! なぜJOINするのか?そこにNODEがあるから。 ・あとはほとんど気にしなくてよい ・全VPNルータを設定しなくてもよい ・逆に、いつ切断してもOK ※悪いことにはマスクがかかっています
必要な情報 今回のフルメッシュVPNをつなぐのにあたってVPN 接続時に最低限必要だった情報は以下。 ・PREKEY 自分へのIPSec接続用のPreSharedKey ・SERFKEY SerfのEncription用のKey ・JOINIP Serfのメンバのどれか一つのIP
完成図 うだうだ言っている間に 出来ているか見てみましょう! 出来ていなかったらご愛嬌・・・
今後 今後の予定 ・同一セグメント内に2台以上い た場合は勝手に冗長構成にす る⇒AWSのIAM Roleと RouteTableを使えばたぶんすぐ できる ・ROLEによる複数フルメッシュ VPN群の作成⇒フルメッシュVPN
群同士をつなぐのも! ・同一セグメントも気にしないで つなぎたい⇒L2TPv3も組み合わ せる? 課題 ・セキュリティ Serfのencryptionのみなので・・・ VyOSのFirewallで対応? 最初のjoin先は手動で開ける 他はjoinメッセージを受けたら対象 GlobalIPを開ける??? う~ん。。。 ・品質 本番環境への適用に向けて、もう 少し安定するようにしたい雰囲気!
あとがき 最近聞く、Infrastructure as Code って、いまいちピンとこない。 Chef(しかもsolo)だ〜なんだ〜っていう事例を見ても、 Infrastructure as Code というか、OS設定、ミドルウェア設定、アプリケーションのデプロイを自
動化しているイメージの例が多くて、 あんまり「Infrastructure」 as Code な気がしない・・・ もっと、低レイヤーを含めてコード化すればピンとくる気がする。。。 ・仮想マシン構成のコード化 ⇒ まあ、よくあるよね ・コンテナ構成のコード化 ⇒ まあ、コンテナだからよくあるよね ・ネットワーク構成のコード化⇒SDN/NFVをベースとして! 逆にこのへんがピンとくる!
vyos@vyos:~$ sync vyos@vyos:~$ sync vyos@vyos:~$ sync vyos@vyos:~$ poweroffnow なんやかんやいいましたが VyOSっていいよね!
つづきはWebで http://momiage.com/vyosserf 逆にありがとうございました 以上