1  首先,你必须安装相应的ADSL拨号软件。平常用的redhat发行版本中,带有pppoe这个rpm包。
我们通过下面的命令实现:
[root@Server root]# rpm -qa|grep pppoe
rp-pppoe-3.4-7
这个命令的输出来确定系统中是否已经安装了pppoe这个包。rpm -qa是列出系统中已经安装的包。通过管道|将这个命令的输出,作为第二个命令的输入。grep pppoe是列出包含有pppoe的行。如果返回为空,则说明没有安装。如果安装了,会返回安装了pppoe的版本号。如果你还没有安装的话,通过下面的命令安装。
[root@Server root]# rpm -ivh redhat/ppp-2.4.1-7.i386.rpm
这样,你就安装好了拨号需要的软件。

2  配置网卡
拨号需要将拨号的网卡设置为动态获取ip。而动态获取ip在机器启动的时候,将会花费很长时间去获取ip。所以,我们最好将网卡设置不启动时不激活。(不建议这么做,如果是远程登陆的话,就很麻烦)一般情况下我们都使用命令netconfig可以方面的配置网络相关信息。当然,也可以通过修改网卡的配置文件实现:
[root@Server root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

3  配置拨号软件

与ADSL相关的一共有四个命令adsl-connect ,adsl-setup,adsl-start,adsl-status,adsl-stop
通过下面这个命令,启动ADSL设置:
[root@Server root]# adsl-setup
首先,你会看到欢迎信息。
Welcome to the ADSL client setup. First, I will run some checks on
your system to make sure the PPPoE client is installed properly...


然后要求我们输入登陆名。
LOGIN NAME
Enter your Login Name (default root):


接着,要求我们选择使用的网络接口。我们这时候,填入我们刚刚设置的那个网卡。对于大多数只有一个网卡的朋友而言,默认eth0就可以了。
INTERFACE
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 ethX, where 'X' is a number.
(default eth0):

接下来,询问的是,adsl连接以后,是否持续保持连接。或者是自动的断开,在指定的时间(以秒数计算)内。多数情况下,我们希望手动的打开关闭连接。所以这里选择默认的no。
Do you want the link to come up on demand, or stay up continuously?
If you want it to come up on demand, enter the idle time in seconds
after which the link should be dropped. If you want the link to
stay up permanently, enter 'no' (two letters, lower-case.)
NOTE: Demand-activated links do not interact well with dynamic IP
addresses. You may have some problems with demand-activated links.
Enter the demand value (default no):


再下来,就是dns了。我发现很多时候,pppoe都不能够正确获取dns信息。我建议你输入dns地址。这些信息在isp的网站上一般都有公布。
DNS
Please enter the IP address of your ISP's primary DNS server.
If your ISP claims that 'the server will provide dynamic DNS addresses',
enter 'server' (all lower-case) here.
If you just press enter, I will assume you know what you are
doing and not modify your DNS setup.


帐号密码是必须,输入两次。密码显示风格和其他的地方一样,不显示在屏幕上。这个,我不知道改怎么填写。太高深的问题了。希望你将你的答案和我分享。:P。
PASSWORD
Please enter your Password:
Please re-enter your Password:


下面的设置,是表示是否允许普通用户启用/关闭 ADSL连接。默认是允许。
Please enter 'yes' (two letters, lower-case.) if you want to allow
normal user to start or stop DSL connection (default yes):


我们看下防火墙选项。这里提供的防火墙可以给你提供基本的安全保护。我不推荐你使用——你最好选择“NONE”选项。无论是什么样的用户使用,我都建议你使用额外的工具来配置防火墙规则(iptables目前看来是一个非常不错的工具)。
FIREWALLING
Please choose the firewall rules to use. Note that these rules are
very basic. You are strongly encouraged to use a more sophisticated
firewall setup; however, these will provide basic security. If you
are running any servers on your machine, you must choose 'NONE' and
set up firewalling yourself. Otherwise, the firewall rules will deny
access to all standard servers like Web, e-mail, ftp, etc. If you
are using SSH, the rules will block outgoing SSH connections which
allocate a privileged source port.

The firewall choices are:
0 - NONE: This script will not set any firewall rules. You are responsible
for ensuring the security of your machine. You are STRONGLY
recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway for a LAN
Choose a type of firewall (0-2):


是否在开机时,打开这个连接?
Do you want to start this connection at boot time?


所有的配置信息填写完成之后,系统将给出一个报告,完整的显示出你输入的配置信息。如果,你确信你输入的配置信息是正确的,输入yes写入配置文件。输入no放弃配置。
Summary of what you entered
Ethernet Interface: eth0
User name: root
Activate-on-demand: No
DNS: Do not adjust
Firewalling: NONE
User Control: yes
Accept these settings and adjust configuration files (y/n)?

Please enter no or yes (default no):


Congratulations, it should be all set up!

Type '/sbin/ifup ppp0' to bring up your xDSL link and '/sbin/ifdown ppp0'
to bring it down.
Type '/sbin/ADSL-status /etc/sysconfig/network-scripts/ifcfg-ppp0'
to see the link status.

测试拨号
现在,我们需要测试下我们的拨号是否配置正确了。
输入ADSL-start拨号。一般情况下,我会ping 我的ISP的主WWW服务器。比如
ping 61.139.2.69(该地址是电信的DNS服务器)

如果能ping通则说明没有什么问题
如果不怕麻烦,打开浏览器测试下,也可以。如果一切ok。那么我们就可以结束我们的配置了。
当然,你关闭连接的话,使用命令adsl-stop就可以了。

 

故障排除

照上边的操作步骤配置下来,一般是没有什么问题的。但是因为Linux没有Windows那么直观,出现问题的话,排除故障是非常恼火的。

故障1:无法浏览网页,但是可以ping通DNS服务器地址,多半是在配置的时候DNS服务器地址填错了。建议检查一下DNS服务器是否正确。
 

故障2:用ifconfig查看链接,确实出现了三个链接,一个eth0,一个lo,一个ppp0,但是就是无法ping通外网,这种情况多出现在手动修改ifcfg-eth0文件,或者用netconfig命令的情况下。

我查看了一下我Windows下和Linux下的路由信息发现少了如下路由,

Network       Destination        Netmask          Gateway       Interface 

 0.0.0.0          0.0.0.0     192.168.0.77    192.168.0.77       1
 注释: 192.168.0.77 是我windows拨号取得的PPPOE客户端地址,这条路由的意思是所有的数据包都从77这个端口出去,但是Linux下就没有这条路由。

后来查了很多资料终于找到了问题所在,因为我的eth0网址信息是我手动修改的,所以就有GATEWAY这一项, 而且我发现路由都是从192.168.0.1这个端口出去的,而我PPP0E客户端拨号获得的地址是192.168.0.76,所以这肯定是不对的,怎么解决呢?

将/etc/sysconfig/network文件中的GATEWAY一项用#号注释掉,

将/etc/sysconfig/network-scipts/ifcfg-eth0文件中的GATEWAY也注释掉,

重启拨号,OK了,终于OK了,倒杯茶,点根烟庆祝一下吧!!!