问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

怎样在Linux中使用ADSL?

发布网友 发布时间:2022-10-26 07:16

我来回答

2个回答

热心网友 时间:2023-09-14 00:07

[转载]

ADSL 拨接上网方式

好了,终于提到最热门的 ADSL 拨接制的上网方式啰!嗯!来谈一谈怎么在 Linux 上拨接上网吧!在 Linux 系统中,要以 ADSL 连上 Internet 是一件很简单的事情,使用 rp-pppoe ( http://www.roaringpenguin.com/pppoe/ ) 软件就可以进行拨接了!安装也很方便喔!再来要注意的是,在目前的 Linux 版本当中,由于强调桌上型计算机的便利性,所以很多版本的 Linux 都取消了文字接口下的 ADSL 拨接指令,例如 Red Hat 新版的 Linux 。所以在预设的状态下,我们仅能以图形接口启动 ADSL ,这真的很讨厌,因为我们的主机就是不想要启用 X Window 的啊!怎么办?没关系,我们可以透过重新安装 rp-pppoe 就行啦!我们提过在 Linux 的安装方式主要有 RPM 与 Tarball 两种方式,目前鸟哥已经成功的在 Red Hat 7.2 上面安装 rp-pppoe-2.6-5.src.rpm 这个版本的 rp-pppoe 啰!然而由于很多时候 RPM 有相依属性的问题,因此我们也尝试以 Tarball 来安装一下 rp-pppoe 吧!( 注:如果依旧无法以 RPM 安装 rp-pppoe 时,请直接以 Tarball 来安装吧! )

此外,需要特别留意的是,原本 Linux 主机上面就会有 eth0 这个网络卡接口,不过在使用 rp-pppoe 拨接之后,会多产生了一个对外的接口,称为 ppp0 的这个网络联机接口,因此,您将具有三个网络接口喔!分别是:

1. 内部循环测试用的lo接口;
2. 网络卡 eth0 这个接口;
3. 拨接之后产生的经由 ISP 对外连接的 ppp0 接口。

而由于这三个接口的 IP 网段都不相同,因此,请『特别留意通讯闸的设定!』一般而言,在 ADSL 拨接的状态下,前面提到的几个档案的设定内容中,『都不要设定GATEWAY及GATEWAYDEV这两个参数』,因为 rp-pppoe 会自动由 ISP 取得这方面的数据,如果您设定了GATEWAY,反而会造成系统无法联机出去的状态喔!

因为拨接之后会产生两个实体接口,分别为 eth0 与 ppp0 ,所以底下我们将针对两个接口进行设定。在 eth0 的设定中,我们选择 192.168.1.0/255.255.255.0 并且 IP 为 192.168.1.2 ,至于 ppp0 则完全由 rp-pppoe 所产生。

设定与安装的步骤简单说明如下:

1. 重新设定网络参数档案;
2. 查看是否安装了 rp-pppoe,移除 rp-pppoe;
3. 安装 rp-pppoe :
o 用 rpm 安装;
o 用 Tarball 安装;
4. 设定 rp-pppoe :
5. ADSL 拨接连线

好了!开始一步一步来进行安装与设定及联机的步骤吧!

1. 重新设定网络参数档案:

由于我们是使用拨接的方式来连上 Internet 的,所以 default gateway 是由 rp-pppoe 拨接之后 ISP 直接传送数据到我们 Linux 主机上的,因此,在您的 Linux 系统当中,千万不要设定 GATEWAY 或者是 GATEWAYDEV 喔!( 这个情况我们会在 Linux Router 的设定当中说明 )!
1. 取消预设通讯闸
[root@test root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes <==若您需要 eth0 帮您建立内部私有网域时,这里可以写成 yes
但若不需要内部网络时,这一行请直接写成 no ,反正拨接
之后网络卡会自动被启动!
BOOTPROTO=static
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255

[root@test root]# /etc/rc.d/init.d/network restart
2. 移除原本的 rp-pppoe 套件:

如同前面说的,新版的 rp-pppoe 很多都仅支持图形接口的拨接程序,所以我们这里直接将 rp-pppoe 移除 (或者根本不要使用预设的 rp-pppoe 套件),然后再重新安装官方网站的 rp-pppoe 套件说:
[root@test root]# rpm -qa | grep rp-pppoe
rp-pppoe-3.5-2 <==看来是已经安装了!只好移除啰!
[root@test root]# rpm -e rp-pppoe
3. 安装 rp-pppoe :

安装 rp-pppoe 的方式有两种,可以使用 rpm 与 tarball 的方式来分别安装,不过,只要选择一种来安装就可以啦!

o RPM 安装 rp-pppoe:

如果您下载的是 SRPM 的档案的话,那么就需要先经过编译才行。详细的编译及安装步骤如下表所示:( 请注意,编译的过程也需要 gcc 之类的 compiler ,如果没有在 Install 的时候选择时,在编译个过程中可能会有出现错误,请自行由 Linux 原版光盘安装吧! )

1. 下载 rp-pppoe :

rp-pppoe 的下载网站在:『http://www.roaringpenguin.com/pppoe/#download』,底下我是以rp-pppoe-3.5-1.src.rpm 这个档案进行介绍的。如果您的主机尚未开放任何的服务时,您可以使用软盘来下载 rp-pppoe ,因为 rp-pppoe 的档案很小啦!还不到 200 KB 呢!所以软盘就可以啰!如何使用软盘呢?
+ 先使用软盘将下载下来的 rp-pppoe copy 到软盘上;
+ 将软盘放置于 Linux 主机的软盘槽中;
+ 在 Linux 底下使用 df 这个指令,看看有没有类似底下的这一行:

/dev/fd0 1423 0 1423 0% /mnt/floppy
+ 如果有的话,请使用『 umount /mnt/floppy 』,如果无,则跳到下一步; 使用『 ls -l /mnt 』看看有没有 floppy 这个目录:

+ 如果有则下一步,若无则『 mkdir /mnt/floppy 』; 使用『 mount -t vfat /dev/fd0 /mnt/floppy 』将软盘挂上去!
+ 使用『 cp /mnt/floppy/rp* /root 』将档案 copy 到 /root 这个目录下;
+ 使用『 cd /root 』将目录转到 root 底下。
2. 编译及安装 rp-pppoe :
1. 编译 SRPM:
[root@test root]# rpm --rebuild rp-pppoe-3.5-1.src.rpm
[root@test root]# rpmbuild --rebuild rp-pppoe-3.5-1.src.rpm
# 注:在 Red Hat 7.3 以前, rpm 的指令使用 rpm ,但是在 Red Hat 8
# 以后, SRPM 的重制指令已经独立至 rpmbuild 啰!所以请选择
# 适合您的 Linux 版本喔!
.........
Wrote: /usr/src/redhat/RPMS/i386/rp-pppoe-3.5-1.i386.rpm
.........
在编译时,最后的结果(如果没有错误)会显示上面那个样子!
也就是说,您的编译完成的档案就放在上面啰!

2. 安装 rp-pppoe :
[root@test root]# cd /usr/src/redhat/RPMS/i386
[root@test i386]# rpm -ivh rp-pppoe-3.5-1.i386.rpm
Preparing... ########################################### [100%]
1:rp-pppoe ########################################### [100%]
[root@test i386]# rpm -q rp-pppoe
rp-pppoe-3.5-1
这样就安装完毕了!简单吧!如果不相信,可以查询看看!
安装完毕之后,会在 /usr/sbin 当中多了 adsl-start, adsl-stop, adsl-setup, adsl-status 等档案,至于设定档则在 /etc/ppp 当中!如果您要详细的看每一个指令的用法,可以使用 man adsl-setup ....等指令名称来观察!我们这里仅提供设定的方法及执行的方法!
Tarball 安装 rp-pppoe :
o

嗯!由于 RPM 可能会有相依属性的问题!因此,如果您的系统上面无法安装 rp-pppoe 的话,那么就直接以 Tarball 的方式来安装 rp-pppoe 吧!目前 (2003/08/18) 最新的 rp-pppoe 套件为 rp-pppoe-3.5.tar.gz 这个档案:
1. 解压缩!
[root@test root]# mv rp-pppoe-3.5.tar.gz /usr/local/src
[root@test root]# cd /usr/local/src
[root@test src]# tar -zxvf rp-pppoe-3.5.tar.gz

2. 侦测系统与编译执行文件:
[root@test src]# cd rp-pppoe-3.5/src
[root@test src]# ./configure --prefix=/usr/local
[root@test src]# make; make install
安装方面很简易吧!这样就妥当啰!准备来给他设定一下吧!
设定 rp-pppoe :
4.

rp-pppoe 的设定非常简单,只要透过 /usr/sbin/adsl-setup ( 若为 Tarball 安装的话,那么就在 /usr/local/sbin /adsl-setup 啰 ) 这个程序来设定就 OK 了!
[root@test root]# /usr/sbin/adsl-setup
>>> Enter your PPPoE user name (default bxxxnxnx@sympatico.ca): T0123456
这个时候请输入您在 ADSL 的账号,不同的 ISP 有不同的设定方式呦!请特别注意!
a. 如果是 seednet 的话,应该有点像这样==> T0123456
b. 如果是 Hinet 的话,应该有点像这样====> yourname@hinet.com.tw(连同 host 也要写)

>>> 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): eth0
因为我们使用 eth0 联机的呀!

>>> Enter the demand value (default no): <=按下 Enter 即可
这里按 enter 不用设定就好了!

>>> Enter the DNS information here: 168.95.1.1
>>> Enter the secondary DNS server address here: 139.175.10.20
这里要您输入惯用的 DNS 主机:
若使用 hinet 的话,可以打入 168.95.1.1
若使用 seednet 的时候,可以打入 139.175.10.20

>>> Please enter your PPPoE password: <==输入您的密码
>>> Please re-enter your PPPoE password: <==再输入一次
这里就输入您的 ADSL 密码啦,要输入两次喔!

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
这里要您选择防火墙的形式,通常我是不设火墙的,
所以直接选 0 就对了! 注意:选了防火墙有的时候反而会造成无法联机成功!
反正未来我们会手动设定防火墙,所以这里不设定没有关系!

Start this connection at boot time
Do you want to start this connection at boot time?
Please enter no or yes.
yes
如果想要一开机就自动启动 ADSL 联机的话,这里可以填入 yes啦!

Ethernet Interface: eth0
User name: T0123456
Activate-on-demand: No
Primary DNS: 168.95.1.1
Secondary DNS: 139.175.10.20
Firewalling: NONE

>>> Accept these settings and adjust configuration files (y/n)?y
接下来将您的设定作一个整合结果输出,如果没有问题的话,
输入 y 之后就完成设定啦!
基本上,设定完成之后以下的档案会被自动改变,
有影响的是 resolv.conf 这个档案,您可以手动改变这个档案喔!

Adjusting /etc/ppp/pppoe.conf
Adjusting /etc/resolv.conf
(But first backing it up to /etc/resolv.conf-bak)
Adjusting /etc/ppp/pap-secrets and /etc/ppp/chap-secrets
(But first backing it up to /etc/ppp/pap-secrets-bak)
(But first backing it up to /etc/ppp/chap-secrets-bak)
哈哈!这样设定就成功啦!很简单吧!唯一需要注意的是在上面的 username 那个地方,千万注意,因为 hinet 与 seednet 的设定是不一样的!千万小心呢!否则会无法连上线呦!此外,由于我们在未来还会有 firewall 的建置,所以这里不太需要使用到防火墙啦!就先关闭他吧 ( 选 0 ) !否则也可能无法连上 Internet 呦!(注:上面那个 T0123567 以及密码都是向 ISP 申请的,不是自己随便设定的喔!不要搞错了!)另外,注意一下,我们上面使用 adsl-setup 的设定,其实最主要是修改两个档案,分别是 /etc/ppp/pppoe.conf 这个主要设定档,以及 /etc/ppp/chap-secrets 这个密码储存文件!仔细去察看一下 chap-secrets 这个档案的内容,您就可以知道您的密码是否输入错误了! ^_^
5. 连上 Internet 啦!

怎么拨接呢?简单的很,直接下达 adsl-start 即可!
[root@test root]# adsl-start
....Connect!
这样就是显示连上 Internet 啦!通常比较容易出问题的地方在于硬件的联机情况,请先确认所有的硬件联机没有问题喔!通常,如果您使用小乌龟 ( ATU-R ) 时,请使用跳线连接网络卡与 ATU-R。另外一个容易出错的地方在于输入的账号与密码,账号与密码都是您的 ISP 给您的,并且注意大小写(可以到 /etc/ppp/chap-secrets 察看一下是否设定错误?)。
6. 查看您的 IP 啦!

那如何知道您的 IP 呢?呵呵!就使用 ifconfig 呀!
[root@test root]# ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:211.74.249.38 P-t-P:172.16.11.8 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:8356088 errors:0 dropped:0 overruns:0 frame:0
TX packets:8532063 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
在上表中显示,ppp0 ( 就是 ADSL 的 ISP 给您的公共 IP ) 的网址是 211.74.249.38。
7. 自动侦测 ppp0 的拨接状态:

基本上,目前的 rp-pppoe 已经都设定好了断线后会自动拨接的模式了,因此我们大可不用太担心,不过,如果您还是很担心会断线后无法自动拨接出去,那么可以在 /etc/crontab 加入这一行:
[root@test root]# vi /etc/crontab
.......
01-59/3 * * * * root /usr/sbin/adsl-start > /dev/null 2>&1
在上面的式子当中,如果您看不懂的话,那就表示『您需要再将 BASH Shell 学一学了』! ^_^
拨接程序 rp-pppoe 讯息错误处理

或许您会发现使用 rp-pppoe 拨接之后,您的 /var/log/messages 老是出现这样的讯息:

[root@test root]# more /var/log/messages
May 10 18:02:22 testing pppoe[8527]: Bogus PPPoE length field (50)

这是什么问题啊?在 RP-PPPOE 的官方讨论区上面提过,这个问题是由于 ISP 提供的讯息长度超过 rp-pppoe 预设的检查长度才会发生的一个警告讯息,事实上这个讯息并不重要,不用理会他也没有关系,不会影响到 Internet 的运作。但是,这样的讯息在 /var/log/messages 里面每一分钟就出现一次,实在很讨厌!怎么办,可以将他拿掉吗?!当然可以!您可以下载新的 Tarball 来重新编译过!步骤是这样的:

1. 到下面的网站去下载新的 Tarball (我这里以 3.5 为例!)

2. http://www.roaringpenguin.com/pppoe/#download 在 /usr/local/src底下解开该档案,则会造成 /usr/local/src/rp-pppoe-3.5 这个目录
3. 到 /usr/local/src/rp-pppoe-3.5/src 底下去,修改这四个档案:
o discovery.c
o pppoe.c
o pppoe-server.c
o relay.c
找到这四个档案的内容如下代码:
/* Check length */
if (ntohs(packet.length) + HDR_SIZE > len) {
syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
(unsigned int) ntohs(packet.length));
return;
}
将他修改成为:
/* Check length */
if (ntohs(packet.length) + HDR_SIZE > len) {
/* syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
(unsigned int) ntohs(packet.length)); */
return;
}
请注意,上面每个档案都有多个同样的字符串,请依序一个一个都修改掉才行!还没完喔!再到 pppoe.c 找到底下的字眼:
if (plen + HDR_SIZE > len) {
syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
(int) plen, (int) len);
return;
}
请将他改成:
if (plen + HDR_SIZE > len) {
/* syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
(int) plen, (int) len); */
return;
}
4. 然后就可以开始这样做啰:
cd /usr/local/src/rp-pppoe-3.5/src
./configure
make
make install
5. 如果一切都可以成功的进行,那么就可以:
adsl-stop
adsl-start
这个简单的步骤应该可以将您的问题讯息克服了吧! ^_^

参考资料:http://linux-vbird.bluedata.org/linux_server/0130internet_connect.htm#connect_adsl

热心网友 时间:2023-09-14 00:07

和XP中应该一样,建立一个宽带连接就可以了吧!
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
烟台驾管所在什么地方 镂空刺绣裙如何搭配才能展现出时尚又迷人的气质? 深紫色的刺绣印花外套如何搭配才能呈现出满满的时尚感? 民间故事:女子救青蛇,再嫁时青蛇却藏在桌底,它说小心你丈夫 选购刺绣服装时需要注意些什么? 男士的刺绣毛衣有哪些品牌的质量不错? 电脑绣花厂工种有哪些请问一下在时尚行业中电脑绣花的工艺类型有哪些可... 气性大的人很容易生气适合上夜班吗 小孩子气性大怎么办 气性大是什么意思 我用手机注册了一个,优酷账号,手机可以登录,为什么电脑登录不了,还提示我,用户名不存在!!! 优酷登陆时总是显示账号或密码错误,但是核对多次密码和账号是对的。在手机优酷能登陆,但是电脑,那里却 做英树真的赚钱吗,是微商吗? 看到好多人在做英树,疑惑做英树真的赚钱吗? 正在考虑要不要代理英树,做英树真的赚钱吗? 做英树真的赚钱吗?为什么那么多人在做英树? 新手做微商卖英树玻尿酸囤货卖不出去怎么办 北斗导航系统实现信号全球覆盖!这具有哪些重大意义? 请问微信被盗登陆不了怎么注销? 被盗注销几遍 被盗了怎么注销? 被盗了,怎么注销? 如何注销被他人盗用的? 微信被盗了,密码改了,手机号也改成他人的,是我实名认证的,我想把它给注销了,怎么注销啊?_百度问一问 被盗了怎么强制注销? 南宁市良庆区南晓镇团结路穷吗 有哪些景点是游玩了一次还想再去,并且不会失望的? 谢谢抖音,谢谢你? 一只小嘤嘤是哪个平台 Viewer.js为什么显示出来是按钮的图标往下面移了,怎么调上来点? 昨晚做了一个梦,希望请专业人士帮忙分析一下。(胡说八道,无聊者请勿回复,谢谢) 昨晚女朋友来我家穿着吊带裙是什么意思? stm32f407开发板使用FATFS文件系统向SD卡写入文件数据后,如何得知写入文件的地址 压缩文件过大用什么邮箱发送比较好? 我有压缩文件三个,大概每个1G多。用哪个邮箱能够发送这么大的文件? 请问从汉口火车站到武汉大学怎么座公交车 从二七路怎样到武汉大学 谁知道到武汉大学报到怎么坐车 求2010世界杯英语小介绍,50词左右(尽量不要有很多长的词) 当下最受欢迎9款硅藻泥墙面装修效果,有你钟意的吗 硅藻泥如松做电视墙的效果图? 苹果4S是日本版的怎样改成中国版的 日版苹果5c app store怎么改成中文 如何解决三星s5830解锁 三星s5830 pin密码忘了怎么办啊 温柔的另一面作文8○o字 精子活率是百分之55.4正常吗 圣斗士星矢中星矢喜欢谁? 《圣斗士星矢》里竞争圣衣失败的人,命运是怎样的? 收到邮件Zip打不开,请问如何对邮件减压能正常阅读?
  • 焦点

最新推荐

猜你喜欢

热门推荐