Linux 版 (精华区)

作  家: topcon (南方) on board 'unix'
题  目: 如何在Linux上装PPP[转载]
来  源: 哈尔滨紫丁香站
日  期: Thu Oct 10 17:50:56 1996
出  处: jqc@pclinux.hit.edu.cn

主 题: _如 何 安 装 PPP Server ?_  [ 8Nov94, 6kb]


最 近 因 工 作 需 要, 要 在Linux上 装 个PPP server, 接 受 拨 接 进 来 的 电 
话,连 上 整 个 公 司 的ethernet网 路, 再 经 由router接 上internet, 过 程 并 
不 顺 利, 整 台Linux有 许 多 地 方 需 要 设 定, 为 避 免 大 家 浪 费 许 多 
无 谓 的 时 间,所 以 有 这 篇FAQ的 产 生, 我 所 使 用 的 是Linux 1.0.9

这 份FAQ并 没 有 完 整 的 介 绍Linux PPP的 部 份, 只 针 对PPP server的 部 
份,把 我 安 装 的 经 验 写 出 来, 适 合 已 装 上PPP, 并 能 用 来 连 接 其 
他PPP server的 人。 若 想 从 无 到 有, 你 可 以 叁 考 开 放 系 统 与 网 路 杂 
志1994年, 八 月 份出 版, 曾 瑞 源 先 生 的Internet低 廉 上 网, 再 叁 考 这 
篇 及 各 种FAQ就 可 以 建立 一 个PPP server了。 若 想 更 进 一 步, 让 不 同 
网 路 的PPP server相 连, 可 以 造 成 一 个router, 让 两 个 网 路 互 通 有 
无, 但 这 部 份 我 没 试 过, 请 各 位努 力 研 究。


要 建 立PPP server有 三 个 步 骤:
1.你 的modem必 须 要 能 接 电 话。
2.你 的linux必 须 能 透 过serial line显 示login prompt。
3.建 立 呼 叫pppd的account

一、 如 何 让modem接 电 话。

我 不 会 用linux来 设 定, 所 以 用windows 3.1的 终 端 机 来 设 定modem,
执 行windows的 终 端 机。
对modem下ATS0=1, 这 是 叫modem在 电 话 响 一 声 後 就 接,=2就 是 响 两 声。
AT&W, 把 刚 设 的 状 态 存 起 来, 今 後 每 当 电 话 响 一 声,modem就 接 起 
来 了。

二、 如 何 透 过serial line显 示login prompt。

在/etc底 下, 有 个inittab, 有 段 内 容 要 设 定 如 下:

# Serial lines 这 是 我 的 设 定, 可 能 与 你 的 不 同。
#s1:45:respawn:/sbin/getty ttyS0 19200 vt100
s2:45:respawn:/sbin/getty ttyS1 19200 vt100

每 一 行 之 前 若 加 上#, 代 表 注 解。
意 义 为 id:runlevel:action:/etc/getty [options] line [speed [term [lined]]]
其getty必 须 为getty_ps, 这 部 份 说 明 可 以 在Serial-HOWTO中 找 到。

有 了 这 段 设 定, 重 头 开 机, 并 连 上 後, 若 下ps aux指 令, 应 可 看 
到 底 下 一 些 资 料,其 中 某 些 栏 位 已 省 略。
..
..
root    88  232 v02 S    10:58   0:00 /sbin/getty tty2 3840
root    88  232 v03 S    10:58   0:00 /sbin/getty tty3 3840
root    92  264 psf S    11:33   0:00 /sbin/getty ttyS1 19200
..
..

/dev/ttyS1是 给 拨 进 来 的connection使 用 的。
/dev/cua1是 拨 出 去 用 的。
以 上 两 者 皆 为com2

到 目 前 为 止, 如 果 用modem拨 进 来, 将 可 出 现login prompt的 画 面 如 
下:

login:

此 时 整 条serial line已 通, 可 以login, 并 下 一 些 简 单 的 命 令, 
但local端 和remote端 并 未 开 始 商 议PPP。

三、 为 了 提 供PPP service, 我 们 要 建 立 一 个account, 如:ppp01, 他 的
login shell可 以 把pppd叫 起 来, 并 和 对 方 沟 通。 作 法 如 下:下 
一adduser命 令

linux>adduser
----------------------这 以 下 为adduser AP的user interface
Adding a new user. The username should be not exceed 8 characters
in length, or you many run into problems later.

Enter login name for new account (^C to quit): ppp01

Editing information for new user [ppp01]

Full Name: ppp01
GID [100]:100

Checking for an available UID after 500
501...502...503...504...505...506...507...508...
First unused uid is 509

UID [509]:509

Home Directory [/home/ppp01]: /home/usr/ppp01

Shell [/bin/bash]: /etc/ppp/ppplogin

Password [ppp01]:xxxxx
-------------------------以 上 为adduser
一 般login shell为/etc/bash或/etc/csh, 但 我 们 为 了 在login时 就 执 
行pppd,建 立 一 个ppp connection, 所 以 写 了 一 个executable scrip内 容 如 
下: 

------------以 下 为/etc/ppp/ppplogin
#!/bin/csh
exec /usr/etc/pppd passive netmask 255.255.255.0 proxyarp :140.xxx.xxx.xxx
------------以 上 为/etc/ppp/ppplogin

passive意 思 是pppd一 开 始 会 尝 试negotiate, 若 没 有 回 应, 则 等 待。
netmask 255.255.255.0设 定subnet mask。
proxyarp add an entry to this system's ARP table。
:140.xxx.xxx.xxx设 定 拨 进 来 那 端 的IP
关 於pppd这 部 份 的option, 可 用man pppd来 研 究。

做 了adduser後/etc/passwd的 内 容 如 下:
ppp01:(encrypted password):505:100:ppp01:/home/usr/ppp01:/etc/ppp/ppplogin

上 述 是server端 建 立 的 方 法, 至 於client连 接ppp server不 多 做 介 绍,
只 指 出 要 注 意 的 地 方, 我 使 用 的 软 体 是winspan 3.0, 至 於Trumpt 
winsock、linux pppd, 只 听 过 没 用 来 连 过, 各 位 就 多 见 谅 了, 其 设 
定 是 大 同 小 异 的。

Winspan里 有 个configure, 里 头 有 界 面 卡, 选 择ppp、 设 定, 设 定baud 
rate等,重 要 的 是local ip address, 这 个 地 方 要 和ppplogin中 所 设 
的:140.xxx.xxx.xxx一 样, 因 为 这linux pppd的 设 定 方 法, 把 这ip固 定 了, 
所 以 要 设 一 样 的。 至 於 要dynamic assign IP、 或 更 多 条 线, 这 就 要 
叁 考 其 他faq, 我 并 没 有 尝 试。

至 此 大 功 告 成, 用ppp01帐 号login後,pppd就 开 始 和 对 端 商 议PPP了。
但 事 情 真 的 这 麽 顺 利 吗? 可 能 没 有, 你 可 能 碰 到 某 些 状 况 如 
下:
1.modem可 以 接 电 话 了, 但 接 下 来 没 有 任 何 动 作,login prompt并 不 
会 出 现。
解 法:在/etc/default下, 有getty一 开 始 要 读 的 档 案, 其 内 容 可 能 如 
下:
CLEAR = NO
HANGUP=YES
INIT="" ATZ\r OK
WAITFOR=RING
CONNECT="" ATA\r CONNECT \s\A
你 若 是 用man getty研 究 其option就 知 道 为 什 麽 不 出 现prompt, 所 以 我 
改 成
CLEAR = NO
HANGUP=YES
login prompt就 出 现 了。

2.怎 麽 一 切 设 对,ppp connection也 建 立 起 来 了, 可 以 从local端telnet到
linux上 了, 但 却 无 法 到 其 他 机 器 上。
原 因:pppd的ARP table并 没 有 成 功 建 立,packet无 法route出 去。
理 论 上pppd应 可 自 动 建 立ARP table, 但 我 不 知 哪 里 设 错, 无 法 建 
立。
解 法:手 动 建 立ARP table, 可 叁 考NET-2-HOWTO或NET-3-HOWTO的9.Routing。
#
#Proxy ARP for those dialin users who will be using this
#machine as a server
#
/sbin/arp -s 140.xxx.xxx.xxx 00:00:C0:AD:37:1C pub
#End proxy arps

以arp -a指 令 将 可 发 现
? (140.xxx.xxx.xxx) at 00:00:C0:AD:37:1C
这 样 才 可 以 正 确route出 去。
注 意: 00:00:C0:AD:37:1C是ethernet address, 也 就 是 网 路 卡 的hardware 
address, 在linux开 机 时 注 意 看 将 可 发 现。

3.可 以 正 常 显 示,并 当terminal server,但 用ppp帐 号login後 就 断 了.
原 因:pppd根 本 没 有 执 行,可 在console以ppp帐 号login,看 该 帐 号 是 否 的 
确可 以 执 行PPPD.

希   这 篇 能 给 那 些 想 在 办 公 室 或 实 验 室 装 个PPP server的 人 一 点 
帮 助, 若 本 篇FAQ有 错 误 的 地 方, 请 多 多 见 谅.

--
※ 来源:·哈尔滨紫丁香站 bbs1.hit.edu.cn·[FROM: jqc@pclinux.hit.edu.] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.078毫秒