Howto use adsl and sdsl for a nice speed @home PART 1
This is a short howto to setup failover on two uplinks with bgp and Default downstream to ADSL, upstream to SDSL.
I use for this setup: 1 adsl 8mbit/512kb line
1 sdsl 2mbit/2mbit line
1 cisco 3620
1 cisco 7206-vxr
1 cisco 2950
1 /28 routed public ip space
The cisco 3620 is at my home, also the 2950 is.
I will use in the howto hostnames for both 3620′s:
7206-itx (The 7206 in our main POP in Amsterdam)
3620-frl (The 3620 at my home)
I want to use my adsl as downstream link and the sdsl as upstream.
This to get a l33t internet connection at home.
* The /28 routed through 2 tunnels
* BGP to announce the public ip space and to get failover
* Default downstream to ADSL, upstream to SDSL
The 3620 at my place has one FastEthernet port to my adslmodem that
does bridged dsl:
!
interface FastEthernet0/0
description ADSL
mac-address 0001.02b6.0e46
ip address dhcp
ip access-group 101 in
ip nat outside
duplex auto
speed auto
!
My SDSL i have on a FastEthernet port on the 2950 which is
in a Vlan to the 3620-frl:
Vlan 802.1q setup on Cisco 2950
!
interface FastEthernet0/24
switchport access vlan 4
no ip address
!
Vlan 802.1q setup on 3620-frl:
!
interface FastEthernet1/0.3
description sdsl-uplink
encapsulation dot1Q 4
ip address 213.204.218.6 255.255.255.252
ip access-group 102 in (i will explain this acceslist later)
!
The 7206-itx has two ip-addresses: 213.204.230.82 213.204.230.83.
I use this to bump a tunnel from the 3620-frl over both DSl lines:
!
ip route 213.204.230.83 255.255.255.255 213.204.211.1 (adslrouter)
ip route 213.204.230.84 255.255.255.255 213.204.218.5 (my sdslrouter)
!
The tunnel setup at 3620-frl.
First the tunnel over my adsl line:
!
interface Tunnel1
description tunnel-to-cyber-ix-over-adsl
bandwidth 1024000
ip address 213.204.230.134 255.255.255.252
ip nat outside
ip ospf network non-broadcast
tunnel source 213.204.211.18
tunnel destination 213.204.230.82
tunnel mode ipip
!
Here is the tunnel config for my SDSL line:
!
interface Tunnel2
description tunnel-to-cyber-ix-over-sdsl
ip address 213.204.230.138 255.255.255.252
ip nat outside
tunnel source 213.204.218.6
tunnel destination 213.204.230.83
tunnel mode ipip
!
On the 7206-itx Tunnel2 connects to my adsl line, Tunnel6 to my sdsl line
The adsl tunnel on the 7206-itx:
!
interface Tunnel2
description tunnel-to-basefreak-over-adsl
ip address 213.204.230.133255.255.255.252
ip ospf network non-broadcast
tunnel source 213.204.230.82
tunnel destination 213.204.211.18
tunnel mode ipip
!
The SDSL tunnel on the 7206-itx:
!
interface Tunnel6
description uplink-basefreak-sdsl
ip address 213.204.230.137 255.255.255.252
ip ospf network non-broadcast
tunnel source 213.204.230.83
tunnel destination 213.204.218.6
tunnel mode ipip
!
From this point i’m able to ping accross both tunnels.
The nextpoint is to setup the bgp between both routers.
First bgp on 7206-itx:
!
router bgp 65020
no synchronization
bgp log-neighbor-changes
redistribute static
neighbor 213.204.230.134 remote-as 65018
neighbor 213.204.230.134 weight 5
neighbor 213.204.230.134 distribute-list 13 in
neighbor 213.204.230.138 remote-as 65018
neighbor 213.204.230.138 distribute-list 13 in
!
The acceslist on the 3620-itx for bgp:
!
access-list 13 permit 213.204.230.16 0.0.0.15
access-list 13 deny any
!
Bgp on the 3620-frl:
!
router bgp 65018
no synchronization
bgp log-neighbor-changes
network 213.204.230.16 mask 255.255.255.240
redistribute static metric 10
neighbor 213.204.230.133 remote-as 65020
neighbor 213.204.230.137 remote-as 65020
neighbor 213.204.230.137 weight 5
no auto-summary
!
If everything wnet well, the sessions should be vissible.
On the 7206-itx “show ip bgp summary” helps:
c7206-caprice#sh ip bgp sum
BGP router identifier 213.204.230.173, local AS number 65020
BGP table version is 84, main routing table version 84
20 network entries using 2040 bytes of memory
25 path entries using 1200 bytes of memory
6 BGP path attribute entries using 336 bytes of memory
4 BGP AS-PATH entries using 96 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 3672 total bytes of memory
BGP activity 63/26 prefixes, 94/50 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
213.204.230.54 4 65019 20016 20066 84 0 0 07:44:42 4
213.204.230.134 4 65018 20191 20224 84 0 0 5d22h 3
213.204.230.138 4 65018 20191 20223 84 0 0 5d22h 3
213.204.230.146 4 65017 20084 20120 84 0 0 3d00h 2
213.204.230.158 4 65003 20179 20224 84 0 0 03:56:44 1
c7206-caprice#
Also, note how the route to the 213.204.230.16/28 subnet
from the 7206-itx should prefer the adsl line (which has 8Mb downstream):
c7206-caprice#sh ip bgp 213.204.230.16
BGP routing table entry for 213.204.230.16/28, version 50
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Advertised to peer-groups:
SCAR-IX
Advertised to non peer-group peers:
213.204.230.54 213.204.230.138 213.204.230.158
65018
213.204.230.134 from 213.204.230.134 (213.204.230.166)
Origin IGP, metric 0, localpref 100, weight 5, valid, external, best
65018
213.204.230.138 from 213.204.230.138 (213.204.230.166)
Origin IGP, metric 0, localpref 100, valid, external
Now for the 3620 at my home This is a bit trickery: BGP
doesn’t allow you to bluntly advertise 0.0.0.0/0 across the line. To
circumvent this, I set the 7206-itx to carry a route for 213.204.251.0/24
Wich I can subsequently use to point my default route at.
So on 7206-itx:
!
ip route 213.204.251.0 255.255.255.0 213.204.230.81
!
And on 3620-frl:
!
ip route 0.0.0.0 0.0.0.0 213.204.251.0
!
See The result:
3620-frl#sh ip bgp 213.204.251.0
BGP routing table entry for 213.204.251.0/24, version 22
Paths: (2 available, best #2, table Default-IP-Routing-Table)
Not advertised to any peer
65020, (received & used)
213.204.230.133 from 213.204.230.133 (213.204.230.173)
Origin incomplete, metric 0, localpref 100, valid, external
65020, (received & used)
213.204.230.137 from 213.204.230.137 (213.204.230.173)
Origin incomplete, metric 0, localpref 100, weight 5, valid, external, best
3620-frl#
The sdsl-line is thus preferred for the upstream (thanks to the weight Value)
Goodluck to build it your self