linux下如何实行ADSL拨号上网?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下如何实行ADSL拨号上网?相关的知识,希望对你有一定的参考价值。

如题!
有图最好!

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就可以了。

来源:(http://blog.sina.com.cn/s/blog_4963a79901009mbe.html) - 如何在Linux下用ADSL拨号上网_下雨天看星星_新浪博客

故障排除

照上边的操作步骤配置下来,一般是没有什么问题的。但是因为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也注释掉,

重启拨号
参考技术A Ubuntu下预装了pppoeconf,用这个命令即可,不用那么麻烦的

centos ADSL 拨号上网设置

下面主要介绍一下,在CentOS命令行环境下如何配置 ADSL 联网:

1、确保安装了网卡并能正常运行,使用命令查看一下网卡状态:
[[email protected] simon]# /sbin/ifconfig eth0
2、在系统中不要设置默认路由(网关),让 ADSL 拨号后自动获得。
3、查看是否安装了 pppoe 软件包。
[[email protected] simon]# rpm -qa|grep ppp0e
没有显示,说明没有安装,系统光盘里会有这个安装包,或去下载一个 rpm 包,安装一下就OK了。
如下图所示进行安装:
技术分享
4、安装好软件包后,就可开始配置 ppp0e 客户端软件了,我们不必手工去改动配置文件,可以使用 adsl-setup 这个工具进行配置:
[[email protected] simon]# 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): *****      //(输入 ADSL 帐号的用户名,这里是你去办理宽带时申请的用户名)
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):    //(选择网络设备,敲回车,系统就会默认选择)
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): no    //(问你是否按需拨号,还是持续连接网络,我选择 no)
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.
Enter the DNS information here: server  //(选择 DNS ,这表示使用 ADSL 拨号会自动获得的 DNS 服务器IP 地址,自动获取就输入 server 吧)
PASSWORD
Please enter your Password:     // (输入申请  ADSL 帐号时设置的密码)
Please re-enter your Password: 
Sorry, the passwords do not match.  Try again? (y/n)y   // (我密码输入不匹配,就提示重新输入)
PASSWORD
Please enter your Password:     // (输入申请  ADSL 帐号时设置的密码,一定要输入正确哟)
Please re-enter your Password: 
USERCTRL
Please enter ‘yes‘ (three letters, lower-case.) if you want to allow
normal user to start or stop DSL connection (default yes): no    //(是否允许普通用户启动、关闭)
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): 0   //(选择 firewall 的规则,我选择 0 ,不使用防火墙 )
Start this connection at boot time
Do you want to start this connection at boot time?
Please enter no or yes (default no):yes    // (问你是否选择随机启动)
** Summary of what you entered **
Ethernet Interface: eth0
User name:          adsladmin
Activate-on-demand: No
DNS addresses:      Supplied by ISP‘s server
Firewalling:        NONE
User Control:       no
Accept these settings and adjust configuration files (y/n)? y   // (确认一下是否接受设置,如果输入的信息正确,当然选 y 了)
Adjusting /etc/sysconfig/network-scripts/ifcfg-ppp0
Adjusting /etc/ppp/chap-secrets and /etc/ppp/pap-secrets
(But first backing it up to /etc/ppp/chap-secrets.bak)
(But first backing it up to /etc/ppp/pap-secrets.bak)
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.
[[email protected] simon]# adsl-start  // 这里就不用解释了吧
大功告成,开始上网喽 

以上是关于linux下如何实行ADSL拨号上网?的主要内容,如果未能解决你的问题,请参考以下文章

centos ADSL 拨号上网设置

ubuntu下电信拨号问题

centos pppoe多次拨号 均衡负载

adsl动态拨号服务器有啥不同?

宽带篇(7.0) ❀ 01. 怎样配置ADSL拨号上网?

CentOS 7拨号上网(ADSL & PPPoE)