发信人: neal() 
整理人: hahalee(1999-04-22 02:54:21), 站内信件
 | 
 
 
From: [email protected] (KO)  Newsgroups: tw.bbs.comp.386bsd  Subject: 如果架PPP Server in Freebsd  Date: 6 Aug 1997 23:28:59 GMT     如何让FreeBSD成为PPP拨接伺服器   (特定MODEM对特定IP)       本文举例如何以kernel mode PPP, 即pppd(8), 提供PPP 拨接伺服器的功能。       请注意所用MODEM必须是可以          1. auto answer incoming call, and          2. can auto reset when DTR signal drops.     ZZ.   AA.让kernel 支援ppp device   BB.设定MODEM   CC.设定/etc/ttys   DD.决定PPP 两端的IP   EE.设定pppd的options   FF.怎麽用?       AA.   请确定您所用的kernel 支援ppp device. 如果没有的话您必须修改它。   (FreeBSD handbook, 5.3.8. Networking, pseudo-device ppp  number)   如果有支援,那麽打ifconfig -a 大概会有如下这样的讯息:     ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500   ppp1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500     显示有两个ppp device。       BB.   接下来请参照modem的说明书将他设定为前述的:   1. auto answer.   2. Reset when DTR signal drops, 以及   3. 关掉command line echo.   4. 不要display result code.     当然您必须要先有适当的cable连接modem 和主机的RS-232 port。   连接好了之後可以用cu 指令来跟modem讲话(通常只有root才可以用cu):   # cu -l /dev/cuaa1 -s 115200   connected     当cu 打开/dev/cuaa1 时,连接cuaa1 的modem 的DTR灯会亮。   在cu 下,可打~. 跳出。        CC.   您必须知道如何接序列埠的terminal,(FreeBSD handbook, 11. Serial  Communications,   11.2.3. Configuration)   例如/etc/ttys中:    # Serial terminals  ttyd0   "/usr/libexec/getty std.9600"   unknown off secure  ttyd1   "/usr/libexec/getty std.115200" vt100 on insecure  ttyd2   "/usr/libexec/getty std.9600"   unknown off secure  ttyd3   "/usr/libexec/getty std.9600"   unknown off secure     设定ttyd1使能□上相连的terminal,连线速度(transmittion speed between  modem and   the interface)固定115200bps,当作vt100 terminal 对待,不允许root  login。     如果您的modem 已经□上com2 (ttyd1),这时kill -1 1 就会见到modem 上 的DTR灯亮起   表示主机已经待命。如果modem DTR灯没有亮起来,那就。。。。   至此您可以用普通terminal 模拟程式拨进那台modem 看看,拨通之後应该可以看到    FreeBSD的login画面。 login 进去後,再logout, 则modem 挂断。         DD.   每一个dialup连上後要用掉两个IP,local端与remote端各一,也就是   server端与client端各一。除非您拥有正式核发的IPs,不然请千万从   Private IP里挑选您喜欢的来用。         10.0.0.0        -   10.255.255.255  (10/8 prefix)       172.16.0.0      -   172.31.255.255  (172.16/12 prefix)       192.168.0.0     -   192.168.255.255 (192.168/16 prefix)     比如设server端为 172.16.0.10         client端为 172.16.0.20   这样为 一对,一个client拨上来要用掉 一对 IP。   假如您提供两个或三个MODEM让人拨接,那麽就需要两对或三对IP。       EE.   设定/etc/ppp/options 档。   /etc/ppp/options 内容设定了pppd(8)启动後的动作,options 可以在   命令行里指定,不过/etc/ppp/options这个档必须是存在的。它可用来当作    对各个ttyd?的default设定,ttyd?的个别设定可以放在/etc/ppp/options.ttyd?    之中。      /etc/ppp/options  crtscts                 # Hardware flow control  netmask 255.255.255.0   # netmask ( not required 因为好像改了也没 用...呵)  domain abc.efg.net      # your domain  passive                 # wait for LCP  modem                   # modem line     /etc/ppp/options.ttyd1  172.16.0.10:172.16.0.20 # local:remote IP                          # i.e. server-side will get IP 172.16.0.10                          # client-side will get IP 172.16.0.20     FF.   拨通後,login,打pppd就开始ppp pocket-mode.     =====================================================================     From: [email protected] (Eddie Wang)  Newsgroups: tw.bbs.comp.386bsd  Subject: 另一个架ppp server的方式  Date: Sun, 10 Aug 1997 14:08:00 GMT    在这提供一种简单架设ppp server的方法,主要是利用  [email protected] 所提供的pppkit.tgz来使FreeBSD  成为一个使用系统密码档及pap方式认证的terminal server。  大家可以在下列地方取得pppkit.tgz  ftp://ftp.hilink.com.au/pub/FreeBSD/pppkit.tgz or  ftp://freebsd.csie.nctu.edu.tw/pub/jdli/collect/ppp/pppkit.tgz  除此之外我还参考了handbook第11、12章以及FAQ第十章,  有兴趣的人可顺便看一下。  我的系统是 2.2 stable (0803)  cuaa0==>GVC 宝时捷33.6k  cuaa1==>创巨 modem blaster 28.8k  以下的说明皆以我的系统为□例,请自行依需要修改。    解开pppkit.tgz後的档案如下:  pppkit/etc/ppp/ppp.ports  指定由ttyxx拨入後将得到的ip    pppkit/etc/ppp/ppp.disabled  设定哪些人不可用pap ppp的方式拨入    pppkit/etc/ppp/options  设定给拨入端的DNS server    pppkit/etc/ppp/ppp.users  设定给某些特定的user固定ip,前提是这些user用一般的  Login:/Password:提示符号login的而不是用pap(设定方法请  参考README)    pppkit/etc/gettytab  参考用的    pppkit/bin/ppplogin.sh  提供给ppp user的login shell并且也让getty去启动pppd    pppkit/bin/fancyppplogin.sh  同上    pppkit/usr/sbin/pppd-22  提供给2.2+使用者的pppd    pppkit/usr/sbin/pppd-215  给2.1.5+的pppd    pppkit/usr/libexec/getty  2.1.5的user需要将原来的getty换成这个    pppkit/README  说明文件,我这篇post 80%+都在里面有说明    开始吧  * 先确定kernel中有ppp interface,并把modem接好,power on。    * cp pppkit/usr/sbin/pppd-22 /usr/sbin/pppd    (这是README说的,我没做:p )    chown root.bin /usr/sbin/pppd ; chmod 4555 /usr/sbin/pppd    * cp pppkit/etc/ppp/* /etc/ppp    * 修改/etc/ppp/options 将给拨入端的的dns server ip填入    假如你预备将ppp0的ip设定成和你网卡的ip相同的话,请加上    proxyarp这个keyword    * 修改/etc/ppp/ppp.ports 我只预备将ttyd1提供拨入,因此只要    设定一行"d1   xxx.xxx.xxx.xxx"    * cp pppkit/bin/ppplogin.sh /usr/local/bin    并修改其中 LOCAL=xxx.xxx.xxx.xxx 将xxx....换成你预备指定    给local端的ip(如上所说,可设定成和网卡相同)    * 编辑一个/etc/ppp/ppp.shells 格式如同/etc/shells    至少要加上/usr/local/bin/ppplogin.sh以及你预备提供拨接服务    的user所用的shell    * 看看/etc/ppp/ppp.disabled中少列了哪些你不想让他拨入的,加上去。    * 将/etc/ttys中关於ttyd1那行改成:    ttyd1 "/usr/libexec/getty std.57600"  dialup  on  insecure    * 将/etc/gettytab中开头是std.57600那项设定改成:    std.57600|57600-baud:\          :np:sp#57600:pp=/usr/local/bin/ppplogin.sh    大致设定完成了,现在请 kill -HUP 1;ps -ax应该会看到这行  13143  ??  I      0:00.01 /usr/libexec/getty std.57600 ttyd1    现在要设定数据机了,handbook上说要上数据机能够正常提供dialin  的话必须:  1.CD asserted when connected (&C1)  2.DTR asserted for operation; dropping DTR hangs up line &     resets modem (&D2)  3.CTS transmitted data flow control (&K3)  4.Disable XON/XOFF flow control (找不到:p,不过这项在rc.serial    应该已经是预设的了)  5.RTS received data flow control (&K3)   6.Quiet mode (no result codes)  (Q1)  7.No command echo (E0)  另外我想要把这些设定储存起来 (&W0)  以及要modem在响一声後自动接电话 (S0=1)  翻翻modem的手册,我的modem blaster应设定如下:  AT&C1&D2&K3E0Q1S0=1&W0    要设定modem请先在/etc/remote中加上一行:  cuaa1:dv=/dev/cuaa1:br#57600:pa=none  然後就可以用tip cuaa1来设定了,设定完用"~."结束。    现在可以试拨看看了。在拨入端的设定和一般拨SEEDNet(非广告)  一样,不论是95,nt,or FreeBSD都很顺利。当初我在测试的时候  用cuaa0拨到ttyd1,然後用ifconfig -a去看..真是精采:)    以上如有疏漏之处,欢迎在板上指正。    --  王守谦 (Eddie Wang)  mailto:[email protected] 
  -- ※ 来源:.网易 BBS bbs.netease.com.[FROM: dmx320.resnet.ust.hk]
  | 
 
 
 |