pppoe connection loses DNS addresses after the first DHCP lease renewal in dapper RC

Bug #47158 reported by Quark Green
20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pppoeconf (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

After setting up "sudo pppoeconf" successfully or running "sudo pon dsl-provider" subsequently, the internet address and DNS server addresses (DNS1 and DNS2) is correctly obtained from my ADSL router/gateway/modem. This is confimed from /var/log/messages. Then /etc/resolve.conf is updated with the internet address and DNS servers and all is well. My connection is PPPOE and my ADSL router/gateway/modem is running in bridge mode with NAT. The problem starts when the dhclient first initiates a renewal of the dhcp internet address. In reply to this renewal request, the router/gateway/modem replies with only the internet address. So then when /etc/resolve.conf is updated, the DNS entries disappear. After that I am no longer able to connect to internet sites by name, only by number.

description: updated
Revision history for this message
Quark Green (quark-green-deactivatedaccount) wrote :

I have now found not 1, not 2, but 3 solutions to this problem. For details see the following entry: http://www.ubuntuforums.org/showthread.php?t=187466.
It just goes to support the fact that there can be many ways to achieve the same thing in Linux because of its flexibility, albeit at the cost of some complexity and need for the user to be an 'enthusiast'.
Quark.

Revision history for this message
Stojan Dimitrovski (sdimitrovski) wrote :

This can be fixed with the 'resolvconf' package.

So create your connection using 'sudo pppoeconf', then start it, and if you have 'resolvconf' installed then this bug shouldn't happen.

Revision history for this message
Stojan Dimitrovski (sdimitrovski) wrote :

The package 'pppoeconf' should depend on 'resolvconf' to get this bug fixed. I've had this bug for three releases now Dapper, Edgy, Feisty and once in Xubuntu. (probably in other Ubuntu derivs and versions)

Changed in pppoeconf:
status: Unconfirmed → Confirmed
Revision history for this message
Quark Green (quark-green-deactivatedaccount) wrote :

Dear Stojance, thank you for your solution. I am willing to fix this bug with guidance and help. I don't know where or how to start updating the pppoeconf package so that the resolvconf package is added to it as a dependant. Will you guide me through the steps necessary or point me to where I can learn how to do this?

Revision history for this message
Stojan Dimitrovski (sdimitrovski) wrote :

Dear Quark, I've never packaged myself (not for a Debian system), but here is a "Packaging Guide" from Ubuntu on how to package things. I've read it so far and what I've found out is that dependencies are added in the 'control' file of the package. There is a line in the control file that starts with 'Depends: ' and after it are all of the package's dependencies.

Right now, pppoeconf depends on: whiptail-provider, whiptail, ppp (>= 2.4.2+20040228-2), pppoe (>= 3.0), ppp (>= 2.4.1.uus2-4), gettext-base (>= 0.13, sed (>= 3.95). As you can see here http://packages.ubuntu.com/dapper/net/pppoeconf.

This is basically what you need to read to know how to get a package, in this case pppoeconf, to depend on another package, resolvconf. http://doc.ubuntu.com/ubuntu/packagingguide/C/basic-scratch.html

But, if you haven't packaged anything for Debian systems to read the Ubuntu Packaging Guide, which can be found here: http://doc.ubuntu.com/ubuntu/packagingguide/C/index.html

If you have any more questions, you can always ask on #ubuntu-bugs on irc.freenode.org or ask here. :)

Revision history for this message
Quark Green (quark-green-deactivatedaccount) wrote :

Hello Stojance, I am trying to learn through the documentation you directed me to. It's tough and slow going but I will try to keep at it. A question in the meantime, I notice that pppoeconf and all the packages it currently depends on are in the 'main' component of Ubuntu. resolvconf however, is in the 'universe' component. Would it pose any problem for a 'main' package to depend on a 'universe' package? As per my understanding, a package in 'main' means that the Ubuntu staff will ensure that it's stable, it works, is up to date etc. But they can't take responsibility for 'universe' packages. So will that make ppoeconf more vulnerable to 'break' in the future if the resolveconf maintainer decides to make changes/updates to his/her package?

Revision history for this message
Borden Rhodes (dominussuus-deactivatedaccount) wrote :

PPPoE works correctly in PCLinuxOS and the major difference I can see is that, when I check my pstree, there is no DHCP client running. Therefore, it seems reasonable that disabling DHCP renewals on all PPPoE interfaces will solve this problem. For the less technically astute, this should either be written into the DHCP client or the PPPoE system.

Revision history for this message
Borden Rhodes (dominussuus-deactivatedaccount) wrote :

I think we can close this bug. If I'm not mistaken, the problem was due to Network Manager handling PPPoE connections incorrectly (which has since been fixed).

Revision history for this message
Quark Green (quark-green-deactivatedaccount) wrote : Re: [Bug 47158] Re: pppoe connection loses DNS addresses after the first DHCP lease renewal in dapper RC

I agree.

2008/11/5 Borden Rhodes <email address hidden>

> I think we can close this bug. If I'm not mistaken, the problem was due
> to Network Manager handling PPPoE connections incorrectly (which has
> since been fixed).
>
> --
> pppoe connection loses DNS addresses after the first DHCP lease renewal in
> dapper RC
> https://bugs.launchpad.net/bugs/47158
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Revision history for this message
reyammer (reyammer) wrote :

Hi,

I think that the bug is not solved, and now I have finally found a solution.
Actually, I'm using Ubuntu Karmic Koala and pppd is at version 2.4.5 and I use wicd
(so, I do NOT have Network Manager!)

Just install the 'resolvconf' package does not solve my problem: after a while (one hour for example) I can't access any page by using its domain name, but if I try to access to a particular page through its IP, there are not problems.
So, it seems that the problem are really the DNS addresses.

In order to solve the problem, I set the DNS addresses when I obtain the IP address for the eth0 interface (through 'dhclient eth0'). Since, I find many troubles in order to do this, I prefer to write down all the steps in order to make the system works.

1) comment the line 'usepeerdns' (by putting a # at the start of the line) in the /etc/ppp/peers/dsl-provider configuration file.
2) modify the /etc/dhcp3/dhclient.conf configuration file in the following way:
- add a line like the following:
prepend domain-name-servers 208.67.222.222;
(instead of 208.67.222.222 you should put the DNS address you want)

Again in the /etc/dhcp3/dhclient.conf file, you have to modify the 'request' entry.
After the word 'request' there are listed some words.
You have to be sure, that the 'domain-name-server' word is NOT present (if there is, delete it!)

Ok, it's done. Now you can do:
ifconfig eth0 up
dhclient eth0
pon dsl-provider

Now, when you perform 'dhclient eth0', the DNS are setted, and the 'pon dsl-provider' command will not modify the DNS addresses!

I know that the level of these explanations is very low (ie for newbie), but I've lost many hours in trying to solve this problem, and I have NOT find in the web a solution to this problem.

I hope it helps,

Yan

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.