###################################################################### # All Rights Reserved, Copyright FUJITSU LIMITED 2015-2018 # # API実行サンプル名: # 05-001_サブネットの設定変更(ルーティング設定追加) # # 内容: # サブネットにルーティング(host_routes)を追加する手順です。 # # 版数:v1.1 # 更新日:2017/09/01 ###################################################################### 手順: ─────────────────────────────────── 項番1.サブネット1の確認 項番2.サブネット1のルーティング設定変更 項番3.サブネット1の確認 項番4.仮想サーバ1の確認 ─────────────────────────────────── 事前準備: あらかじめ以下を準備する必要があります ─────────────────────────────────── ・ネットワーク1 ・ネットワーク2 ・ルータ1 ・ルータ2 ・サブネット1 ・サブネット2 ・仮想サーバ1 ・仮想サーバ2 ─────────────────────────────────── ルーティング設定構成例: 以下のような多段ネットワーク構成を作成する際のサブネットへの ルーティング設定構成例を示します。 ====================================================================== 【ルータ1】 (192.168.11.1) ┃ 【サブネット1】 ┗━━━┳━━━(192.168.11.0/24) ━━━━━━━┳━━ ┃ ┃ (192.168.11.8) (192.168.11.11) 【仮想サーバ1】 【ルータ2】 (192.168.21.1) 【サブネット2】 ┃ ━━┳━━━(192.168.21.0/24) ━━━━━━┻━━ ┃ (192.168.21.8) 【仮想サーバ2】 ====================================================================== 注意事項: ・サブネットの設定変更後、仮想サーバのOSへルーティング(host_routes) を適用する為に、サブネット上の仮想サーバの再起動が必要です。 項番1.サブネット1の確認 ルーティングを追加する前のサブネット1のルーティング(host_routes) を確認します。 環境定義コマンド例: ====================================================================== # SUBNET_ID=<ルーティング(host_routes)を追加するサブネットID> SUBNET_ID=76ce4ee1-9ced-4cfb-a177-3c6d94c86e7a API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/subnets/$SUBNET_ID -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "subnet": { "availability_zone": "jp-west-2a", "id": "76ce4ee1-9ced-4cfb-a177-3c6d94c86e7a", "cidr": "192.168.11.0/24", "gateway_ip": "192.168.11.1", "name": "TEST_Subnet1", "enable_dhcp": true, "network_id": "ffe89c1e-7c43-4f73-88b7-cbaf4059285d", "tenant_id": "<プロジェクトID>", "dns_nameservers": [ "133.162.145.10", "133.162.145.9" ], "allocation_pools": [ { "end": "192.168.11.254", "start": "192.168.11.2" } ], "host_routes": [], "ip_version": 4 } } ====================================================================== 項番2.サブネット1のルーティング設定変更 サブネット1にルーティング(host_routes)設定を変更します。 注意事項: ・サブネットに、既存のルーティング(host_routes)含めて設定したい ルーティング(host_routes)をすべて記載して下さい。 環境定義コマンド例: ====================================================================== # SUBNET_ID=<ルーティング(host_routes)を追加するサブネットID> SUBNET_ID=76ce4ee1-9ced-4cfb-a177-3c6d94c86e7a # HOST_ROUTES=<ルーティング(host_routes)設定{\"nexthop\":\"<ネクスト # ホップIPアドレス>\",\"destination\":\"<宛先のCIDR>\"}> HOST_ROUTES={\"nexthop\":\"192.168.11.11\",\"destination\":\"192.168.21.0/24\"},{\"nexthop\":\"192.168.11.1\",\"destination\":\"0.0.0.0/0\"} API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/subnets/$SUBNET_ID -X PUT -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"subnet": { "host_routes": ['$HOST_ROUTES'] }}' | jq . レスポンス例: ====================================================================== { "subnet": { "availability_zone": "jp-west-2a", "id": "76ce4ee1-9ced-4cfb-a177-3c6d94c86e7a ", "cidr": "192.168.11.0/24", "gateway_ip": "192.168.11.1", "name": "TEST_Subnet1", "enable_dhcp": true, "network_id": " ffe89c1e-7c43-4f73-88b7-cbaf4059285d ", "tenant_id": "<プロジェクトID>", "dns_nameservers": [ "133.162.145.10", "133.162.145.9" ], "allocation_pools": [ { "end": "192.168.11.254", "start": "192.168.11.2" } ], "host_routes": [ { "destination": "0.0.0.0/0", "nexthop": "192.168.11.1" }, { "destination": "192.168.21.0/24", "nexthop": "192.168.11.11" } ], "ip_version": 4 } } ====================================================================== 項番3.サブネット1の確認 サブネット1に追加したルーティング(host_routes)設定を確認します。 環境定義コマンド例: ====================================================================== # SUBNET_ID=<ルーティング(host_routes)を追加したサブネットID> SUBNET_ID=76ce4ee1-9ced-4cfb-a177-3c6d94c86e7a API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/subnets/$SUBNET_ID -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "subnet": { "availability_zone": "jp-west-2a", "id": "76ce4ee1-9ced-4cfb-a177-3c6d94c86e7a", "cidr": "192.168.11.0/24", "gateway_ip": "192.168.11.1", "name": "TEST_Subnet1", "enable_dhcp": true, "network_id": "ffe89c1e-7c43-4f73-88b7-cbaf4059285d", "tenant_id": "<プロジェクトID>", "dns_nameservers": [ "133.162.145.10", "133.162.145.9" ], "allocation_pools": [ { "end": "192.168.11.254", "start": "192.168.11.2" } ], "host_routes": [ { "destination": "0.0.0.0/0", "nexthop": "192.168.11.1" }, { "destination": "192.168.21.0/24", "nexthop": "192.168.11.11" } ], "ip_version": 4 } } ====================================================================== 注意事項: ・サブネット1へルーティング(host_routes)を設定後は、仮想サーバの OSへルーティング(host_routes)を適用する為に、仮想サーバ1の再起動 が必要です。 ・詳細はAPI実行サンプル【02-004_仮想サーバの起動と停止】を参照して ください。 項番4.仮想サーバ1の確認  仮想サーバ1へログインして、ルーティング(host_routes)が適用されて いることを確認します。 コマンド実行例: ====================================================================== netstat -r レスポンス例: ====================================================================== Kernel IP routing table Destination Gateway  Genmask Flags MSS Window irtt Iface 192.168.21.0 192.168.11.11 255.255.255.0 UG 0   0  0  eth0 192.168.11.0   * 255.255.255.0 U 0   0 0  eth0 default 192.168.11.1 0.0.0.0 UG 0    0  0  eth0 ====================================================================== 変更履歴: ─────────────────────────────────── v1.1版: ・229行目:誤記修正 ─────────────────────────────────── 以上