In this article, I'll cover the two possible ways of configuring a normal ADSL connection for a Cisco router. It'll be long, so let's get to it. The two ways are: with or without an external modem. Most providers are providing ADSL along with PPPoE which is PPP (Point to Point Protocol) over Ethernet. Normally the physical kit consists the RJ-11 telephone wall socket, some sort of a filter and an active device - a router. If the router does not have an RJ-11 connector for POTS (Plain Old Telephone Service) and a built-in modem, you still can configure the service, using an external modem. This external modem than would have to be configured into what is called bridge mode. Basically the modem function would be handled by the external device, and the router would deal with the actual PPPoE session. Both are valid and working scenarios and if you happen to have a decent Cisco router with a built-in modem, you probably want to stick with it and use no external devices. After all, it would only increase the number of boxes on your desk, and you don't really need it. On the other hand though, most Cisco routers do not come with decent modems, or modems at all. Our last client had a request for an ADSL connection and some services provided on it, so we delivered.
We have worked with three routers. The Cisco 877, the Cisco 1801 and the Cisco 1841. Let's see the differences. The first two routers (877 and 1801) are ADSL routers, they were designed for terminating ADSL connections without an external modem - they come with a built-in one. There is no fundamental difference between the two, apart from the fact that the 1801 is more powerful, and has an eight port switch, while the 877 is less powerful and has only a four port switch in it. The 1801 also has an additional FastEthernet port, in case you decide using an external modem.
The details you'll need for configuring the ADSL connection are: VPI/PVC numbers and the login credentials. In this example, I'll be configuring a simple ADSL connection (not VDSL, SHDSL etc). So let's look at the configuration step by step. Not the whole config will be discussed here for volume concerns, but everything that is relevant is here.
Assuming you already have a fully configured internal network (ping works, DHCP or other method of assigning IP addresses work etc.), let's focus on the ATM interface, which is the physical interface handling the ADSL connection - this is the modem where the RJ-11 phone line connects to after the filter. Please pay attention to the dialer pool-member command, where the number will be used in the next step, when configuring the logical interface for the WAN connection.
interface ATM0 no ip address atm vc-per-vp 128 no atm ilmi-keepalive pvc 0/38 oam-pvc 0 encapsulation aal5mux ppp dialer dialer pool-member 1 ! hold-queue 224 in !
As you can tell from above, this is an example configuration for the UK, where VPI/PVC 0/38 is used. VPI stands for Virtual Path Identified, PVC is short for Permanent Virtual Circuit, that represents a logical connection in the network. This takes care of the physical layer, time to set up the connection attributes. For this, you'll need a logical interface, called a Dialer interface. I'll just use Dialer 0, but I could have used any number here. In this section, pay attention to the dialer pool and dialer-group commands where the number ties the logical interface to the physical interface.
interface Dialer0 ip address negotiated no ip redirects no ip unreachables ip mtu 1492 ip flow ingress ip nat outside ip virtual-reassembly encapsulation ppp dialer pool 1 dialer-group 1 no cdp enable ppp authentication chap callin ppp chap hostnameppp chap password ppp ipcp dns request ppp ipcp route default !
In the above logical interface, the dialer pool command defines that I'm using pool number 1 here. If you scroll up a bit for the physical interface, ATM 0, you'll see that it is a member of pool number one - this is binding the two interface together. I have also configured the MTU to be 1492 instead of the default 1500 (the PPPoE header takes an additional 8 bytes), and amongst other things, I have configured this interface to participate in NAT. The IP address will be negotiated upon connection. In my case, I happened to have a fixed IP address from the provider, but I'm happy to have it negotiated every time, just in case. This I can use as a form of troubleshooting: if I don't have a valid IP address, or a different one, I know there is a problem at the provider's end.
Let's see what happens when we have an external DSL modem which provides us with an ethernet interface and all we care about is the PPP session? On the router, you'll need to have a dedicated routed interface for this, in my case, I'll use Fa 0/0 as a WAN port. The config looks like:
interface FastEthernet0 description [wan] with external modem ip address 192.168.1.2 255.255.255.0 duplex auto speed auto pppoe enable group global pppoe-client dial-pool-number 2 no cdp enable service-policy output pm_qos_parent end
That's the physical WAN interface done, now let's see the logical interface, which again, will be a Dialer interface:
interface Dialer2 description [wan] with external modem ip address negotiated ip mtu 1492 ip flow ingress ip flow egress ip nat outside ip virtual-reassembly in encapsulation ppp ip tcp adjust-mss 1452 dialer pool 2 dialer-group 2 ppp authentication chap callin ppp chap hostname username@provider ppp chap passwordppp ipcp dns request ppp ipcp route default no cdp enable end
So that's that, this is all you need to get basic connectivity. Of course, you'll need to configure NAT, apply some firewall configurations, maybe add IPv6 support, but that's a different story. The above is enough to get you started!