の続き。
*10/19 図が間違っていたの修正
ルーティング
最初のネットワーク状態は以下
追加したネットワークに仮想マシンを追加してルーティングの状態を見てみる。
■add_net1へ追加
$ quantum net-list
+--------------------------------------+----------+--------------------------------------+ | id | name | subnets | +--------------------------------------+----------+--------------------------------------+ | 2888da00-4060-4d2e-979b-d0f86390c76b | ext_net | 9975adc4-8e2f-4152-a68c-b5b3137c0fab | | b91768ec-84e2-4741-b254-a41f5bc43919 | add_net1 | 278814e8-0433-456c-ad8c-e62db9b0ebd0 | | cb2f35e8-2ac7-493d-8089-a302e3be5cee | net1 | 7c10a3de-8e1f-4604-a243-ebedd51bf0ae | | d560db49-30a4-46bc-a60e-9738017eac83 | add_net2 | f8be447d-e169-4970-8c33-44dcb1569689 | +--------------------------------------+----------+--------------------------------------+
$ nova boot --flavor m1.tiny --image 69989707-d9ca-4905-aff7-39e3b025d704 --security-groups default --nic net-id=b91768ec-84e2-4741-b254-a41f5bc43919 testvm11
+------------------------+--------------------------------------+
| Property | Value |
+------------------------+--------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| accessIPv4 | |
| accessIPv6 | |
| adminPass | id5S62Ei5X8w |
| config_drive | |
| created | 2012-10-17T13:56:22Z |
| flavor | m1.tiny |
| hostId | |
| id | 0006e62a-2edf-46ad-b9ea-bd3bd6d1c3d2 |
| image | cirros-0.3.0-x86_64-uec |
| key_name | None |
| metadata | {} |
| name | testvm11 |
| progress | 0 |
| security_groups | [{u'name': u'default'}] |
| status | BUILD |
| tenant_id | 215c241925f543a1a69b3013b474fdd9 |
| updated | 2012-10-17T13:56:22Z |
| user_id | 9123dc08c8404ecd9cc5b5359bde48cc |
+------------------------+--------------------------------------+
$ nova boot --flavor m1.tiny --image 69989707-d9ca-4905-aff7-39e3b025d704 --security-groups default --nic net-id=b91768ec-84e2-4741-b254-a41f5bc43919 testvm12
+------------------------+--------------------------------------+
| Property | Value |
+------------------------+--------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| accessIPv4 | |
| accessIPv6 | |
| adminPass | hE2BBb9kiYad |
| config_drive | |
| created | 2012-10-17T13:57:43Z |
| flavor | m1.tiny |
| hostId | |
| id | 0bb05517-b73c-4875-a630-ae6d88cb3837 |
| image | cirros-0.3.0-x86_64-uec |
| key_name | None |
| metadata | {} |
| name | testvm12 |
| progress | 0 |
| security_groups | [{u'name': u'default'}] |
| status | BUILD |
| tenant_id | 215c241925f543a1a69b3013b474fdd9 |
| updated | 2012-10-17T13:57:44Z |
| user_id | 9123dc08c8404ecd9cc5b5359bde48cc |
+------------------------+--------------------------------------+
$ nova list
+--------------------------------------+----------+--------+---------------------+ | ID | Name | Status | Networks | +--------------------------------------+----------+--------+---------------------+ | 0006e62a-2edf-46ad-b9ea-bd3bd6d1c3d2 | testvm11 | ACTIVE | add_net1=172.50.0.2 | | 0bb05517-b73c-4875-a630-ae6d88cb3837 | testvm12 | ACTIVE | add_net1=172.50.0.3 | +--------------------------------------+----------+--------+---------------------+
OVSは以下の状態
devstack-cc$ sudo ovs-vsctl show
70d88f15-7f24-4fac-a509-3f3c30533cdb
Bridge br-tun
Port br-tun
Interface br-tun
type: internal
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Port "gre-2"
Interface "gre-2"
type: gre
options: {in_key=flow, out_key=flow, remote_ip="172.26.0.101"}
Bridge br-int
Port "tap43e85241-7d"
tag: 4
Interface "tap43e85241-7d"
type: internal
Port "qvoc5a0f828-8c"
tag: 3
Interface "qvoc5a0f828-8c"
Port "tapa9806132-f2"
tag: 1
Interface "tapa9806132-f2"
type: internal
Port "qr-01b9a7bf-ce"
tag: 1
Interface "qr-01b9a7bf-ce"
type: internal
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port "tapd0eab10b-57"
tag: 3
Interface "tapd0eab10b-57"
type: internal
Port br-int
Interface br-int
type: internal
Bridge br-ex
Port br-ex
Interface br-ex
type: internal
Port "qg-f616aed6-66"
Interface "qg-f616aed6-66"
type: internal
ovs_version: "1.4.0+build0"
devstack-node$ sudo ovs-vsctl show
52a9d7d5-117d-49ed-8f79-ea4f43092994
Bridge br-int
Port "qvoa99c709b-91"
tag: 2
Interface "qvoa99c709b-91"
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port br-int
Interface br-int
type: internal
Bridge br-tun
Port br-tun
Interface br-tun
type: internal
Port "gre-1"
Interface "gre-1"
type: gre
options: {in_key=flow, out_key=flow, remote_ip="172.26.0.100"}
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
ovs_version: "1.4.0+build0"
接続イメージは以下。
■仮想マシンのネットワーク接続
この2台の仮想マシンはmetadataサーバに接続できていない。
$ nova console-log --length 25 0006e62a-2edf-46ad-b9ea-bd3bd6d1c3d2
wget: can't connect to remote host (169.254.169.254): No route to host wget: can't connect to remote host (169.254.169.254): No route to host wget: can't connect to remote host (169.254.169.254): No route to host instance-id: public-ipv4: local-ipv4 : wget: can't connect to remote host (169.254.169.254): No route to host cloud-userdata: failed to read instance id WARN: /etc/rc3.d/S99-cloud-userdata failed ____ ____ ____ / __/ __ ____ ____ / __ \/ __/ / /__ / // __// __// /_/ /\ \ \___//_//_/ /_/ \____/___/ http://launchpad.net/cirros login as 'cirros' user. default password: 'cubswin:)'. use 'sudo' for root. cirros login:
$ nova console-log --length 25 0bb05517-b73c-4875-a630-ae6d88cb3837
wget: can't connect to remote host (169.254.169.254): No route to host wget: can't connect to remote host (169.254.169.254): No route to host wget: can't connect to remote host (169.254.169.254): No route to host instance-id: public-ipv4: local-ipv4 : wget: can't connect to remote host (169.254.169.254): No route to host cloud-userdata: failed to read instance id WARN: /etc/rc3.d/S99-cloud-userdata failed ____ ____ ____ / __/ __ ____ ____ / __ \/ __/ / /__ / // __// __// /_/ /\ \ \___//_//_/ /_/ \____/___/ http://launchpad.net/cirros login as 'cirros' user. default password: 'cubswin:)'. use 'sudo' for root. cirros login:
これはホスト側にGWとして設定した、172.50.0.254が存在していないため。
ただし仮想マシン同士の内部通信はできている。
$ sudo ip netns exec qdhcp-b91768ec-84e2-4741-b254-a41f5bc43919 ip addr list
21: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
23: tapd0eab10b-57: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether fa:16:3e:78:21:ca brd ff:ff:ff:ff:ff:ff
inet 172.50.0.1/24 brd 172.50.0.255 scope global tapd0eab10b-57
inet6 fe80::f816:3eff:fe78:21ca/64 scope link
valid_lft forever preferred_lft forever
$ sudo ip netns exec qdhcp-b91768ec-84e2-4741-b254-a41f5bc43919 ip addr list
21: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
23: tapd0eab10b-57: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether fa:16:3e:78:21:ca brd ff:ff:ff:ff:ff:ff
inet 172.50.0.1/24 brd 172.50.0.255 scope global tapd0eab10b-57
inet6 fe80::f816:3eff:fe78:21ca/64 scope link
valid_lft forever preferred_lft forever
$ sudo ip netns exec qdhcp-b91768ec-84e2-4741-b254-a41f5bc43919 ssh cirros@172.50.0.2
The authenticity of host '172.50.0.2 (172.50.0.2)' can't be established. RSA key fingerprint is c7:ff:44:e0:1c:3b:6c:7c:6f:5b:e7:dc:e2:04:78:5c. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '172.50.0.2' (RSA) to the list of known hosts. cirros@172.50.0.2's password:
$ ifconfig
eth0 Link encap:Ethernet HWaddr FA:16:3E:49:68:D9
inet addr:172.50.0.2 Bcast:172.50.0.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:fe49:68d9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:802 errors:0 dropped:0 overruns:0 frame:0
TX packets:530 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:130029 (126.9 KiB) TX bytes:93945 (91.7 KiB)
Interrupt:11
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:56 errors:0 dropped:0 overruns:0 frame:0
TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4928 (4.8 KiB) TX bytes:4928 (4.8 KiB)
$ ping 172.50.0.3
PING 172.50.0.3 (172.50.0.3): 56 data bytes 64 bytes from 172.50.0.3: seq=0 ttl=64 time=430.830 ms 64 bytes from 172.50.0.3: seq=1 ttl=64 time=3.622 ms 64 bytes from 172.50.0.3: seq=2 ttl=64 time=1.766 ms 64 bytes from 172.50.0.3: seq=3 ttl=64 time=1.831 ms ^C --- 172.50.0.3 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 1.766/109.512/430.830 ms
$ route -n
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.50.0.254 0.0.0.0 UG 0 0 0 eth0 172.50.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 $ ping 172.50.0.254 PING 172.50.0.254 (172.50.0.254): 56 data bytes ^C --- 172.50.0.254 ping statistics --- 2 packets transmitted, 0 packets received, 100% packet loss
■ゲートウェイの追加
$ quantum router-list
+--------------------------------------+---------+--------------------------------------------------------+
| id | name | external_gateway_info |
+--------------------------------------+---------+--------------------------------------------------------+
| 34d4f254-4bfe-4f28-9ad5-e762e7014e6f | router1 | {"network_id": "2888da00-4060-4d2e-979b-d0f86390c76b"} |
+--------------------------------------+---------+--------------------------------------------------------+
$ quantum subnet-list
+--------------------------------------+------+----------------+--------------------------------------------------+
| id | name | cidr | allocation_pools |
+--------------------------------------+------+----------------+--------------------------------------------------+
| 278814e8-0433-456c-ad8c-e62db9b0ebd0 | | 172.50.0.0/24 | {"start": "172.50.0.1", "end": "172.50.0.253"} |
| 7c10a3de-8e1f-4604-a243-ebedd51bf0ae | | 172.24.17.0/24 | {"start": "172.24.17.1", "end": "172.24.17.253"} |
| f8be447d-e169-4970-8c33-44dcb1569689 | | 172.100.0.0/24 | {"start": "172.100.0.1", "end": "172.100.0.253"} |
+--------------------------------------+------+----------------+--------------------------------------------------+
$ quantum router-interface-add 34d4f254-4bfe-4f28-9ad5-e762e7014e6f 278814e8-0433-456c-ad8c-e62db9b0ebd0
Added interface to router 34d4f254-4bfe-4f28-9ad5-e762e7014e6f
$ quantum port-list
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+
| id | name | mac_address | fixed_ips |
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+
| 01b9a7bf-ce0b-4146-b142-f2c99886de0b | | fa:16:3e:54:79:55 | {"subnet_id": "7c10a3de-8e1f-4604-a243-ebedd51bf0ae", "ip_address": "172.24.17.254"} |
| 1f27a84a-85c6-4a18-867f-8e90bdb9eb0f | | fa:16:3e:f0:9c:c5 | {"subnet_id": "278814e8-0433-456c-ad8c-e62db9b0ebd0", "ip_address": "172.50.0.254"} |
| 43e85241-7d01-48ed-a577-99971d3c5637 | | fa:16:3e:38:6b:bc | {"subnet_id": "f8be447d-e169-4970-8c33-44dcb1569689", "ip_address": "172.100.0.1"} |
| a9806132-f2a7-4156-aec2-ed33264896c3 | | fa:16:3e:56:12:af | {"subnet_id": "7c10a3de-8e1f-4604-a243-ebedd51bf0ae", "ip_address": "172.24.17.1"} |
| a99c709b-91f3-47b9-adad-8e594c833eff | | fa:16:3e:e0:17:b8 | {"subnet_id": "278814e8-0433-456c-ad8c-e62db9b0ebd0", "ip_address": "172.50.0.3"} |
| c5a0f828-8c63-4389-8685-a792792147b0 | | fa:16:3e:49:68:d9 | {"subnet_id": "278814e8-0433-456c-ad8c-e62db9b0ebd0", "ip_address": "172.50.0.2"} |
| d0eab10b-5783-492a-9a61-9f123fd18bc9 | | fa:16:3e:78:21:ca | {"subnet_id": "278814e8-0433-456c-ad8c-e62db9b0ebd0", "ip_address": "172.50.0.1"} |
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+
ゲートウェイを追加した状態のOVSとアドレスの状態
$ sudo ovs-vsctl show
70d88f15-7f24-4fac-a509-3f3c30533cdb
Bridge br-tun
Port br-tun
Interface br-tun
type: internal
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Port "gre-2"
Interface "gre-2"
type: gre
options: {in_key=flow, out_key=flow, remote_ip="172.26.0.101"}
Bridge br-int
Port "tap43e85241-7d"
tag: 4
Interface "tap43e85241-7d"
type: internal
Port "qvoc5a0f828-8c"
tag: 3
Interface "qvoc5a0f828-8c"
Port "tapa9806132-f2"
tag: 1
Interface "tapa9806132-f2"
type: internal
Port "qr-01b9a7bf-ce"
tag: 1
Interface "qr-01b9a7bf-ce"
type: internal
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port "tapd0eab10b-57"
tag: 3
Interface "tapd0eab10b-57"
type: internal
Port "qr-1f27a84a-85"
tag: 3
Interface "qr-1f27a84a-85"
type: internal
Port br-int
Interface br-int
type: internal
Bridge br-ex
Port br-ex
Interface br-ex
type: internal
Port "qg-f616aed6-66"
Interface "qg-f616aed6-66"
type: internal
ovs_version: "1.4.0+build0"
$ ip addr list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:06:4e:63 brd ff:ff:ff:ff:ff:ff
inet 192.168.128.100/24 brd 192.168.128.255 scope global eth0
inet6 fe80::5054:ff:fe06:4e63/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:c5:1c:e5 brd ff:ff:ff:ff:ff:ff
inet 172.26.0.100/24 brd 172.26.0.255 scope global eth1
inet6 fe80::5054:ff:fec5:1ce5/64 scope link
valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:ba:e9:55 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:feba:e955/64 scope link
valid_lft forever preferred_lft forever
7: br-int: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
link/ether 7a:03:9b:7a:a1:4e brd ff:ff:ff:ff:ff:ff
8: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 52:89:c7:7d:ed:4f brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/24 scope global br-ex
inet6 fe80::5089:c7ff:fe7d:ed4f/64 scope link
valid_lft forever preferred_lft forever
10: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
link/ether 9a:7e:07:5d:f9:44 brd ff:ff:ff:ff:ff:ff
26: qbrc5a0f828-8c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether da:f4:6d:13:b9:9b brd ff:ff:ff:ff:ff:ff
inet6 fe80::98a9:3aff:fea7:2085/64 scope link
valid_lft forever preferred_lft forever
27: qvoc5a0f828-8c: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether ae:f0:ac:20:92:ec brd ff:ff:ff:ff:ff:ff
inet6 fe80::acf0:acff:fe20:92ec/64 scope link
valid_lft forever preferred_lft forever
28: qvbc5a0f828-8c: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master qbrc5a0f828-8c state UP qlen 1000
link/ether da:f4:6d:13:b9:9b brd ff:ff:ff:ff:ff:ff
inet6 fe80::d8f4:6dff:fe13:b99b/64 scope link
valid_lft forever preferred_lft forever
29: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master qbrc5a0f828-8c state UNKNOWN qlen 500
link/ether fe:16:3e:49:68:d9 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc16:3eff:fe49:68d9/64 scope link
valid_lft forever preferred_lft forever
$ for i in `sudo ip netns`; do echo; echo; echo ----- $i -----; sudo ip netns exec $i ip addr list; done
----- qdhcp-d560db49-30a4-46bc-a60e-9738017eac83 -----
24: tap43e85241-7d: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether fa:16:3e:38:6b:bc brd ff:ff:ff:ff:ff:ff
inet 172.100.0.1/24 brd 172.100.0.255 scope global tap43e85241-7d
inet6 fe80::f816:3eff:fe38:6bbc/64 scope link
valid_lft forever preferred_lft forever
25: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
----- qdhcp-b91768ec-84e2-4741-b254-a41f5bc43919 -----
21: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
23: tapd0eab10b-57: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether fa:16:3e:78:21:ca brd ff:ff:ff:ff:ff:ff
inet 172.50.0.1/24 brd 172.50.0.255 scope global tapd0eab10b-57
inet6 fe80::f816:3eff:fe78:21ca/64 scope link
valid_lft forever preferred_lft forever
----- qrouter-34d4f254-4bfe-4f28-9ad5-e762e7014e6f -----
13: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
14: qr-01b9a7bf-ce: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether fa:16:3e:54:79:55 brd ff:ff:ff:ff:ff:ff
inet 172.24.17.254/24 brd 172.24.17.255 scope global qr-01b9a7bf-ce
inet6 fe80::f816:3eff:fe54:7955/64 scope link
valid_lft forever preferred_lft forever
15: qg-f616aed6-66: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether fa:16:3e:ed:a6:2d brd ff:ff:ff:ff:ff:ff
inet 10.0.0.2/24 brd 10.0.0.255 scope global qg-f616aed6-66
inet6 fe80::f816:3eff:feed:a62d/64 scope link
valid_lft forever preferred_lft forever
30: qr-1f27a84a-85: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether fa:16:3e:f0:9c:c5 brd ff:ff:ff:ff:ff:ff
inet 172.50.0.254/24 brd 172.50.0.255 scope global qr-1f27a84a-85
inet6 fe80::f816:3eff:fef0:9cc5/64 scope link
valid_lft forever preferred_lft forever
----- qdhcp-cb2f35e8-2ac7-493d-8089-a302e3be5cee -----
11: tapa9806132-f2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether fa:16:3e:56:12:af brd ff:ff:ff:ff:ff:ff
inet 172.24.17.1/24 brd 172.24.17.255 scope global tapa9806132-f2
inet6 fe80::f816:3eff:fe56:12af/64 scope link
valid_lft forever preferred_lft forever
12: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
この状態で、仮想マシンからは以下の通信はできる。
$ ifconfig -a
eth0 Link encap:Ethernet HWaddr FA:16:3E:E0:17:B8
inet addr:172.50.0.3 Bcast:172.50.0.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:fee0:17b8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:879 errors:0 dropped:0 overruns:0 frame:0
TX packets:613 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:146295 (142.8 KiB) TX bytes:108251 (105.7 KiB)
Interrupt:11
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:64 errors:0 dropped:0 overruns:0 frame:0
TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5728 (5.5 KiB) TX bytes:5728 (5.5 KiB)
$ ping 172.50.0.254
PING 172.50.0.254 (172.50.0.254): 56 data bytes 64 bytes from 172.50.0.254: seq=0 ttl=64 time=270.113 ms 64 bytes from 172.50.0.254: seq=1 ttl=64 time=7.303 ms
$ ping 172.24.17.254
PING 172.24.17.254 (172.24.17.254): 56 data bytes 64 bytes from 172.24.17.254: seq=0 ttl=64 time=4.946 ms 64 bytes from 172.24.17.254: seq=1 ttl=64 time=1.442 ms
$ ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1): 56 data bytes 64 bytes from 10.0.0.1: seq=0 ttl=63 time=326.001 ms 64 bytes from 10.0.0.1: seq=1 ttl=63 time=1.605 ms 64 bytes from 10.0.0.1: seq=2 ttl=63 time=1.614 ms
ここまでは到達できるが、これ以上は外に出られない。
metadata serverが起動している、192.168.128.100(169.254.169.254)には到達できない。
$ sudo ip netns exec qrouter-34d4f254-4bfe-4f28-9ad5-e762e7014e6f iptables -nvL -t nat
Chain quantum-l3-agent-PREROUTING (1 references)
pkts bytes target prot opt in out source destination
1 60 DNAT tcp -- * * 0.0.0.0/0 169.254.169.254 tcp dpt:80 to:192.168.128.100:8775
これはルーティングテーブルの情報が不足しているため。
$ route -n
カーネルIP経路テーブル 受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース 0.0.0.0 192.168.128.1 0.0.0.0 UG 100 0 0 eth0 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br-ex 172.24.17.0 10.0.0.2 255.255.255.0 UG 0 0 0 br-ex 172.26.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.128.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
$ for i in `sudo ip netns`; do echo; echo; echo ----- $i -----; sudo ip netns exec $i route -n; done
----- qdhcp-d560db49-30a4-46bc-a60e-9738017eac83 ----- カーネルIP経路テーブル 受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース 172.100.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tap43e85241-7d ----- qdhcp-b91768ec-84e2-4741-b254-a41f5bc43919 ----- カーネルIP経路テーブル 受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース 172.50.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tapd0eab10b-57 ----- qrouter-34d4f254-4bfe-4f28-9ad5-e762e7014e6f ----- カーネルIP経路テーブル 受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース 0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 qg-f616aed6-66 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 qg-f616aed6-66 172.24.17.0 0.0.0.0 255.255.255.0 U 0 0 0 qr-01b9a7bf-ce 172.50.0.0 0.0.0.0 255.255.255.0 U 0 0 0 qr-1f27a84a-85 ----- qdhcp-cb2f35e8-2ac7-493d-8089-a302e3be5cee ----- カーネルIP経路テーブル 受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース 172.24.17.0 0.0.0.0 255.255.255.0 U 0 0 0 tapa9806132-f2
手取り早く接続するには、ルーティングを追加してやる。
$ sudo route add -net 172.50.0.0/24 gw 10.0.0.2
$ route -n
カーネルIP経路テーブル 受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース 0.0.0.0 192.168.128.1 0.0.0.0 UG 100 0 0 eth0 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br-ex 172.24.17.0 10.0.0.2 255.255.255.0 UG 0 0 0 br-ex 172.26.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 172.50.0.0 10.0.0.2 255.255.255.0 UG 0 0 0 br-ex 192.168.128.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
これでmetadata server まで到達できる。
$ sudo ip netns exec qdhcp-b91768ec-84e2-4741-b254-a41f5bc43919 ssh cirros@172.50.0.2
cirros@172.50.0.2's password:
$ ping 192.168.128.100
PING 192.168.128.100 (192.168.128.100): 56 data bytes 64 bytes from 192.168.128.100: seq=0 ttl=63 time=17.921 ms 64 bytes from 192.168.128.100: seq=1 ttl=63 time=1.319 ms
$ wget http://169.254.169.254/2009-04-04/meta-data/instance-id
Connecting to 169.254.169.254 (169.254.169.254:80) instance-id 100% |**********************| 10 --:--:-- ETA
$ cat instance-id
i-00000004



0 件のコメント:
コメントを投稿