ppp not getting dns info on connect

Chuck_Sterling csterlin at zianet.com
Wed Jun 30 00:05:17 UTC 2004


Joe Conway wrote:

> Chuck_Sterling wrote:
>> On fc2, all updates installed, ppp connects to my local ISP and I get
>> a dynamic IP address as expected, but the default gateway and dns
>> server IP addresses are not set up. This did work correctly on fc1,
>> and does under fc2 when connecting via ethernet at $WORK.
> 
> I found that the default gateway was working fine, but usepeerdns was
> not causing a resolv.conf to be created, as the pppd man page says it
> should:
> 
>     usepeerdns
>       Ask  the  peer  for up to 2 DNS server addresses.  The addresses
>       supplied by the peer (if any) are passed to  the  /etc/ppp/ip-up
>       script in the environment variables DNS1 and DNS2, and the envi-
>       ronment variable USEPEERDNS will be set to 1.  In addition, pppd
>       will  create  an /etc/ppp/resolv.conf file containing one or two
>       nameserver lines with the address(es) supplied by the peer.
> 
> I ended up creating /etc/ppd/ip-up.local as suggested in
> /etc/ppd/ip-up. It looks like:
> 
> 8<------------------------
> #!/bin/bash
> 
> echo "created by pppd" > /etc/resolv.conf
> echo "nameserver ${DNS1}" >> /etc/resolv.conf
> echo "nameserver ${DNS2}" >> /etc/resolv.conf
> 8<------------------------
> 
> Seemed to do the trick for me.
> 
> Note that when plugged into a LAN, /etc/resolv.conf gets overwritten
> by dhclient (which is what you probably want if you're on a LAN). If
> you're using a static IP for your wired connection, you might want to
> put the ppp resolv.conf in /etc/ppp as suggested on the man page.
> However, I haven't tried that to see if it works.
> 
> HTH,
> 
> Joe
> 
> 

I set up the script. Simple enough; I wonder why it was not included in
the distribution. Anyway, I added one line to change the permissions on
the generated /etc/resolv.conf file, which is owned by root and has
tight permissions when created. I guess another method would be to
create the file with more permissive restrictions, then clear it out
each time by cp-ing /dev/null to it. I did not bother trying that since
this works without preparation.

-------------------------------

#!/bin/bash
 
PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
 
echo "Created by pppd and $0" > /etc/resolv.conf
echo "nameserver ${DNS1}"    >> /etc/resolv.conf
echo "nameserver ${DNS2}"    >> /etc/resolv.conf
chmod go+r                      /etc/resolv.conf

-------------------------------

The original permissions:
-rw-------  1 root root 94 Jun 29 17:47 resolv.conf

The modified permissions:
-rw-r--r--  1 root root 94 Jun 29 17:47 resolv.conf

The content of resolv.conf...
(with ip addresses x'd out, of course, just in case):

-------------------------------

Created by pppd and /etc/ppp/ip-up.local
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

-------------------------------

Thanks again for pointing me in the right direction...

Now to figure out how to connect to $WORK...

Chuck






More information about the fedora-list mailing list