The default route table has one wrong entry
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Core Infrastructure |
New
|
Undecided
|
Unassigned |
Bug Description
The wrong entry is:
192.0.0.0 0.0.0.0 192.0.0.0 U 1 0 0 eth1
Which caused the VM can't access the external internet website of C-Class IPs.
Here are the details:
I installed the liberty of openstack and the launched VM instance on the compute node can access all the external internet websites except the C-Class IPs.
The commands output in the launched VM:
[root@vm3 ~]# wget http://
--2016-01-09 13:20:06-- http://
Resolving www.sina.com.cn... 202.108.33.60
Connecting to www.sina.
However, both A-CLass and B-Class external IP can be accessed successfully:
[root@vm3 ~]# wget http://
--2016-01-09 13:27:02-- http://
Resolving www.163.com... 60.207.246.98, 124.202.166.57
Connecting to www.163.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: “index.html.1”
The VM's interfaces are:
[root@vm3 ~]# ifconfig
eth1 Link encap:Ethernet HWaddr FA:16:3E:57:1B:57
inet addr:192.168.0.215 Bcast:255.
inet6 addr: fe80::f816:
UP BROADCAST RUNNING MULTICAST MTU:1450 Metric:1
RX packets:46213 errors:0 dropped:0 overruns:0 frame:0
TX packets:42118 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:13492902 (12.8 MiB) TX bytes:39875879 (38.0 MiB)
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:58630 errors:0 dropped:0 overruns:0 frame:0
TX packets:58630 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:44931488 (42.8 MiB) TX bytes:44931488 (42.8 MiB)
virbr0 Link encap:Ethernet HWaddr 52:54:00:D2:F5:28
inet addr:192.168.122.1 Bcast:192.
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Routes on VM are:
[root@vm3 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
169.254.169.254 192.168.0.200 255.255.255.255 UGH 0 0 0 eth1
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.0.0.0 0.0.0.0 192.0.0.0 U 1 0 0 eth1
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth1
The VM is launched with the created public network option.
The public network is 192.168.0.0/24 and private is 10.0.0.0/24.
controller: 192.168.
compute: 192.168.
After 1 week's struggling and I found if I add the route for 202.108.33.60 explicitly, wget can work:
route add 202.108.33.60 gw 192.168.0.1
[root@vm3 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
202.108.33.60 192.168.0.1 255.255.255.255 UGH 0 0 0 eth1
169.254.169.254 192.168.0.200 255.255.255.255 UGH 0 0 0 eth1
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.0.0.0 0.0.0.0 192.0.0.0 U 1 0 0 eth1
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth1
So I guess the problem should be related with the route table and eventually I found the entry "192.0.0.0 0.0.0.0 192.0.0.0 U 1 0 0 eth1" is wrong because it will filter all the C-Class IPs as the LAN(neighbor network) and occasionally www.sina.com.cn is such
host.
After I changed it to be "192.0.0.0 0.0.0.0 255.0.0.0 U 1 0 0 eth1", the www.sina.com.cn can be accessed.
This bug also exists in CentOS image and I think it should also exist in the other OS images.
-------
Release: 0.1 on 2016-01-05 08:55
SHA: 86e6d2e35ef27ee
Source: http://
URL: http://
I don't know how to submit the bug for the openstack code, so just open it here