⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 network-ppp-server.html

📁 学习linux的工具书
💻 HTML
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
   <meta name="Author" content="Edward Fu">
   <meta name="GENERATOR" content="Mozilla/4.05 [zh-CN] (X11; I; Linux 2.1.127 i686) [Netscape]">
   <title>Freesoft Linux FAQ -- 设置ppp server</title>
</head>
<body>
主题:_如何安装PPPServer?_[ 8Nov94,
6kb]
<br>最近因工作需要,要在Linux上装个PPPserver,接受拨接进来的电
<br>话,连上整个公司的ethernet网络,再经由router接上internet,过程并
<br>不顺利,整台Linux有许多地方需要设定,为避免大家浪费许多无谓的时间,
<br>所以有这篇FAQ的产生,我所使用的是Linux1.0.9这份FAQ并没有完整的介
<br>绍Linux PPP的部份,只针对PPP server的部份,把我安装的经验写出来,
<br>适合已装上PPP,并能用来连接其他PPP server的人。 若想从无到有,你可
<br>以参考开放系统与网路杂志1994年,八月份出版, 曾瑞源先生的Internet低
<br>廉上网,再参考本篇及各种FAQ就可以建立一个PPP server了。 若想更进一
<br>步, 让不同网络的PPP server相连,可以造成一 个router,让两个网络
<br>互通有无,但这部份我没试过,请各位努力研究。要建立PPP server有三个步骤:
<br>1.你的modem必须要能接电话。
<br>2.你的linux必须能透过serial line显示login prompt。
<br>3.建立呼叫pppd的account
<br>一、 如 何 让modem接 电 话。
<br>我不会用linux来设定,所以用windows 3.1的终端机来设定modem,(笨蛋,用minicom等不就行了么)
<br>执行windows的拨号终端。对modem下ATS0=1,这是叫modem在电话响一声后就接,
<br>=2就是响两声。AT&amp;W,把刚设的状态存起来,今后每当电话震铃一声,modem就
<br>接起来了。
<br>二、 如何透过serial line显示login prompt。
<br>在/etc底下,有个inittab,有段内容要设定如下:
<br># Serial lines 这是我的设定, 可能与你的不同。
<br>#s1:45:respawn:/sbin/getty ttyS0 19200 vt100 s2:45:respawn:/sbin/getty
ttyS1
<br>19200 vt100 每一行之前若加上#,代表注解。 意义为
<br>id:runlevel:action:/etc/getty [options] line [speed [term [lined]]]
<br>其getty必须为getty_ps,这部份说明可以在Serial-HOWTO中找到。有了这段设定,
<br>重头开机,并连上后,若下ps aux指令,应可看到一些资料,其中某些栏位已省略。
<br>.... root 88 232 v02 S&nbsp; 10:58 0:00 /sbin/getty tty2 3840
<br>&nbsp;&nbsp;&nbsp;&nbsp; root 88 233 v03 S&nbsp; 10:58 0:00 /sbin/getty
tty3 3840
<br>&nbsp;&nbsp;&nbsp;&nbsp; root 92 264 psf S&nbsp; 11:33 0:00 /sbin/getty
ttyS1 19200 .. ..
<br>/dev/ttyS1是给拨进来的connection使用的。
<br>/dev/cua1是拨出去用的。
<br>以上两者皆为com2到目前为止,如果用modem拨进来,将可出现login prompt的画面如
<br>下: login:
<br>此时整条serial line已通,可以login,并下一些简单的命令,
<br>但local端和remote端并未开始商议PPP。
<br>三、 为了提供PPP service,我们要建立一个account,如:ppp01,他的login
shell可
<br>以把pppd叫起来并和对方沟通。作法如下:下一adduser命令
<br>linux>adduser
<br>----------------------这 以 下 为adduser AP的user interface
<br>Adding a new user. The username should be not exceed 8 characters
<br>in length, or you many run into problems later.
<br>Enter login name for new account (^C to quit): ppp01
<br>Editing information for new user [ppp01]
<br>Full Name: ppp01
<br>GID [100]:100
<br>Checking for an available UID after 500
<br>501...502...503...504...505...506...507...508...
<br>First unused uid is 509
<br>UID [509]:509
<br>Home Directory [/home/ppp01]: /home/usr/ppp01
<br>Shell [/bin/bash]: /etc/ppp/ppplogin
<br>Password [ppp01]:xxxxx
<br>-------------------------以 上 为adduser
<br>一般login shell为/etc/bash或/etc/csh, 但我们为了在login时就执行pppd,
<br>建立一个ppp connection,所以写了一 个executable scrip内容如下:
<br>------------以 下 为/etc/ppp/ppplogin
<br>#!/bin/csh
<br>exec /usr/etc/pppd passive netmask 255.255.255.0 proxyarp :140.xxx.xxx.xxx
<br>------------以 上 为/etc/ppp/ppplogin
<br>passive意思是pppd一开始会尝试negotiate,若没有回应,则等待。
<br>netmask 255.255.255.0设定subnet mask。
<br>proxyarp add an entry to this system's ARP table。
<br>∶140.xxx.xxx.xxx设定拨进来那端的IP
<br>关於pppd这部份的option,可用man pppd来研究。
<br>做了adduser後/etc/passwd的内容如下:
<br>ppp01:(encrypted password):505:100:ppp01:/home/usr/ppp01:/etc/ppp/ppplogin
<br>上述是server端建立的方法,至於client连接ppp server不多做介绍,
<br>只指出要注意的地方,我使用的软体是winspan 3.0,至於Trumpt winsock、linux
<br>pppd,只听过没用来连过,各位就多见谅了,其设定是大同小异的。Winspan里有
<br>个configure,里头有界面卡,选择ppp、设定,设定baud rate等,重要的是local
ip
<br>address,这个地方要和ppplogin中所设的:140.xxx.xxx.xxx一样,因为这linux
pppd
<br>的设定方法,把这ip固定了,所以要设一样的。至於要dynamic assign IP、或更多
<br>条线,这就参考其他faq,我并没有尝试。至此大功告成,用ppp01帐号login后,pppd就
<br>开始和对端商议PPP了。但事情真的这么顺利吗?可能没有,你可能碰到某些状况如下:
<br>1.modem可以接电话了,但接下来没有任何动作,login prompt并不会出现。解法:
<br>/etc/default下, 有getty一开始要读的文件,其内容可能如下:
<br>CLEAR = NO HANGUP=YES INIT="" ATZ\r OK WAITFOR=RING
<br>CONNECT="" ATA\r CONNECT \s\A
<br>你若是用man getty研究其option就知道为什么不出现prompt,所以我改成
<br>CLEAR = NO
<br>HANGUP=YES
<br>login prompt就出现了。
<br>2.怎么一切设对,ppp connection也建立起来了,可以从local端telnet到linux上了,
<br>但却无法到其他机器上。原因:pppd的ARP table并没有成功建立,packet无
法route出
<br>去。理论上pppd应可自动建立ARP table,但我不知哪里设错,无法建立。解法:
<br>手动建立ARP table,可参考NET-2-HOWTO或NET-3-HOWTO的9.Routing。
<br>#
<br>#Proxy ARP for those dialin users who will be using this
<br>#machine as a server
<br>#
<br>/sbin/arp -s 140.xxx.xxx.xxx 00:00:C0:AD:37:1C pub
<br>#End proxy arps
<br>以arp -a指令将可发现? (140.xxx.xxx.xxx) at 00:00:C0:AD:37:1C
<br>这样才可以正确route出去。
<br>注意:00:00:C0:AD:37:1C是ethernet address,也就是网卡的hardware address,
<br>在linux开机时注意看将可发现。
<br>3.可以正常显示,并当terminal Server,但用ppp帐号login后就断了. 原因:
<br>pppd根本没有执行,可在console以ppp帐号login,看该帐号是否的确可以执行PPPD.
<br>希这篇能给那些想在办公室或实验室装个PPP server的人一点帮助?若本篇FAQ有错误
<br>的地方,请多多见谅..
<br>&nbsp;
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -