很多宽带网络都是透过 PPPoE 进行连接的。现时香港的宽带网络商,除了香港宽带(HKBN)和有线宽带(i-Cable)外,几乎所有(包括网上行(Netvigator)、和记宽带(HGCBroadband)以及新世界(NWTbb)等等) 都使用 PPPoE。可以说,当你看到网络商是使用 xDSL 的技术,有宽带解调器(Broadband Modem),那他一般都是使用 PPPoE 进行连接了。
目录[隐藏] |
设定连线 (pppoeconf)
Debian/Ubuntu 暂时并没有漂亮的图形接口去设定 PPPoE,只有简单快捷的文字模式设定工具 - PPPoEConf。
开始前,先要确定你的网络接口已取得内联网IP地址。你可以在终端机(Terminal)上打「/sbin/ifconfig eth0
」看看「inet addr:」旁有没有有效的内联网 IP 地址:
eth0 Link encap:Ethernet HWaddr 00:16:D3:36:23:E5 inet addr:10.120.79.3 Bcast:10.120.79.255 Mask:255.255.255.0 inet6 addr: fe80::209:7bcf:ced0:9ca2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:175293 errors:0 dropped:0 overruns:0 frame:0 TX packets:196899 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:105514350 (100.6 MiB) TX bytes:87773050 (83.7 MiB)
如果没有,请先系统管理员身份用打「dhclient eth0
」取得 IP 地址。详情可以参阅如何用 DHCP 连接网络。
搞定后就可以用系统管理员身份执行 pppoeconf
了。Debian 用户请在终端机上打:
su -c pppoeconf
Ubuntu 用户请打:
sudo pppoeconf
pppoeconf 会先侦测你哪一张网络卡连接到ISP。他会列出所有侦测到的网络接口并询问你他是否已找到所有网络接口:
如果没有找到网络接口或你计算机际实的网络接口比他找到的还要多,你最好检查有否加载适当的核心模组(Kernel module)。如果正确,请按『是』(Yes)。
如果你以前曾经执行 pppoeconf,可能会遗留一些旧配置。pppoeconf 会问你要不要复盖旧配置。
正理都是按『是』(Yes) 复盖旧配置。
接着是问你是否想要「noauth」、「defaultroute」选项而清除「nodetach」选项:
请按『是』(Yes) 。
跟着到问你连接网络商的登入用户名称。留意有些网络商需要在用户名称尾加上该网络商的网域名称,例如
上海电信 | 宽带账号@shtel | ad12345678@shtel |
香港和记宽带(HGCBroadband) | 用户名称@hgcbroadband.com | 12345678@hgcbroadband.com |
香港网上行(Netvigator) | 用户名称@netvigator.com | 12345678@netvigator.com |
香港新世界宽带(NWTbb) | 用户名称@nwtbb | 12345678@nwtbb |
台湾 HiNet | 用户名称@hinet.net | 12345678@hinet.net |
请输入用户名称。然后当然是问你登入密码:
请输入密码。
接着会问你使否使用网络商提供的域名服务器(DNS Server):
请按『是』(Yes) 。
跟着问是否要把 MSS 限制不大于1452字节。
请按『是』(Yes) 。
现在 PPPoE 的基本设定已搞好了。但 pppoeconf 仍会问你每次启动计算机时是否需要自动连接 Internet:
请按『是』(Yes) 。
最好问你现在是否需要立刻连接 Internet:
请按『是』(Yes) 。
一切都搞定了,现在你可以在网上畅游了。
基本操作
启动连线 (pon dsl-provider)
完成后,你随时可以打以下指令连接上网:
pon dsl-provider
中断连线 (poff)
亦可以打以下指令中断连线:
poff
显示日志 (plog)
如果有问题,你可以用管理员身份打「plog
」显示pppd的日志:
Jan 14 19:39:52 diictodon pppd[5614]: Plugin rp-pppoe.so loaded. Jan 14 19:39:52 diictodon pppd[5616]: pppd 2.4.4 started by root, uid 0 Jan 14 19:39:52 diictodon pppd[5616]: PPP session is 825 Jan 14 19:39:52 diictodon pppd[5616]: Using interface ppp0 Jan 14 19:39:52 diictodon pppd[5616]: Connect: ppp0 <--> eth0 Jan 14 19:39:55 diictodon pppd[5616]: CHAP authentication failed: Illegal User or password Jan 14 19:39:55 diictodon pppd[5616]: CHAP authentication failed Jan 14 19:39:56 diictodon pppd[5616]: Connection terminated. Jan 14 19:48:04 diictodon pppd[6673]: Plugin rp-pppoe.so loaded. Jan 14 19:48:04 diictodon pppd[6675]: pppd 2.4.4 started by root, uid 0 Jan 14 19:48:04 diictodon pppd[6675]: PPP session is 49 Jan 14 19:48:04 diictodon pppd[6675]: Using interface ppp0 Jan 14 19:48:04 diictodon pppd[6675]: Connect: ppp0 <--> eth0 Jan 14 19:48:12 diictodon pppd[6675]: PAP authentication failed Jan 14 19:51:13 diictodon pppd[6932]: Plugin rp-pppoe.so loaded. Jan 14 19:51:13 diictodon pppd[6934]: pppd 2.4.4 started by root, uid 0 Jan 14 19:51:14 diictodon pppd[6934]: PPP session is 914 Jan 14 19:51:14 diictodon pppd[6934]: Using interface ppp0 Jan 14 19:51:14 diictodon pppd[6934]: Connect: ppp0 <--> eth0 Jan 14 19:51:18 diictodon pppd[6934]: Remote message: Welcome to use Quidway ROUTER, Huawei Tech.^M^J Jan 14 19:51:18 diictodon pppd[6934]: PAP authentication succeeded Jan 14 19:51:18 diictodon pppd[6934]: peer from calling number 00:E0:FC:0E:41:52 authorized Jan 14 19:51:19 diictodon pppd[6934]: replacing old default route to eth0 [10.120.79.3] Jan 14 19:51:19 diictodon pppd[6934]: Cannot determine ethernet address for proxy ARP Jan 14 19:51:19 diictodon pppd[6934]: local IP address 211.137.74.43 Jan 14 19:51:19 diictodon pppd[6934]: remote IP address 211.137.74.1 Jan 14 19:51:19 diictodon pppd[6934]: primary DNS address 210.0.255.216 Jan 14 19:51:19 diictodon pppd[6934]: secondary DNS address 210.0.128.241 Jan 14 19:51:19 diictodon kernel: [17180719.192000] ip_tables: (C) 2000-2006 Net filter Core Team
排难解困
设定档案
# Minimalistic default options file for DSL/PPPoE connections noipdefault defaultroute replacedefaultroute hide-password #lcp-echo-interval 30 #lcp-echo-failure 4 noauth persist #mtu 1492 usepeerdns plugin rp-pppoe.so eth0 user "jrandom@isp.example"
/etc/ppp/chap-secrets 和 /etc/ppp/pap-secrets:
# Secrets for authentication using CHAP/PAP # client server secret IP addresses "jrandom" * "" "jrandom@isp.example" * "秘密"
启动时自动连线
其本上,如果你选择启动 GNU/Linux 时自动连线,pppoeconf 会在 /etc/network/interfaces 加入类以下一行:
# added by pppoeconf auto eth0 iface eth0 inet manual pre-up /sbin/ifconfig eth0 up auto dsl-provider iface dsl-provider inet ppp provider dsl-provider
解决自动断线问题
如果您发过成功连线 Internet 后,经常无故断线。可以用管理员身份打「plog
」检查 pppd 的日志。
Jan 14 19:39:52 diictodon pppd[5616]: No response to 4 echo-requests Jan 14 19:39:52 diictodon pppd[5616]: Serial link appear to be disconnected. Jan 14 19:39:52 diictodon pppd[5616]: Connect time 4.5 minutes.
如果发现类似上的讯息,可能是 echo-request 问题。检查 /etc/ppp/options 应会发以下选项:
lcp-echo-interval 30 lcp-echo-failure 4
这表示系统 30 秒会向 ADSL 服务器发出 echo request 以确认连线是否正常。如果 ADSL 服务器 120 秒 (30 秒 x 4) 都没有回应,系统会假定连线有问题,自动断开。您可以把 lcp-echo-failure 加大至 15 :
lcp-echo-interval 30 lcp-echo-failure 15