Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
(C)Copyright 1996-2014 SAKURA Internet Inc.
さくらインターネット研究所 大久保 修一
ohkubo@sakura.ad.jp
2014/7/27 VyOS Users Meeting Japan #1
• 1980年生まれ
• さくらインターネット研究所 所属
• 「さくらのクラウド」のなにか担当
– ネットワークとかストレージとか
– \自分が欲しい機能を実装する/
• Interop Tokyo 2014 NOCメンバー(2014/6)
...
3
http://www.janog.gr.jp/meeting/janog34/img/network/janog34-topology.jpg
4
富士通 PRIMERGY RX200 S7 Memory 96GB
1台で全ての仮想ルータ、無線コントローラ、
仮想サーバ、SSL VPNを稼働(計15VM)
5
ネットワークサーバ
ストレージ
• 共有グローバルセグメント
• 専用グローバルセグメント
• スタティックルート
• ローカルスイッチ
• ロードバランサ、VPCルータ
• パケットフィルタ• SSD 20GB~500GB
• HDD 4...
6
VPCルータ
2014/6/19よりベータ提供開始
(7/27現在、アプライアンス本体は無料で試用可)
2014/8/4より正式提供開始
さくらのクラウド上に、
バーチャルプライベートクラウド(VPC)環境を
簡単に構築できる仮想ルータアプ...
7
お客様サイト
VPCルータ
インターネット
さくらのクラウド
サイト間
IPsec VPN
PPTP
L2TP/IPsec
NAT
DHCP
Virtual Desktop
Infrastructure Web/DB
Servers
管理用...
内部でVyOSが動いてます(v1.0.4)
8
9
クラウドコンパネで操作デモします
10
最大7つのスイッチに
仮想NICを接続可能
11
12
スタティックNATにも対応
(プレミアムプランのみ)
13
DHCP固定アドレス
割り当てにも対応
14
100ユーザまで接続可
15
4拠点まで
スタンダードプラン プレミアムプラン
上流側ネットワーク 共有セグメント ルータ+スイッチ
回線帯域の追加機能 ×
○
(500Mbps, 1Gbpsに変更可)
付属IPv4アドレス 1個
/28付属
(/27~/24に変更可)
IPエイリアス...
17
ここから開発の裏話的なネタを
クラウド
コンパネ
設定情報(JSON)
APIサーバ
設定配布サーバ
設定スクリプト
仮想マシンとして
クラウド上に起動HTTP,SSH
設定情報(JSON)
VPCルータ
お客様VPC環境
18
• 当初、Vyatta Core6.6R1をベースに
• 日下部さんの資料を参考に、
• 構成定義のJSONからVyattaのConfigを生成し
て自動反映するスクリプトを実験的に作り始め
る
19
JSON コントローラ Shell Scr...
20
• VyOSに移行するしか
• VyOS1.0.2で試してみた
• Vyattaと同じ設定で動作確認がとれた
• 設定スクリプトもそのまま動作した
• デフォルトユーザ名の違いくらい?
– vyatta → vyos
21
22
日下部さんの資料より
http://www.slideshare.net/higebu/vyatta-users-meeting-spring-2014-vyos
何故かエラーを
吐いて動作せず・・
23
WRAPPER=/opt/vyatta/sbin/vyatta-cfg-cmd-wrapper
$WRAPPER begin
$WRAPPER delete nat
$WRAPPER set nat source rule 3000 ou...
24
VyOS(Vyatta)をちゃんと動かすのは
ノウハウの塊
25
edit interfaces ethernet eth0
set vrrp vrrp-group 1 advertise-interval 5
set vrrp vrrp-group 1 preempt true
set vrrp vr...
• インターフェイスの設定をまとめて投入すると、VRRP仮想IPが
正しく設定されないケースがあった。(keepalived.confにも書か
れない)
26
$WRAPPER begin
$WRAPPER delete interfaces ...
• 当初、vtiを使う前提で進めていた。
– vtiなら、リモート側のPrefixをStatic Routeで書く
だけで良さそう
• が、vtiを使うとL2TP/IPsecの接続ができないと
いう事象が発生。
• 結局、Proxy-IDを個...
28
set vpn ipsec site-to-site peer x.x.x.x tunnel 1 local prefix x.x.x.x/24
set vpn ipsec site-to-site peer x.x.x.x tunnel...
• DHCPサーバの動的割当状況の取得(show dhcp
server leases)がうまくいかなくて、ソース
コードにパッチをあてたりとか。
• VRRP VIPのGARPを定期的に送信するスクリプ
トを仕込んだりとか。
29
「VPCル...
• DMZ構成
• ステートフルファイアウォール
– サーバ側のステートレスなパケットフィルタは
実装済
• IPv6対応
• かんたんモード
– アドレスとかパラメータの入力を極限まで
削りたい
• サイト間IPsec VPNのパラメータ変...
• 7/25、VyOS1.0.4のパブリックアーカイブと
ISOイメージ用意しました。
31
新しいサーバ作成画面
ベータテスト中です!
Upcoming SlideShare
Loading in …5
×

さくらのクラウドでVyOS使ってみた

14,452 views

Published on

さくらのクラウドでVyOS使ってみた

Published in: Technology
  • Be the first to comment

さくらのクラウドでVyOS使ってみた

  1. 1. (C)Copyright 1996-2014 SAKURA Internet Inc. さくらインターネット研究所 大久保 修一 ohkubo@sakura.ad.jp 2014/7/27 VyOS Users Meeting Japan #1
  2. 2. • 1980年生まれ • さくらインターネット研究所 所属 • 「さくらのクラウド」のなにか担当 – ネットワークとかストレージとか – \自分が欲しい機能を実装する/ • Interop Tokyo 2014 NOCメンバー(2014/6) – IDCFさん、ビットアイルさんとインタークラウド検 証をやったりしました • JANOG34 LAネットワーク担当(2014/7) – 会場ネットワークの一部でVyOS使いました 2
  3. 3. 3 http://www.janog.gr.jp/meeting/janog34/img/network/janog34-topology.jpg
  4. 4. 4 富士通 PRIMERGY RX200 S7 Memory 96GB 1台で全ての仮想ルータ、無線コントローラ、 仮想サーバ、SSL VPNを稼働(計15VM)
  5. 5. 5 ネットワークサーバ ストレージ • 共有グローバルセグメント • 専用グローバルセグメント • スタティックルート • ローカルスイッチ • ロードバランサ、VPCルータ • パケットフィルタ• SSD 20GB~500GB • HDD 40GB~4TB • アーカイブ、ISOイメージ領域 • 1コア/1GB~12コア/128GB • 全42種類 • UNIX系OS各種、Windows IaaSの基本的なリソースを提供 これらの組み合わせで Software-Defined Data Centerを実現! 全ての機能をAPIで 自由に操作可能
  6. 6. 6 VPCルータ 2014/6/19よりベータ提供開始 (7/27現在、アプライアンス本体は無料で試用可) 2014/8/4より正式提供開始 さくらのクラウド上に、 バーチャルプライベートクラウド(VPC)環境を 簡単に構築できる仮想ルータアプライアンス。
  7. 7. 7 お客様サイト VPCルータ インターネット さくらのクラウド サイト間 IPsec VPN PPTP L2TP/IPsec NAT DHCP Virtual Desktop Infrastructure Web/DB Servers 管理用ネットワーク オフィスネットワーク オンプレミス等
  8. 8. 内部でVyOSが動いてます(v1.0.4) 8
  9. 9. 9 クラウドコンパネで操作デモします
  10. 10. 10 最大7つのスイッチに 仮想NICを接続可能
  11. 11. 11
  12. 12. 12 スタティックNATにも対応 (プレミアムプランのみ)
  13. 13. 13 DHCP固定アドレス 割り当てにも対応
  14. 14. 14 100ユーザまで接続可
  15. 15. 15 4拠点まで
  16. 16. スタンダードプラン プレミアムプラン 上流側ネットワーク 共有セグメント ルータ+スイッチ 回線帯域の追加機能 × ○ (500Mbps, 1Gbpsに変更可) 付属IPv4アドレス 1個 /28付属 (/27~/24に変更可) IPエイリアス機能 × ○ スタティックNAT機能 × ○ VRRP冗長化機能 × ○ 月額料金 2,571円 5,142円 16 ※ アプライアンス本体のみ税込価格(時間割料金にも対応) ※ 詳細はこちらをご覧ください http://cloud-news.sakura.ad.jp/vpc-router/ ほぼVMの値段です
  17. 17. 17 ここから開発の裏話的なネタを
  18. 18. クラウド コンパネ 設定情報(JSON) APIサーバ 設定配布サーバ 設定スクリプト 仮想マシンとして クラウド上に起動HTTP,SSH 設定情報(JSON) VPCルータ お客様VPC環境 18
  19. 19. • 当初、Vyatta Core6.6R1をベースに • 日下部さんの資料を参考に、 • 構成定義のJSONからVyattaのConfigを生成し て自動反映するスクリプトを実験的に作り始め る 19 JSON コントローラ Shell Script
  20. 20. 20
  21. 21. • VyOSに移行するしか • VyOS1.0.2で試してみた • Vyattaと同じ設定で動作確認がとれた • 設定スクリプトもそのまま動作した • デフォルトユーザ名の違いくらい? – vyatta → vyos 21
  22. 22. 22 日下部さんの資料より http://www.slideshare.net/higebu/vyatta-users-meeting-spring-2014-vyos 何故かエラーを 吐いて動作せず・・
  23. 23. 23 WRAPPER=/opt/vyatta/sbin/vyatta-cfg-cmd-wrapper $WRAPPER begin $WRAPPER delete nat $WRAPPER set nat source rule 3000 outbound-interface eth0 $WRAPPER set nat source rule 3000 source address !x.x.x.x $WRAPPER set nat source rule 3000 translation address x.x.x.x $WRAPPER set nat destination rule 1000 inbound-interface eth0 $WRAPPER set nat destination rule 1000 destination address x.x.x.x $WRAPPER set nat destination rule 1000 translation address x.x.x.x $WRAPPER set nat source rule 1000 outbound-interface eth0 $WRAPPER set nat source rule 1000 source address x.x.x.x $WRAPPER set nat source rule 1000 translation address x.x.x.x ・・・ $WRAPPER commit $WRAPPER end vyatta-cfg-cmd-wrapperを使って設定投入
  24. 24. 24 VyOS(Vyatta)をちゃんと動かすのは ノウハウの塊
  25. 25. 25 edit interfaces ethernet eth0 set vrrp vrrp-group 1 advertise-interval 5 set vrrp vrrp-group 1 preempt true set vrrp vrrp-group 1 priority 255 set vrrp vrrp-group 1 sync-group VRRP-SYNC set vrrp vrrp-group 1 virtual-address x.x.x.x set vrrp vrrp-group 1 run-transition-scripts backup '/config/scripts/vrrp-state-change.sh' set vrrp vrrp-group 1 run-transition-scripts fault '/config/scripts/vrrp-state-change.sh' set vrrp vrrp-group 1 run-transition-scripts master '/config/scripts/vrrp-state-change.sh' #!/bin/sh ・・・ /opt/vyatta/bin/vyatta-op-cmd-wrapper restart vpn /etc/init.d/xl2tpd stop /etc/init.d/xl2tpd start /etc/init.d/pptpd stop /etc/init.d/pptpd start ・・・ VPN系を一通りrestartする
  26. 26. • インターフェイスの設定をまとめて投入すると、VRRP仮想IPが 正しく設定されないケースがあった。(keepalived.confにも書か れない) 26 $WRAPPER begin $WRAPPER delete interfaces ethernet eth0 $WRAPPER set interfaces ethernet eth0 address x.x.x.x/28 $WRAPPER set interfaces ethernet eth0 ・・・ $WRAPPER commit $WRAPPER end $WRAPPER begin $WRAPPER delete interfaces ethernet eth1 $WRAPPER set interfaces ethernet eth1 address x.x.x.x/24 $WRAPPER set interfaces ethernet eth1 ・・・ $WRAPPER commit $WRAPPER end インターフェイス毎に 1回1回commitする 感じで回避
  27. 27. • 当初、vtiを使う前提で進めていた。 – vtiなら、リモート側のPrefixをStatic Routeで書く だけで良さそう • が、vtiを使うとL2TP/IPsecの接続ができないと いう事象が発生。 • 結局、Proxy-IDを個別に設定する方式(従来な がらの設定)で行くことに。 • 詳しい人居たら教えて下さい m(__)m 27
  28. 28. 28 set vpn ipsec site-to-site peer x.x.x.x tunnel 1 local prefix x.x.x.x/24 set vpn ipsec site-to-site peer x.x.x.x tunnel 1 remote prefix x.x.x.x/16 set vpn ipsec site-to-site peer x.x.x.x tunnel 2 local prefix x.x.x.x/24 set vpn ipsec site-to-site peer x.x.x.x tunnel 2 remote prefix x.x.x.x/16
  29. 29. • DHCPサーバの動的割当状況の取得(show dhcp server leases)がうまくいかなくて、ソース コードにパッチをあてたりとか。 • VRRP VIPのGARPを定期的に送信するスクリプ トを仕込んだりとか。 29 「VPCルータ」を利用する上では、 難しいことは気にせずに お使いいただけます
  30. 30. • DMZ構成 • ステートフルファイアウォール – サーバ側のステートレスなパケットフィルタは 実装済 • IPv6対応 • かんたんモード – アドレスとかパラメータの入力を極限まで 削りたい • サイト間IPsec VPNのパラメータ変更 – 現状、AES128、SHA1、PFSあり、に固定 30
  31. 31. • 7/25、VyOS1.0.4のパブリックアーカイブと ISOイメージ用意しました。 31 新しいサーバ作成画面 ベータテスト中です!

×