[jaunty] option rfc3442-classless-static-routes causes missing routes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dhcp (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
dhcp3 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
EDIT: The original description seems wrong. You should probably read my first comment below for an updated diagnosis. I let the original description stand in case it's relevant.
******
Hello! I've just updated to Jaunty and I encountered this bug. I'm not sure it's a nm-applet bug or not, I'm attaching it here in hope someone can track down the source.
A bit of history: when I updated to Intrepid, there was an "Auto eth0" wired network in its settings that didn't work well and that I couldn't edit. I posted a bug somewhere (sorry, can't seem to find it now) and somebody said it was because of an entry /etc/network/
Now I updated to Jaunty, and the first thing I noticed is that I had no Internet access, although I was connected to my LAN. What I noticed:
1) There was again an "Auto eth0" entry in Network Manager's list. It was editable (I could change its name, at least), unlike in Intrepid.
2) The LAN card received an address, so something was working, but there was no route set for the wider Internet.
3) Sure enough, there was an "auto eth0" entry in /etc/network/
4) With this setup, I could tell Network Manager to turn off and on the network, and it got an IP each time but no default route. There was only a route for 192.168.1.0/24 and one for 169.254.0.0/16.
5) If I ran "sudo dhclient eth0" by hand, it got me a correct default route, but no 169.254.0.0/16 route or IP.
5) I commented out the eth0 line in /etc/network/
All this shouldn't happen. It was actually very hard to figure out in Intrepid, and if I hadn't remembered to look in /etc/network/
Here's a log of everything if it helps:
# This is the state I got after my first boot with Jaunty:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:22:15:95:14:b8
inet addr:192.168.1.66 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::222:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:564 errors:0 dropped:0 overruns:0 frame:0
TX packets:155 errors:0 dropped:0 overruns:0 carrier:1
RX bytes:35890 (35.8 KB) TX bytes:31225 (31.2 KB)
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:250 errors:0 dropped:0 overruns:0 frame:0
TX packets:250 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:16088 (16.0 KB) TX bytes:16088 (16.0 KB)
$ sudo dhclient eth0
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://
Listening on LPF/eth0/
Sending on LPF/eth0/
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
DHCPOFFER of 192.168.1.66 from 192.168.1.254
DHCPREQUEST of 192.168.1.66 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.1.66 from 192.168.1.254
bound to 192.168.1.66 -- renewal in 34799 seconds.
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
# Here I clicked on the "Auto eth0" connection in nm-applet to tell it to reconnect. Then:
bogdanb@mabelode:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
$ cat /etc/network/
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
#iface eth0 inet dhcp
$ sudo vim /etc/network/
# edited out the "auto eth0" route
# deleted the "Auto (eth0)" connection in nm-applet
# added a new wired connection with default settings
# connected to it, and:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
Changed in dhcp3 (Ubuntu): | |
assignee: | nobody → mustafa majs (b6613902) |
assignee: | mustafa majs (b6613902) → nobody |
Hello again. I had a different issue with dhclient that I meant to report separately, but it seems the problem above was related to it. There seems to be something wrong with the option rfc3442- classless- static- routes in dhclient.conf. Check this out:
$ sudo killall -9 dhclient
# now nm-applet tells me the network is disconnected, which is true:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
# I removed the leases file: dhcp3/dhclient. leases
$ sudo rm /var/lib/
# Checked that in dhclient.conf the rfc3442 option is enabled dhclient. conf classless- static- routes code 121 = array of unsigned integer 8; classless- static- routes;
$ grep rfc3442 /etc/dhcp3/
option rfc3442-
rfc3442-
# And now run dhclient: www.isc. org/sw/ dhcp/
$ sudo dhclient eth0
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://
Listening on LPF/eth0/ 00:22:15: 95:14:b8 00:22:15: 95:14:b8
Sending on LPF/eth0/
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
DHCPOFFER of 192.168.1.66 from 192.168.1.254
DHCPREQUEST of 192.168.1.66 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.1.66 from 192.168.1.254
bound to 192.168.1.66 -- renewal in 39964 seconds.
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
# Everything seems OK. Now I run again dhclient, with the same configuration: dhclient. pid with pid 16328 www.isc. org/sw/ dhcp/
$ sudo dhclient eth0
There is already a pid file /var/run/
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://
parse_option_param: Bad format a 00:22:15: 95:14:b8 00:22:15: 95:14:b8
Listening on LPF/eth0/
Sending on LPF/eth0/
Sending on Socket/fallback
DHCPREQUEST of 192.168.1.66 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.1.66 from 192.168.1.254
bound to 192.168.1.66 -- renewal in 33985 seconds.
# Note above the 'parse_ option_ param: Bad format a' error. The gateway route is not added anymore:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
# Now I commented-out the rfc3442 option in dhclient.conf dhclient. conf classless- static- routes code 121 = array of unsigned integer 8; classless- static- routes;
$ grep rfc3442 /etc/dhcp3/
#option rfc3442-
# rfc3442-
# And I run again dhclient: dhclient. pid with pid 16394 www.isc. org/sw/ dhcp/
$ sudo dhclient eth0
There is already a pid file /var/run/
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://
/var/lib/ dhcp3/dhclient. leases line 22: no option named rfc3442- classless- static- r...