PPPoE not working Debian

concentricpuddle

Well-Known Member
Joined
Jul 8, 2009
Messages
241
Reaction score
2
Hey guys. I'm trying to set PPPoE using my PC instead of my router. Anyway, after setting my router in bridged mode and running sudo pppoeconf (no problems anywhere). pon dsl-provider after that i get this after running plog.

Oct 30 14:24:51 debian pppd[3454]: Plugin rp-pppoe.so loaded.
Oct 30 14:24:51 debian pppd[3464]: pppd 2.4.4 started by root, uid 0
Oct 30 14:25:07 debian pppd[3464]: PPP session is 43708
Oct 30 14:25:07 debian pppd[3464]: Using interface ppp0
Oct 30 14:25:07 debian pppd[3464]: Connect: ppp0 <--> eth0
Oct 30 14:25:14 debian pppd[3464]: PAP authentication succeeded
Oct 30 14:25:14 debian pppd[3464]: peer from calling number 00:12:DA:B8:E3:63 authorized
Oct 30 14:25:15 debian pppd[3464]: not replacing existing default route via 10.0.0.2
Oct 30 14:25:15 debian pppd[3464]: Cannot determine ethernet address for proxy ARP
Oct 30 14:25:15 debian pppd[3464]: local IP address 41.185.68.***
Oct 30 14:25:15 debian pppd[3464]: remote IP address 41.185.68.***
Oct 30 14:25:15 debian pppd[3464]: primary DNS address 196.220.59.188
Oct 30 14:25:15 debian pppd[3464]: secondary DNS address 196.220.59.189

I'm not able to connect to anything thoug. Any ideas?
 
Thanks man, got it working by setting up my /etc/network/interfaces and /etc/ppp/peers/dsl-provider as in that thread.
 
I get the following error when trying to edit the international and local configs by hand.

"sudo: kedit: command not found"

You're probably using Ubuntu, not Kubuntu.

You should replace "kedit" with "gedit"
 
My local connection don't work. No packets data received or transmitted even when I have only opened this forum.
 
Last edited:
international:

# Minimalistic default options file for DSL/PPPoE connections

noipdefault
defaultroute
replacedefaultroute
hide-password
#lcp-echo-interval 30
#lcp-echo-failure 4
noauth
persist
#mtu 1492
#persist
#maxfail 0
#holdoff 20
plugin rp-pppoe.so eth0
usepeerdns
user "mylogin@isp"

local:

# Minimalistic default options file for DSL/PPPoE connections

noipdefault
#defaultroute
#replacedefaultroute
hide-password
#lcp-echo-interval 30
#lcp-echo-failure 4
noauth
persist
#mtu 1492
#persist
#maxfail 0
#holdoff 20
plugin rp-pppoe.so eth0
user "mylogin@isp"

zanet:

#!/bin/sh -e
# Called when a new interface comes up

# add custom routing for zanet (local South Africa) on ppp1 device
if [ "$PPP_IFACE" = "ppp1" ]
then
cat /etc/ppp/localroutes4.txt | sed s/'\$LOCAL'/$PPP_IFACE/ | while read localroute
do
# Change net to host for /32 addresses
# This is a bug workaround - Armin must fix his list script.
if [[ $localroute =~ "/32" ]]
then
localroute=`echo $localroute | sed s/net/host/`
$localroute
else
$localroute
fi
done
fi

# We need to route DNS lookups via ppp0 (SAIX) instead of ppp1 (IS)
# The static routing will cause the DNS lookups to be made through the local IS
# connection and the SAIX network will block the lookups because they don't originate
# from their network.
if [ "$PPP_IFACE" = "ppp0" ]
then
cat /etc/resolv.conf | sed s/nameserver// | sed s/' '// | while read nameserver
do
route add -host $nameserver $PPP_IFACE
done
fi

interfaces;

auto lo
iface lo inet loopback


auto ppp0
iface ppp0 inet ppp
provider international

auto ppp1
iface ppp1 inet ppp
provider local

auto eth0
iface eth0 inet manual

auto eth1
iface eth1 inet manual

pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
__________________
Please tell me what am I doing wrong?
 
Okay, I'm gonna tell you what I did, because it worked. However if anything goes wrong I probably won't be able to help you with it. Here goes.

After a bit of trial an error my /etc/network/interfaces looks like this

Code:
# 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

auto ppp0
iface ppp0 inet ppp
provider international

auto ppp1
iface ppp1 inet ppp
provider local

pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf

I have no idea why things are the way they are, but it's simple and it works. Your local and international connections are just as mine (and as in the thread) so I won't bother with them.

The other thing I did was make the zanet file executable. Like so:

Code:
sudo chmod u+x /etc/ppp/ip-up.d/zanet

Everything else I followed as in the guide. Then restart.

Edit: If you aren't able to connect, then you have to restart the connections. Like in the guide.

Code:
sudo ifdown ppp0
sudo ifdown ppp1

Start just one connection:

Code:
sudo ifup ppp0

See if it works:
Code:
sudo watch -n 1 plog
It freezes at this for about a minute on my machine (I think it's because my router's ****ed up, so it may be different for yours).

Code:
Nov  2 15:53:02 debian pppd[7988]: Plugin rp-pppoe.so loaded.
Nov  2 15:53:02 debian pppd[7989]: pppd 2.4.4 started by root, uid 0

If the connection's successful, you'll get this afterwards.

Code:
Nov  2 15:53:20 debian pppd[7989]: PPP session is 64827
Nov  2 15:53:20 debian pppd[7989]: Using interface ppp0
Nov  2 15:53:20 debian pppd[7989]: Connect: ppp0 <--> eth0
Nov  2 15:53:21 debian pppd[7989]: PAP authentication succeeded
Nov  2 15:53:21 debian pppd[7989]: peer from calling number 00:12:DA:B8:E3:63 authorized
Nov  2 15:53:22 debian pppd[7989]: replacing old default route to eth0 [10.0.0.2]
Nov  2 15:53:22 debian pppd[7989]: local  IP address 41.247.85.xxx
Nov  2 15:53:22 debian pppd[7989]: remote IP address 41.242.64.xxx
Nov  2 15:53:22 debian pppd[7989]: primary   DNS address 196.43.45.190
Nov  2 15:53:22 debian pppd[7989]: secondary DNS address 196.43.46.190

However, if you get something like:

Code:
Oct 30 15:28:06 debian pppd[24113]: Timeout waiting for PADO packets
Oct 30 15:28:06 debian pppd[24113]: Unable to complete PPPoE Discovery

Close the connection and open it again.

Just some things that aren't clarified in the guide.

Running sudo ifconfig should give something like this:

Code:
eth0      Link encap:Ethernet  HWaddr 00:1c:25:da:42:a0
          inet addr:10.0.0.101  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::21c:25ff:feda:42a0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5967242 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11955424 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1101324097 (1.0 GiB)  TX bytes:4021551405 (3.7 GiB)
          Interrupt:221 Base address:0xe000

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:129116 errors:0 dropped:0 overruns:0 frame:0
          TX packets:129116 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:25669534 (24.4 MiB)  TX bytes:25669534 (24.4 MiB)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:41.247.85.xxx  P-t-P:41.242.64.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:14429 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16279 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:9311069 (8.8 MiB)  TX bytes:4160529 (3.9 MiB)

ppp1      Link encap:Point-to-Point Protocol
          inet addr:41.185.68.xxx  P-t-P:41.185.68.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:716651 errors:0 dropped:0 overruns:0 frame:0
          TX packets:690706 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:692423598 (660.3 MiB)  TX bytes:510634935 (486.9 MiB)

And the route -n command (cut off, because it's damn long):
Code:
196.43.46.190   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
196.43.45.190   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
41.185.68.1     0.0.0.0         255.255.255.255 UH    0      0        0 ppp1
41.242.64.1     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
196.4.160.0     0.0.0.0         255.255.255.0   U     0      0        0 ppp1

....

41.240.0.0      0.0.0.0         255.248.0.0     U     0      0        0 ppp1
196.208.0.0     0.0.0.0         255.248.0.0     U     0      0        0 ppp1
41.144.0.0      0.0.0.0         255.248.0.0     U     0      0        0 ppp1
41.112.0.0      0.0.0.0         255.240.0.0     U     0      0        0 ppp1
41.160.0.0      0.0.0.0         255.240.0.0     U     0      0        0 ppp1
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0

As a last check as to whether your local and intenational are separated you can visit www.ipchicken.com and www.whatsmyip.co.za you should get two different ip addresses.
 
Last edited:
Now how do I change my local connection, for example, to a different account? I have a couple of different accounts, both local and international. How do I change settings to use one account when the other gets capped?
 
Create PPPoE accounts
Run pppoeconf and set up the international account.
Accept the defaults provided by pppoeconf and say yes to the start at boot option.
Now test the connection with pon dsl-provider
Your Internet connection should be working and if you list the interfaces with ifconfig you should see ppp0 listed.
Disconnect ppp0 before continuing. poff dsl-provider

Now is where we need to start with some custom changes because dual ADSL connections are practically unheard of overseas and pppoeconf only caters for one account in one config file (dsl-provider).
Move the dsl-provider file located in /etc/ppp/peers to "international".
sudo mv /etc/ppp/peers/dsl-provider /etc/ppp/peers/international
We need to do this because when we set up the local account it will overwrite dsl-provider.

Run pppoeconf again and set up the local account but make sure you answer no to the "Use peer DNS" question. We only want to use the DNS servers provided from the ISP from the international account. Say yes to the start at boot option.
Move the dsl-provider config to "local".
sudo mv /etc/ppp/peers/dsl-provider /etc/ppp/peers/local

Let's edit the international and local configs by hand.
I'll only list the parameters that you need to check.
A hash before the line means the line is commented out.

For the international connection :
sudo kedit /etc/ppp/peers/international
noipdefault
defaultroute
replacedefaultroute
usepeerdns


For the local connection :
sudo kedit /etc/ppp/peers/local
noipdefault
# defaultroute
# replacedefaultroute
# usepeerdns


If you want to manage the connections manually or test them you can use the following commands.
pon international
poff international
pon local
poff local

Depending on what order you do then ppp0 and ppp1 can swap around at will which is not desirable and we will fix it in the next section.
Also since the DNS entries in /etc/resolv.conf are only being set up by the international account you won't be able to browse any web sites unless it is connected.
For the moment the local account won't route any traffic because it is not the default route.

So instead of creatigng as just local, you will name it something like local-WA
 
Top
Sign up to the MyBroadband newsletter
X