If you are
having problems with rp-pppoe, then here are is the FAQ from the
Roaring Penguin HOW-TO-CONNECT
document.
A) Can't
see the Ethernet interface
Well, I can't
really help you here. To use these instructions, you must have Linux
working to the point where it recognizes your Ethernet card. If
you type ifconfig ethx
and you get back a HWAddr
value, your Ethernet card is probably OK. But I really can't help
with hardware configuration issues.
B) Connection
seems to come up, but I can't browse the web or ping anything
You probably
don't have DNS set up. See step 6 (F).
C) Can't
compile PPPoE
I have only
tested compilation on 2.2-kernel machines. Make sure you have make,
the C compiler and all development header files installed.
D) pppd
complains about (i) "unknown option pty" or (ii) "pty option precludes
specifying device name"
(i) Your pppd
is too old. You need at least 2.3.7.
(ii) Your /etc/ppp/options
file is not empty. Empty it!
E) pppoe
dies with the log message "Message too long"
You set the
MTU of the Ethernet interface connected to the ADSL modem to less
than 1500. Don't do that.
F) Internal
hosts can't see the Internet
Do you have
masquerading set up? I can't help you in great detail, but see the
IPCHAINS-HOWTO and the IP-Masquerade mini-HOWTO.
G) Authentication
fails
Make sure you
have the right secret in /etc/ppp/pap-secrets.
Your ISP may be using CHAP; it won't hurt to copy the line to /etc/ppp/chap-secrets.
Also, MAKE
SURE that /etc/ppp/options
is EMPTY. The adsl-connect
script supplies all required options on the command line; additional
options in /etc/ppp/options
may mess things up.
H) VPN software
does not work
If you are
using VPN software on a Windows or Linux machine with another Linux
machine running PPPoE as the gateway, you MUST NOT use the "-m"
option to pppoe. This alters IP packets, which will break any VPN
which uses IPSec. In /etc/ppp/pppoe.conf,
set CLAMPMSS to "no".
You'll also have to reduce the MTU on the hosts behind the gateway
to 1452.
I) I can
browse some web sites just fine, but others stall forever.
There is probably
a buggy router or firewall between you and the Web server. One possible
workaround: In /etc/ppp/pppoe.conf,
find the line which reads:
CLAMPMSS=1412
Try lowering
the 1412 until it works (go down in steps of 100 or so.) Each time
you lower the value, you have to restart your connection like this:
adsl-stop;
adsl-start
This should
work around buggy routers which do not support Path MTU discovery.
J) Whenever
I connect using ADSL, my internal LAN no longer sees the gateway
You are more
than likely running a 2.0.X Linux kernel. To solve this problem,
give the Ethernet card connected to the DSL modem a fake IP address.
For example, if eth0 is your internal LAN card and eth1
goes to the DSL modem, do something like this:
ifconfig
eth1 10.0.0.1 netmask 255.255.255.0
You may have
to choose a different IP address; experiment.)
K) How can
I run a script every time I connect and get a new IP address?
Put the script
in /etc/ppp/ip-up.
See the pppd(8) man
page.
L) Nothing
works!
You may need
to put your Ethernet card in half-duplex, 10Mb/s mode to work with
the DSL modem. You may have to run a DOS program to do this, or
pass special parameters to the Linux driver.
Your DSL provider
may be using non-standard PPPoE frames or require something special
in the Service-Name field. If you have two computers, you can try
sniffing out these values with the "pppoe-sniff" program. Type man
pppoe-sniff for details. If you don't have two computers,
you'll have to ask your DSL provider if it uses non-standard PPPoE
frames or special Service-Name fields. Good luck getting an answer...
If pppoe-sniff
indicates that nothing is amiss, make sure the Ethernet card associated
with the ADSL modem does NOT have a valid IP address. (NOTE: For
2.0 kernels, you may have to give it a fake IP address which is
not on your internal subnet. Something like 192.168.42.42 might
work if you are not using 192.168.42.*)
If you are
using synchronous PPP on a slow machine, try switching to asynchronous
PPP.
Make sure no
entries in the routing table go through the Ethernet card connected
to the ADSL modem. You might want to add these lines in adsl-connect:
ifconfig
ethx down
ifconfig
ethx up mtu 1500
which should
reset things to sane values.
WHEN ALL
ELSE FAILS:
If you are
completely unable to connect, run the adsl-start
script in debugging mode. If you are using bash as your shell (if
you don't know what your shell is, it's probably bash), type this:
DEBUG=1
adsl-start
In tcsh
or csh, use:
setenv
DEBUG 1; adsl-start
Then follow
the instructions to mail the debugging file to me. PLEASE DON'T
DO THIS until you have exhausted all other avenues; rp-pppoe
is free software and it costs me time and money to help people with
problems. While I don't mind doing this, I do mind it if you don't
make an effort to fix the problem yourself first.
WARNING:
If you run adsl-start
in debugging mode and you manage to connect, your connection will
be extremely slow and huge amounts of data will quickly fill your
/tmp directory. Do
not use debugging mode unless you really cannot get your connection
to work.
Be aware that
debugging mode produces hex dumps which potentially reveal your
user name and password. If the debugging output includes packets
labeled "PPPOE Session", you may wish to remove these packets from
the dump before mailing it to me.
|