Upload
nobuyuki-matsui
View
1.280
Download
4
Embed Size (px)
Citation preview
2
松井暢之(まつい のぶゆき)
TIS株式会社コーポレート本部戦略技術センター
~2003
2003~2008
2009
2010~2012
2013~
現場PJでアーキテクト兼モデラー兼プログラマ兼…を歴任
基盤技術センター(現戦略技術センター)で不芳PJの火消しに奔走
全社生産性向上の企画策定に従事
オープンでエッジな技術を活用した事業企画に従事
Cloud Orchestrator “CloudConductor®” の企画開発とOSS化開始
http://cloudconductor.org
nbyk.matsui
nmatsui
nbyk.matsui
@n_matsui
本日の内容
構築したOpenStack on SoftLayerの全体像
ホストサーバのネットワーク構成のポイント
OpenStack上の仮想ネットワーク構成のポイント
3
構築手順の詳細は次の記事をご参照ください
SoftLayer BareMetal上でOpenStack Icehouseを動作させるhttp://tech-sketch.jp/2014/12/softlayer-openstack-icehouse.html
構築したOpenStack on SoftLayerの全体像
4
Bare Metal
VM
Internal Subnet (192.168.0.0/24)
Internal IP: 192.168.0.2
Floating IP: 10.88.166.68
Private Portable Subnet (10.88.166.64/28)
router
eth1
eth0br-ex:0 br-ex
10.88.166.66
CinderSwiftGlance
keystone
NeutronNova
Horizon
NAT: 192.168.0.2 ⇔ 10.88.166.68
br-int
10.88.166.67
192.168.0.1
Private Primary Subnet (10.90.138.64/26)
SoftLayer Private Network
10.88.166.65 10.90.138.65
10.90.138.103
仮想マシンと仮想ネットワーク OpenStackサービス
Public Primary Subnet
PPTP or SSL-VPN
SSHInternet
構築したOpenStack on SoftLayerの要件
今回は「構築者がOpenStackの検証を行う」ことを目的とした環境(OpenStackはpackstackでAll-in-Oneでインストール)
インターネットにはOpenStackのAPIやGUIを公開しない
OpenStackで立ち上げたVMに与えるFloating IPは、SoftLayerのサーバに与えられるIPアドレスと重複しないように制御する
5
OpenStackの各サービスはPublic IPアドレスではなくPrivate IPアドレスでアクセスする
外部接続Subnetとして、Private Primary SubnetではなくPrivate Portable Subnetを利用する
ホストサーバのネットワーク構成のポイント
6
Bare Metal
VM
Internal Subnet (192.168.0.0/24)
Internal IP: 192.168.0.2
Floating IP: 10.88.166.68
Private Portable Subnet (10.88.166.64/28)
router
eth1
eth0br-ex:0 br-ex
10.88.166.66
CinderSwiftGlance
keystone
NeutronNova
Horizon
NAT: 192.168.0.2 ⇔ 10.88.166.68
br-int
10.88.166.67
192.168.0.1
Private Primary Subnet (10.90.138.64/26)
SoftLayer Private Network
10.88.166.65 10.90.138.65
10.90.138.103
仮想マシンと仮想ネットワーク OpenStackサービス
Public Primary Subnet
PPTP or SSL-VPN
SSHInternet
iptablesでssh以外のinboundをreject
OpenStackサービスのホストIPを10.90.138.103に変更
ovsブリッジにaliasを作成しPrivate Portable IPを割当
10.0.0.0/8は10.90.138.65へ静的ルーティング
ホストサーバのネットワーク構成のポイント
ホストサーバのネットワークインタフェース
7
[root@openstack01 ~]# ifconfig
br-ex Link encap:Ethernet HWaddr 00:25:90:91:7F:80
inet addr:10.90.138.103 Bcast:10.90.138.127 Mask:255.255.255.192
...
br-ex:0 Link encap:Ethernet HWaddr 00:25:90:91:7F:80
inet addr:10.88.166.66 Bcast:10.88.166.79 Mask:255.255.255.240
...
br-int Link encap:Ethernet HWaddr 66:FC:5D:97:48:48
...
br-tun Link encap:Ethernet HWaddr 72:17:42:94:A8:44
...
eth0 Link encap:Ethernet HWaddr 00:25:90:91:7F:80
...
eth1 Link encap:Ethernet HWaddr 00:25:90:91:7F:81
inet addr:AAA.BBB.CCC.DDD Bcast:AAA.BBB.CCC.yyy Mask:255.255.255.248
...
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
...
virbr0 Link encap:Ethernet HWaddr 52:54:00:E7:5B:65
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
SoftLayerから与えられた Private Primary Subnet のIPアドレス
追加取得した Private Portable Subnet のIPアドレス
SoftLayerから与えられた Public Primary SubnetのIPアドレス
ホストサーバのネットワーク構成のポイント
ホストサーバのルーティングテーブル
VLAN Spanningされた他のPrivate Subnetのサーバとも通信できるように、SoftLayerのPrivate Network(10.0.0.0/8)宛のパケットはbr-exを使ってPrivate Primary Subnetのgateway (10.90.138.65)へ送出する静的routeを設定
デフォルトゲートウェイはeth1側にあるPublic Primary Networkのgatewayを設定
8
[root@openstack01 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
AAA.BBB.CCC.zz 0.0.0.0 255.255.255.248 U 0 0 0 eth1
10.88.166.64 0.0.0.0 255.255.255.240 U 0 0 0 br-ex
10.90.138.64 0.0.0.0 255.255.255.192 U 0 0 0 br-ex
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1124 0 0 br-ex
10.0.0.0 10.90.138.65 255.0.0.0 UG 0 0 0 br-ex
0.0.0.0 AAA.BBB.CCC.x 0.0.0.0 UG 0 0 0 eth1
Private Primary Subnet
Private Portable Subnet
Public Primary Subnet
ホストサーバのネットワーク構成のポイント
ネットワークの疎通確認
9
Bare Metal (openstack01)
eth1
eth0br-ex:0 br-ex
SoftLayer Private Network
同一VLANのサーバ(test-sjc01)
別VLANのサーバ(test-sng01)
Private Portable Subnet (10.88.166.64/28)
10.88.166.66
Private Primary Subnet (10.90.138.64/26)
10.88.166.65 10.90.138.65
10.90.138.103
別DCのPrivate Primary Subnet (10.67.43.0/26)
OpenStack上の仮想ネットワーク構成のポイント
10
Bare Metal
VM
Internal Subnet (192.168.0.0/24)
Internal IP: 192.168.0.2
Floating IP: 10.88.166.68
Private Portable Subnet (10.88.166.64/28)
router
eth1
eth0br-ex:0 br-ex
10.88.166.66
CinderSwiftGlance
keystone
NeutronNova
Horizon
NAT: 192.168.0.2 ⇔ 10.88.166.68
br-int
10.88.166.67
192.168.0.1
Private Primary Subnet (10.90.138.64/26)
SoftLayer Private Network
10.88.166.65 10.90.138.65
10.90.138.103
仮想マシンと仮想ネットワーク OpenStackサービス
Public Primary Subnet
PPTP or SSL-VPN
SSHInternet
neutronの外部接続NWとしてPrivate Portable Subnetを指定(gatewayはホストサーバ自身)
Private Portable Subnetのパケットをeth1へNATするルールをiptablesへ追加
10.0.0.0/8は10.88.166.65へ静的ルーティング
OpenStack上の仮想ネットワーク構成のポイント
外部接続Subnetのgatewayルールをiptablesに設定
SoftLayerから与えられたPrivate Portable Subnetのgatewayはインターネットへルーティングする経路を持たないため、OpenStack上に作成したVMがインターネットに出られるように、Private Portable Subnetのパケットをeth1へ転送してNATするルールをiptablesに追加
念のため、Private IPのパケットをそのままインターネットへ流さないようにDROPするルールも追加
11
[root@openstack01 ~]# iptables -A FORWARD -o eth1 -s 10.88.166.64/28 -j ACCEPT
[root@openstack01 ~]# iptables -t nat -A POSTROUTING -o eth1 -s 10.88.166.64/28 -j MASQUERADE
[root@openstack01 ~]# iptables -A OUTPUT -o eth1 -d 10.0.0.0/8 -j DROP
[root@openstack01 ~]# iptables -A OUTPUT -o eth1 -d 172.16.0.0/12 -j DROP
[root@openstack01 ~]# iptables -A OUTPUT -o eth1 -d 192.168.0.0/16 -j DROP
[root@openstack01 ~]# iptables -A OUTPUT -o eth1 -d 127.0.0.0/8 -j DROP
OpenStack上の仮想ネットワーク構成のポイント
neutronの外部接続ネットワークの設定
ゲートウェイIPは、eth1へのNATルールを追加したホストサーバのbr-ex:0に割り当てたPrivate Portable IP Addressを指定
SoftLayerのPrivate Networkへ通信できるように、10.0.0.0/8はPrivate Portable Subnetのgateway(10.88.166.65)へルーティングする静的routeを設定
12
設定項目 値 備考
ネットワーク名 public
サブネット名 public_subnet
ネットワークアドレス 10.88.166.64/28 Private Portable Subnet
ゲートウェイIP 10.88.166.66 br-ex:0に設定したPrivate Portable IP Address
DHCP有効 有効
IPアドレスプール 10.88.166.67,10.88.166.78 Private Portable Subnetの空きIPレンジ
DNSサーバ 8.8.8.8 とりあえずGoogleのDNSサーバを利用
追加のルート設定 10.0.0.0/8,10.88.166.65 10.0.0.0/8は10.88.166.65へルーティング
OpenStack上の仮想ネットワーク構成のポイント
ネットワークの疎通確認
13
Bare Metal (openstack01)
VM
router
eth1
eth0br-ex:0 br-ex
br-int
SoftLayer Private Network
Internet
Public Primary Subnet
同一VLANのサーバ(test-sjc01)
別VLANのサーバ(test-sng01)
sourceが10.88.166.64/28のパケットはeth1へMASQUERADEInternal Subnet (192.168.0.0/24)
Internal IP: 192.168.0.2
Floating IP: 10.88.166.68
NAT: 192.168.0.2 ⇔ 10.88.166.68
10.88.166.67
192.168.0.1
10.0.0.0/8のgatewayは10.88.166.65
Private Portable Subnet (10.88.166.64/28)
10.88.166.66
Private Primary Subnet (10.90.138.64/26)
10.88.166.65 10.90.138.65
10.90.138.103
default gatewayは10.88.166.66