Speedtouch 510 setup with Linux
You have gotten your adsl modem (in my case a speedtouch 510) and you want to use linux to do the routing and firewalling stuff. Mainly because the 510 is a very brain dead modem, which mangles too long DNS packets, can’t do IPv6, etc, etc.
I've seen a lot of pages about `SIP_SPOOF` and `DHCP_SPOOF` (for details I refer to google). People remarked that those things worked, but are a hack. If you go down this rat hole, use `SIP_SPOOF` instead of `DHCP_SPOOF`, because that is a lesser hack IMO. Also I have KPN ADSL (Netherlands), you might have more luck if you use ADSL from bbeyond. If I knew then what I know now, I hadn't taken KPN ADSL... Anyhow, I couldn't get either of these hacks to work at my place, so I needed something else. This page tells you what I did; it boils down to using the modem as some kind of bridge and do the actual calling from your linux box. You actually get a `ppp0` device which is your Internet connection. Just as in the go'old times ;-) You need to setup your local network so that you can communicate with your modem. This means having a 10.0.0.0/8 address on your ethernet that is connected to your modem.modem side
It is assumed you can reach your modem on 10.0.0.138 and you have a browser handy. Put the CD from KPN in your computer and find a file called `PPTP.INI` on it. Upload this configuration file to your modem. You may need to rename the file to `PPTP.ini`. Next configure your modem, disable `DNS`, `DHCP`, i.e. all the br0ken stuff. Your modem now only bridges between the local ethernet and the adsl connection. Note: I couldn't get the bridging going be using easy-setup (->Bridging) in the modem's configuration, I really had to upload this `PPTP.INI` file to the modem.linux side
Download `pptp-linux`, it's in Debian/Ubuntu. Configure it to make it work. Examples of configuration can be found on the website from pptp-linux.Make it work at boot time - the Debian way
This was a bit difficult, but I got it working in the end. In `/etc/ppp/peers` create a file with a name for your connection. I called mine `xs4all`, in there put:pty "pptp 10.0.0.138 --nolaunchpppd"
user `yourusername@axs4all'
lcp-echo-interval 10
lcp-echo-failure 3
defaultroute
persist
Also be sure to update the `/etc/ppp/options` and `/etc/ppp/pap-secrets`
according to pptp-linux's documentation.
And in /etc/network/interfaces
add the following:
# ADSL ppp config
iface xs4all inet ppp
provider xs4all
where provider xs4all
must match the name of the file under /etc/ppp/peers
.
Don’t forget auto xs4all
somewhere in that file and you’re set to
go.
trying it out
Do a `pptp 10.0.0.138`, this should yield (after one or two seconds) a `ppp0` interface with your ip address. After this I was able to ping hosts on the Internet. It worked :-):ppp0 Link encap:Point-to-Point Protocol inet addr:xx.xx.17.126 P-t-P:xx.xx.250.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:1036930 errors:0 dropped:0 overruns:0 frame:0 TX packets:639014 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:1167757439 (1.0 GiB) TX bytes:50856576 (48.5 MiB)Kill your `pppd` daemon and try the command `pon xs4all`, this should now also work. Kill the connection with `poff xs4all`. If this works the stuff from `/etc/network/interfaces` should also work. Try `ifup xs4all`, if that works the interface should also come up during boot.
the future and beyond
Next I need to reconfigure my firewall and setup the (new) internal network, but that is all trivial.
Read other posts