Jump to content

This is the support site for Andrews & Arnold Ltd, a UK Internet provider. Information on these pages is generally for our customers but may be useful to others, enjoy!

Router - Linux: Difference between revisions

clean up
(clean up)
 
(8 intermediate revisions by one other user not shown)
==Debian/squeeze and /wheezy==
 
This is what RogerBW is using. It'll probably be much the same on other Linuxen. The basic recipe came from [1]http://www.aa-asterisk.org.uk/index.php/Connecting_to_AAISP_using_PPPoE.
 
You will have two ethernet interfaces - one for your internal network (let's assume that's eth1), one for connection to the BT modem (eth0). You will be running PPPoE over the external interface, creating a new interface that actually passes packets.
 
===Setup===
*Install ppp, pppoe and iproute.
*Edit /etc/ppp/peers/aaisp to include:
 
user mylogin@a.1 <----- your AAISP login
plugin rp-pppoe.so
ipv6cp-use-ipaddr
 
*Edit /etc/ppp/chap-secrets to include this line, consisting of three tab-separated words. The first entry is your AAISP router login, the second is an asterisk, and the third is your AAISP router password. For example:
mylogin@a.1 * pa$$w0rd
 
*Create /etc/ppp/ipv6-up.d/0000defaultroute. In it place the following shell script:
 
#!/bin/bash
/sbin/ip -6 route add default dev $1
 
*chmod it 755.
 
==Testing==
You can check connectivity with a cron job, and add a stanza to /etc/network/interfaces to connect at boot.
 
===Extra configuration===
 
You will find at this point that most web sites work, but some few don't - they just freeze on loading or during initial SSL negotiation. This is because they are blocking ICMP, which is stupid - in part because they are then unable to indicate or respond to the need to fragment large packets. You can get round it by limiting the maximum packet size for TCP: set TCPfix on your clueless control panel, or on the router:
==IPv6==
 
*Assign your /64 to the inside interface of your router - eth1 in this example.
ifconfig eth1 inet6 add 2001:8b0:blah/64
*Enable ipv6 forwarding by adding to /etc/sysctl.conf:
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1
*If you don't want to reboot, also push these values into /proc/sys/etc.:
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
echo 1 > /proc/sys/net/ipv6/conf/default/forwarding
3.2.0-rc5
 
===PPPoE===
*Linux is capable of supporting RFC 4638 for an MTU of 1500 (or greater) over PPPoE
**This is supported on BT FTTC
**Kernel 2.6.34 is required to fix bugs with certain network cards and non-linear SKBs (ea8420e9, 19937d04)
**pppd 2.4.6 is required for RFC 4638 support (this is in git but not yet released)
 
==PPP Not coming back after a blip:==
This is supported on BT FTTC
 
This was reported in IRC on Feb 6th 2011. If you get people saying their line didn't come back or their linux box crashed (as in kernel oopsed) after a blip, turns out there's a bug in the kernel pppoe code for 2.6.36 which has been hitting me. some kind of double free in the disconnect code causes a kernel panic. there's a patch here: http://kerneltrap.org/mailarchive/linux-kernel/2010/12/3/4654538 which seems to work for me
Kernel 2.6.34 is required to fix bugs with certain network cards and non-linear SKBs (ea8420e9, 19937d04)
pppd 2.4.6 is required for RFC 4638 support (this is in git but not yet released)
 
[[Category:Routers]]
==PPP Not coming back after a blip:==
 
This was reported in IRC on Feb 6th 2011. If you get people saying their line didn't come back or their linux box crashed (as in kernel oopsed) after a blip, turns out there's a bug in the kernel pppoe code for 2.6.36 which has been hitting me. some kind of double free in the disconnect code causes a kernel panic. there's a patch here: http://kerneltrap.org/mailarchive/linux-kernel/2010/12/3/4654538 which seems to work for me
editor
698

edits