Upload
keiji-kamebuchi
View
15.894
Download
5
Embed Size (px)
DESCRIPTION
VYATTA USERS MEETING Spring 2014
Citation preview
Vyatta x Microsoft Azure
2014/04/04
Japan Azure User Group
@kamebuchi
自己紹介
2
KeijiKamebuchi buchizo@kamebuchiSenior Fellow
{
"name" : "Keiji Kamebuchi",
"corporation" : "pnop Inc.",
"mail" : "[email protected]",
"web" : "http://buchizo.wordpress.com/",
"twitter" : "@kamebuchi",
"facebook" :
"https://www.facebook.com/keijikamebuchi"
}
JAZって?
• Japan Azure User Groupの略• Microsoft Azureを学び、楽しみ、活かす、
日本のユーザーグループ• 2010/8/26に結成したコミュニティ
• ちょっと興味がある=ゆるふわな方 から実ビジネスで使うんだよね な方まで歓迎職種はなんでもござれ※プログラマ~企画者、デザイナ歓迎
• ゆるふわなコミュニティ
3
JAZUGって?
GROUP はFBで。Japan Azure User Group https://www.facebook.com/groups/jazug/
大阪(関西Azure研究会)、福岡(ふくあず)、仙台、名古屋、札幌
Twitter: #jazug
一緒に楽しんだり、運営してくれるメンバーを募集中です☆
最近のJAZUG
5
大事なお知らせ
6
• このセッションは 2014/04/04 時点の情報を基にしています
• 最新情報はWebで❕
Vyattaの使いどころ
• Azureで提供しているSaaSと接続する
– 仮想ネットワーク
• VPNゲートウェイ
– Site to Site VPN
– Point to Site VPN
• Azure上のネットワークと接続
• Azure上でVyattaを使う
– 仮想マシンとしてVyattaを起動
• 動作検証 / ホビー
• Proxyや他のサービスの土台として
7
CASE 1: VYATTA TO AZURE
8
Case 1: Vyatta to Azure
• Azure VPNゲートウェイとVyattaを接続させる
9
Vyatta
参考: http://www.slideshare.net/kazumihirose/vyatta-user-meeting-2013-spring
AzureVPNゲートウェイ
仮想ネットワーク
VPN Tunnel
Step 1: Azure側の準備
• 仮想ネットワークを作成します
10
論理的に近くに配置するためのグループです
Step 1: Azure側の準備
11
サイト間VPNにチェック
接続元のネットワーク
Step 1: Azure側の準備
12
Vyatta側のグローバルIPアドレス接続元のネットワーク
Step 1: Azure側の準備
13
Azure側のネットワーク
ゲートウェイ用のサブネットを追加しておきます(1つだけ)
Step 1: Azure側の準備
14
作成直後の状態
下部メニューからVPNゲートウェイを作成します
Step 1: Azure側の準備
15
VPNゲートウェイ作成中
Step 1: Azure側の準備
16
VPNゲートウェイ作成中
Step 1: Azure側の準備
• VPNゲートウェイのIPアドレスと事前共有キーを控える
17
Step 2: Vyattaの設定
• 詳細はこちらを参照
• http://www.slideshare.net/kazumihirose/vyatta-user-meeting-2013-spring
18
注意事項など
• プロトコルについてはこちら
• http://msdn.microsoft.com/library/azure/jj156075.aspx
19
プロパティ 静的ルーティング VPN ゲートウェイ動的ルーティング VPN ゲートウェイ [プレビュー]
サイト間接続 (S2S) ポリシー ベースの VPN 構成 ルート ベースの VPN 構成
コンピューター対サイト接続 (P2S) サポートされていません サポートされています (S2S 接続と共存します)
認証方法 事前共有キー •サイト間接続用の事前共有キー
•ポイント対サイト接続用の証明書
サイト間 (S2S) 接続の最大数 1 1
ポイント対サイト (P2S) 接続の最大数 サポートされていません 250
アクティブなルーティングのサポート (BGP) サポートされていません サポートされていません
* 上記URLより抜粋
注意事項など
• IKE フェーズ1 セットアップ
20
プロパティ静的ルーティング VPN ゲートウェイ
動的ルーティング VPN ゲートウェイ [プレビュー]
IKE のバージョン IKEv1 IKEv2
Diffie-Hellman グループ グループ 2 (1024 ビット) グループ 2 (1024 ビット)
[認証方法] 事前共有キー 事前共有キー
暗号化アルゴリズム AES256AES1283DES
AES2563DES
ハッシュ アルゴリズム SHA1 (SHA128) SHA1 (SHA128)
フェーズ 1 のセキュリティ アソシエーション (SA) の有効期間(時間)
28,800 秒 28,800 秒
注意事項など
• IKE フェーズ2 セットアップ
21
プロパティ 静的ルーティング VPN ゲートウェイ動的ルーティング VPN ゲートウェイ [プレビュー]
IKE のバージョン IKEv1 IKEv2
ハッシュ アルゴリズム SHA1 (SHA128) SHA1 (SHA128)
フェーズ 2 のセキュリティ アソシエーション(SA) の有効期間 (時間)
3,600 秒 -
フェーズ 2 のセキュリティ アソシエーション(SA) の有効期間 (スループット)
102,400,000 KB -
IPsec SA 暗号化および認証プラン (優先度順)
1.ESP-AES2562.ESP-AES1283.ESP-3DES4.該当なし
「動的ルーティング ゲートウェイの IPsec セキュリティ アソシエーション (SA) プラン」を参照
PFS (Perfect Forward Secrecy) なし なし
停止しているピアの検出 サポートされていません サポートされています
注意事項など
• Vyatta側– NATトラバーサルが可能である
– グローバルなIPv4アドレスを持っている
– 以下の通信が許可されていること• UDP/500
• UDP/4500
• ESP
– VPNヘッダの付与とカプセル化以前にパケットのフラグメント修正処理が可能であること(MSS: 1350)
22
CASE 2: VYATTA ON AZURE
23
Case 2: Vyatta on Azure
• Windows Azure上の仮想マシン(IaaS)でVyattaを稼働させる
– 単に仮想マシンとしてVyattaを動かすだけ
24
Vyatta
Step 1: ローカルでVyatta作る
• Hyper-Vのイメージであれば動作できる
– レガシーデバイスは不可なので注意
– Vyattaは問題ない
• Hyper-V上にVyattaをインストール
– 世代1(Gen1)で作ること
– 仮想ハードディスクはVHD形式
• ※今は可変長もOKらしい※固定長でしておきましょうか(Max127GB)
25
Step 2: Vyattaの設定
• IPアドレスはDHCPで
– set interfaces ethernet eth0 address dhcp
• SSHを有効に
– set service ssh
– Azureではコンソールは触れない
• Azure用Agentをインストール
– 状態管理や初期構成などを行うAgent
– ※但し初期構成は行えない模様(後述)
26
Step 2: Vyattaの設定
• Azure用Agentのインストール$ /usr/bin/curl -L -O https://codeload.github.com/WindowsAzure/WALinuxAgent/zip/master
$ /usr/bin/unzip master
$ sudo cp master/waagent /usr/sbin
$ sudo chmod 755 /usr/sbin/waagent
$ sudo /usr/sbin/waagent -install
27
よくある失敗
28
Step 2: Vyattaの設定
• MACアドレスを削除
del interfaces; commit;save;
もしくは
/opt/vyatta/etc/config/config.boot からhw_id 行を削除
• Vyattaをシャットダウン
– ※Azureにあげる前に再度起動するとMACアドレスついちゃうので注意
29
Step 3: Azure上へUpload
• 作成したVHDファイルをAzure上(BLOBストレージ)にアップロード
30
Add-AzureVhd -Destination http://<Storage>.blob.core.windows.net/vhds/xxx.vhd
-localfilepath "xxx.vhd“
※実際は一行です
http://www.windowsazure.com/en-us/documentation/articles/virtual-machines-linux-create-upload-vhd/http://www.windowsazure.com/en-us/documentation/articles/virtual-machines-create-upload-vhd-windows-server/
Step 4: 仮想マシンの作成
• アップロードしたVHDを構成
31
Step 4: 仮想マシンの作成
• 仮想マシンを作成
32
汎用イメージへのハードル
• Agentの問題
– Uploadするイメージを作る段階で汎用化する
– waagent -force –deprovision
– Azure上で起動した後の初期化で問題
• ユーザー情報などのプロビジョニング用ファイル(ovf-env.xml)がDVDとしてマウントされる
• UDFフォーマットが使われるがVyattaには無い?
• マウントできず初期化できない※一応起動はする
34
Azure上での注意点
• デプロイしている間はMACアドレス固定
– 障害時などでホストが変わっても維持される
– VHDを保持しておいて削除後再作成などすると変更される
• 静的IPアドレスは無理そう
– 汎用化できれば(構成時にIPアドレスを含めるため)
35
Azure上での注意点
• /var/log/waagent.log
2014/01/31 16:36:56 ERROR:CalledProcessError. Error Code: 32
2014/01/31 16:36:56 ERROR:CalledProcessError. Command string: "mount -v /dev/hdc /mnt/cdrom/secure"
2014/01/31 16:36:56 ERROR:CalledProcessError. Command result: "mount: you must specify the filesystem type
2014/01/31 16:36:56 ERROR:mount: you didn't specify a filesystem type for /dev/hdc
2014/01/31 16:36:56 ERROR: I will try all types mentioned in /etc/filesystems or /proc/filesystems"
2014/01/31 16:36:56 mount: you must specify the filesystem type
2014/01/31 16:36:56 mount: you didn't specify a filesystem type for /dev/hdc
2014/01/31 16:36:56 I will try all types mentioned in /etc/filesystems or /proc/filesystems
36
まとめ
• Azure上でVyattaは動く– 動くのは動く
– 今のところは
• WAAgent– オープンソースです
– https://github.com/Azure/WALinuxAgent
– Vyatta用のカスタマイズを!
– http://www.windowsazure.com/ja-jp/manage/linux/how-to-guides/linux-agent-guide/
37
CASE 3: VYATTA TO VYATTAIN AZURE
38
Case 3: Vyatta to Vyatta in Azure
• Azure上のVyatta同士をVPNで接続
– Azure VPNゲートウェイに頼らない
– マルチSite to Site VPNを目指す(1つ出来たらどうとでもなるはず)
39
Vyatta Vyatta
VPN Tunnel
やってみる
• OpenVPNを使用
40
firewall {name FWv4 {
default-action accept}
}interfaces {
ethernet eth0 {address dhcpduplex autohw-id 00:15:5d:39:79:a6smp_affinity autospeed auto
}openvpn vtun1 {
local-address 172.17.1.11 {subnet-mask 255.255.255.0
}mode site-to-siteopenvpn-option --float
protocol udpremote-address 172.17.1.21remote-host 137.116.162.125shared-secret-key-file
/config/auth/secret}
}protocols {
static {interface-route 10.1.1.0/24 {
next-hop-interface vtun1 {}
}}
}
::
Azure側の設定
41
結果
• Vyatta間は疎通OK
• LAN to LANはNG
– Vyattaがルーティングしてくれない
– というよりはVyattaからパケットが転送されない → MAC Address Spoofingがオフ?
42
Vyatta Vyatta
OK
NGNG
まとめ
43
Azure側の制限*
• Point to Site VPN は Preview GAした!
• Site to Site VPN は 1:1のみ
– 動的ルーティングゲートウェイは PreviewGAした!
• vNICアダプタは1つだけ
– IPアドレス複数設定は可能• 但し障害があった場合、リセットされる可能性アリ
– Hyper-VでいうところのMAC AddressSpoofingがオフになってる?
44* 2014年4月4日現在
まとめ
• Azureで提供されるネットワークまわりはまだ制限多い
– ほしい機能があったらリクエスト!– http://feedback.windowsazure.com/forums/217313-networking-
dns-traffic-manager-vpn-vnet
• Azure用のVyattaイメージがあると嬉しいですね
– 是非VMDepotで公開を!– https://vmdepot.msopentech.com/List/Index
45
46