ADSL(Asymmetric Digital Subscriber Line ,非对称数字用户环路)是一种新的数据传输方式。它因为上行和下行带宽不对称,因此称为非对称数字用户线环路。它采用频分复用技术把普通的电话线分成了电话、上行和下行三个相对独立的信道,从而避免了相互之间的干扰。即使边打电话边上网,也不会发生上网速率和通话质量下降的情况。通常ADSL在不影响正常电话通信的情况下可以提供最高3.5Mbps的上行速度和最高24Mbps的下行速度。
    ADSL通常提供三种网络登录方式:
1、桥接;
2、PPPoA(PPPoverATM,基于ATM的端对端协议);
3、PPPoE(PPPoverEthernet,基于以太网的端对端协议)。
    桥接是直接提供静态IP,而后两种通常不提供静态IP,是动态的给用户分配网络地址。本文只提及pppoe的使用。
Linux下ADSL相关文件
/usr/sbin/adsl-setup  ADSL配置文件
/usr/sbin/adsl-start 启动ADSL拨号连接
/usr/sbin/adsl-stop 关闭ADSL拨号连接
/usr/sbin/adsl-status  ADSL当前状态
/usr/sbin/adsl-connect  ADSL连接情况
首先如图进行桥接,PC使用linux虚拟机代替,ISP为DynamipsGUI模拟的路由器,server为路由器的回环口。将虚拟机的vmware1网卡与路由器的F0/0口进行桥接。
Linux下ADSL拨号配置_第1张图片
桥接完成后,可以先测试一下桥接是否成功。测试方法是将路由器的F0/0口与linux的eth0口配成同一网段的IP,然后互相ping,如果都能ping通的话则说明桥接成功。
接下来在路由器上配置如下命令
vpdn enable ----开启VPDN功能
bba-group pppoe sovand  ----创建pppoe拨号组
virtual-template 1  ----拨号组关联接口virtual-template 1
!        
interface Loopback0
ip address 200.1.1.1 255.255.255.0
!
interface FastEthernet0/0
pppoe enable group sovand   ----把物理接口和拨号组关联起来
!
interface Virtual-Template1
ip address 100.1.1.1 255.255.255.0
peer default ip address pool cisco   ----指定拨号地址池为cisco
ppp authentication chap  ----采用chap认证
!
ip local pool cisco 100.1.1.10 100.1.1.50  ----创建VPDN地址池cisco
username cisco password 0 cisco   -----ADSL用户名和密码

现在回到linux主机上,首先查看pppoe软件包有没有装
rpm –qa | grep pppoe
系统默认有安装,如没有则需要安装rp-pppoe-3.5.32.1.i386.rpm软件包。
接下来开始运行adsl-setup来设置ADSL,下面是配置过程
adsl-setup
>>>>Enter your PPPoE user name :
输入ADSL帐号的用户名cisco
>>>> Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethn, where 'n' is a number.
(default eth0):
输入ADSL相连的网卡的名字,默认eth0
>>>> Enter the demand value (default no):
默认为no
>>>>Enter the DNS information here:
输入 "server" ,这表示使用ADSL拨号自动获得的DNS服务器IP地址,可不输入直接回车
>>>> Please enter your PPPoE password:
输入ADSL帐号的密码cisco
>>>>Choose a type of firewall (0-2):
输入0 ,不使用防火墙
>>>>Accept these settings and adjust configuration files (y/n)?
如果输入的信息正确,输入 y ,完成配置,否则,输入 n 重新输入。
ADSL拨号配置完成,这时系统会多出一个ppp0接口,和eth0在同一个目录下。接着运行以下命令开启ADSL拨号连接
adsl-start
这时使用ifconfig查看网卡信息,会发现ppp0接口已启用,获取的地址为地址池的第一个地址100.1.1.10
Linux下ADSL拨号配置_第2张图片
测试能否ping通ISP和server
Linux下ADSL拨号配置_第3张图片
发现都可以成功ping通的!到此一个linux基本ADSL拨号连接建立过程就完成了!