[Openstack] can anybody help to explain how the packet of ping shoule be forwarded from vm
Sam Lee
lixq2000 at gmail.com
Tue Sep 23 06:33:56 UTC 2014
I set up an openstack environment using nova-network with multi_host mode.
created network info as below,
root at ubuntu:~# nova network-show e77b754d-5a89-41fd-8c82-69051e69c4ed
+---------------------+--------------------------------------+
| Property | Value |
+---------------------+--------------------------------------+
| bridge | br100 |
| vpn_public_port | None |
| dhcp_start | 172.16.10.202 |
| bridge_interface | eth0 |
| updated_at | None |
| id | e77b754d-5a89-41fd-8c82-69051e69c4ed |
| cidr_v6 | None |
| deleted_at | None |
| gateway | 172.16.10.1 |
| rxtx_base | None |
| label | private |
| priority | None |
| project_id | None |
| vpn_private_address | None |
| deleted | 0 |
| vlan | None |
| broadcast | 172.16.10.207 |
| netmask | 255.255.255.248 |
| injected | False |
| cidr | 172.16.10.200/29 |
| vpn_public_address | None |
| multi_host | True |
| dns2 | None |
| created_at | 2014-09-11T07:58:13.000000 |
| host | None |
| gateway_v6 | None |
| netmask_v6 | None |
| dns1 | 8.8.4.4 |
+---------------------+--------------------------------------+
Note: 172.16.10.1 is the physical gateway
route info of the host as below:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.10.1 0.0.0.0 UG 100 0 0 eth1
10.10.100.0 0.0.0.0 255.255.255.0 U 0 0 0 br100
172.16.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
172.16.10.200 0.0.0.0 255.255.255.248 U 0 0 0 br100
three instances has been created as below,
root at ubuntu:~# nova list
+--------------------------------------+-------+--------+-----------------------+
| ID | Name | Status | Networks
|
+--------------------------------------+-------+--------+-----------------------+
| 5867fa88-de5c-4656-9811-5c86128b786b | test3 | ACTIVE |
private=172.16.10.202 |
| 272f8d4f-f924-488b-855f-7f53a2372708 | test4 | ACTIVE |
private=172.16.10.204 |
| aec01738-996f-42dc-a921-1c859c79ffed | test5 | ACTIVE |
private=172.16.10.205 |
+--------------------------------------+-------+--------+-----------------------+
ip info of host:
root at ubuntu:~# ip a
1: lo: 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
inet 169.254.169.254/32 scope link lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast master br100 state UP qlen 1000
link/ether 00:1e:67:6a:8b:c9 brd ff:ff:ff:ff:ff:ff
inet6 fe80::21e:67ff:fe6a:8bc9/64 scope link
valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1e:67:6a:8b:c8 brd ff:ff:ff:ff:ff:ff
inet 172.16.10.16/24 brd 172.16.10.255 scope global eth1
inet6 fe80::21e:67ff:fe6a:8bc8/64 scope link
valid_lft forever preferred_lft forever
5: br100: mtu 1500 qdisc noqueue state UP
link/ether 00:1e:67:6a:8b:c9 brd ff:ff:ff:ff:ff:ff
inet 172.16.10.203/29 brd 172.16.10.207 scope global br100
inet 10.10.100.52/24 brd 10.10.100.255 scope global br100
inet6 fe80::44c7:b4ff:fe0c:3f/64 scope link
valid_lft forever preferred_lft forever
6: vnet0: mtu 1500 qdisc pfifo_fast master br100 state UNKNOWN qlen 500
link/ether fe:16:3e:0f:03:49 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc16:3eff:fe0f:349/64 scope link
valid_lft forever preferred_lft forever
7: vnet1: mtu 1500 qdisc pfifo_fast master br100 state UNKNOWN qlen 500
link/ether fe:16:3e:b3:d8:a1 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc16:3eff:feb3:d8a1/64 scope link
valid_lft forever preferred_lft forever
8: vnet2: mtu 1500 qdisc pfifo_fast master br100 state UNKNOWN qlen 500
link/ether fe:16:3e:0e:7a:0d brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc16:3eff:fe0e:7a0d/64 scope link
valid_lft forever preferred_lft forever
mac table of br100:
root at ubuntu:~# brctl showmacs br100
port no mac addr is local? ageing timer
1 00:0c:29:27:9d:7e no 16.79
1 00:0c:29:27:9d:88 no 5.49
1 00:0c:29:58:9a:64 no 31.86
1 00:0c:29:f3:cf:7b no 21.28
1 00:12:7f:7d:37:a1 no 35.54
1 00:14:5e:ac:7c:b5 no 26.20
1 00:14:5e:e8:03:d1 no 13.31
1 00:14:f2:a8:00:81 no 1.11
1 00:1e:67:45:85:ad no 14.02
1 00:1e:67:64:ed:c9 no 10.10
1 00:1e:67:64:ee:a5 no 9.38
1 00:1e:67:6a:8b:c9 yes 0.00
1 00:1e:67:97:17:ee no 52.97
1 52:54:00:01:40:23 no 10.72
1 52:54:00:1c:71:3d no 5.50
1 52:54:00:47:9c:ee no 8.70
1 52:54:00:b8:aa:45 no 9.79
1 52:54:00:ee:60:44 no 7.61
1 5c:f3:fc:00:0e:da no 56.27
1 5c:f3:fc:00:ad:02 no 1.13
1 6c:ae:8b:51:49:12 no 0.64
1 8a:62:65:05:8d:02 no 5.38
1 ae:2a:9d:74:11:03 no 155.47
1 e4:1f:13:75:47:e0 no 8.24
1 e4:1f:13:fc:a8:21 no 176.11
1 fa:16:3e:00:c8:ce no 0.38
1 fa:16:3e:05:61:a3 no 4.29
4 fa:16:3e:0e:7a:0d no 11.35
2 fa:16:3e:0f:03:49 no 9.90
1 fa:16:3e:2c:6c:55 no 24.90
1 fa:16:3e:2d:f0:f0 no 7.40
1 fa:16:3e:3b:35:e1 no 27.88
1 fa:16:3e:3f:1a:0c no 9.18
1 fa:16:3e:49:d6:54 no 10.57
1 fa:16:3e:4a:47:6e no 13.07
1 fa:16:3e:61:d5:0c no 24.14
1 fa:16:3e:6b:89:c1 no 25.96
1 fa:16:3e:85:80:df no 3.74
1 fa:16:3e:8d:a4:da no 28.20
1 fa:16:3e:9f:bb:0c no 13.65
1 fa:16:3e:a6:88:1d no 24.17
3 fa:16:3e:b3:d8:a1 no 6.07
1 fa:16:3e:c8:42:0d no 27.80
1 fa:16:3e:ca:a8:8e no 4.70
1 fa:16:3e:e8:a7:9b no 27.31
4 fe:16:3e:0e:7a:0d yes 0.00
2 fe:16:3e:0f:03:49 yes 0.00
3 fe:16:3e:b3:d8:a1 yes 0.00
arp table of instance test5:
[root at test5 ~]# arp -a
? (172.16.10.203) at 00:1e:67:6a:8b:c9 [ether] on eth0
? (172.16.10.1) at 00:12:7f:7d:37:a1 [ether] on eth0
route info of instance test5
[root at test5 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.10.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
172.16.10.200 0.0.0.0 255.255.255.248 U 1 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
0.0.0.0 172.16.10.1 0.0.0.0 UG 0 0 0 eth0
I ping www.sina.com.cn in instances test5(172.16.10.205)
[root at test5 ~]# ping www.sina.com.cn
PING ara.sina.com.cn (58.63.236.35) 56(84) bytes of data.
64 bytes from 58.63.236.35: icmp_seq=1 ttl=49 time=38.4 ms
64 bytes from 58.63.236.35: icmp_seq=2 ttl=49 time=38.5 ms
64 bytes from 58.63.236.35: icmp_seq=3 ttl=49 time=38.2 ms
^C
--- ara.sina.com.cn ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2436ms
rtt min/avg/max/mdev = 38.259/38.427/38.536/0.256 ms
In my option, the packet will go through as follow,
1. vm eth0
2. br100
3. according the mac table of switch br100, the packet will go through to
port 1
the next step has always puzzled me
4. the packet arrived at host eth0. Once the packet arrived eth0, it will
be processed by iptables chains, INPUT, PREROUTING, kernel routing, OUTPUT
and so on. the destination address is 58.63.236.35, based on the kernel
routing table, the packet will be processed by eth1. *In fact, eth0
processes it.*can anyone explain why??
Thanks in advance.
<file:///C:/Users/Administrator/AppData/Local/Temp/images.png>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140923/086f679e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: images.png
Type: image/png
Size: 5494 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140923/086f679e/attachment.png>
More information about the Openstack
mailing list