SlideShare a Scribd company logo
(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)
– IDCFさん、ビットアイルさんとインタークラウド検
証をやったりしました
• JANOG34 LAネットワーク担当(2014/7)
– 会場ネットワークの一部でVyOS使いました
2
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 40GB~4TB
• アーカイブ、ISOイメージ領域
• 1コア/1GB~12コア/128GB
• 全42種類
• UNIX系OS各種、Windows
IaaSの基本的なリソースを提供
これらの組み合わせで
Software-Defined Data Centerを実現!
全ての機能をAPIで
自由に操作可能
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エイリアス機能 × ○
スタティックNAT機能 × ○
VRRP冗長化機能 × ○
月額料金 2,571円 5,142円
16
※ アプライアンス本体のみ税込価格(時間割料金にも対応)
※ 詳細はこちらをご覧ください
http://cloud-news.sakura.ad.jp/vpc-router/
ほぼVMの値段です
17
ここから開発の裏話的なネタを
クラウド
コンパネ
設定情報(JSON)
APIサーバ
設定配布サーバ
設定スクリプト
仮想マシンとして
クラウド上に起動HTTP,SSH
設定情報(JSON)
VPCルータ
お客様VPC環境
18
• 当初、Vyatta Core6.6R1をベースに
• 日下部さんの資料を参考に、
• 構成定義のJSONからVyattaのConfigを生成し
て自動反映するスクリプトを実験的に作り始め
る
19
JSON コントローラ Shell Script
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 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
VyOS(Vyatta)をちゃんと動かすのは
ノウハウの塊
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する
• インターフェイスの設定をまとめて投入すると、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する
感じで回避
• 当初、vtiを使う前提で進めていた。
– vtiなら、リモート側のPrefixをStatic Routeで書く
だけで良さそう
• が、vtiを使うとL2TP/IPsecの接続ができないと
いう事象が発生。
• 結局、Proxy-IDを個別に設定する方式(従来な
がらの設定)で行くことに。
• 詳しい人居たら教えて下さい m(__)m
27
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
• DHCPサーバの動的割当状況の取得(show dhcp
server leases)がうまくいかなくて、ソース
コードにパッチをあてたりとか。
• VRRP VIPのGARPを定期的に送信するスクリプ
トを仕込んだりとか。
29
「VPCルータ」を利用する上では、
難しいことは気にせずに
お使いいただけます
• DMZ構成
• ステートフルファイアウォール
– サーバ側のステートレスなパケットフィルタは
実装済
• IPv6対応
• かんたんモード
– アドレスとかパラメータの入力を極限まで
削りたい
• サイト間IPsec VPNのパラメータ変更
– 現状、AES128、SHA1、PFSあり、に固定
30
• 7/25、VyOS1.0.4のパブリックアーカイブと
ISOイメージ用意しました。
31
新しいサーバ作成画面
ベータテスト中です!

More Related Content

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