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

📄 readme.linux

📁 unix and linux net driver
💻 LINUX
📖 第 1 页 / 共 3 页
字号:
PPP for Linux                                            Version 2.3.11=============                                                  based on                                                             ppp-2.3.11                                                          December 1999Paul Mackerras      Paul.Mackerras@cs.anu.edu.auAl Longyear         longyear@netcom.comMichael Callahan    callahan@maths.ox.ac.uk  Contents:    INTRODUCTION    CREDITS    INSTALLATION    PROBLEMS WHICH MAY OCCUR WHILE BUILDING THE KERNEL       A REFERENCE TO UNDEFINED _mod_use_count_       BLOCK ON FREELIST AT nnnnnn ISN'T FREE    GENERAL NETWORK CONFIGURATION    CONNECTING TO A PPP SERVER    IF IT WORKS    IF IT DOESN'T WORK    IF IT STILL DOESN'T WORK (OR, BUG REPORTS)    DYNAMIC ADDRESS ASSIGNMENT    SETTING UP A MACHINE FOR INCOMING PPP CONNECTIONS    SETTING UP A MACHINE FOR INCOMING PPP CONNECTIONS WITH DYNAMIC IP    ADDITIONAL INFORMATION    DIP SUPPORT    CONCLUSIONINTRODUCTIONThis file is substantially derived from the previous version for thepppd process 2.2.0, which itself was derived from earlier works byMichael Callahan. This particular version was written, modified,hacked, changed, whatever, by Al Longyear and Paul Mackerras. If youfind errors in this document, they are probably ours and notMichael's.This is a PPP driver for Linux.  It has been used by many people andseems to be quite stable.  It is capable of being used either as a'client'--for connecting a Linux machine to a local Internet provider,for example--or as a 'server'--allowing a Linux machine with a modemand an Ethernet connection to the Internet to provide dial-in PPPlinks.  (In fact, the PPP protocol does not make the distinctionbetween client and server, but this is the way people often thinkabout it.)The PPP protocol consists of two parts.  One is a scheme for framingand encoding packets, the other is a series of protocols called LCP,IPCP, PAP and CHAP, for negotiating link options and forauthentication.  This package similarly consists of two parts: akernel module which handles PPP's low-level framing protocol, and auser-level program called pppd which implements PPP's negotiationprotocols.The kernel module assembles/disassembles PPP frames, handles errordetection, and forwards packets between the serial port and either thekernel network code or the user-level program pppd.  IP packets godirectly to the kernel network code.  So once pppd has negotiated thelink, it in practice lies completely dormant until you want to takethe link down, when it negotiates a graceful disconnect.CREDITSMichael Callahan wrote the original kernel driver from scratch.Laurence Culhane and Fred van Kempen's slip.c was priceless as a model(a perusal of the files will reveal that he often mimicked what slip.cdid).  Otherwise he just implemented what pppd needs, using RFC1331 asa guide.  For the most part, the Linux driver provides the sameinterface as the free 386BSD and SunOS drivers.  The exception is thatLinux had no support for asynchronous I/O, so he hacked an ioctl intothe PPP kernel module that provides a signal when packets appear andmade pppd use this instead.Al Longyear ported version 2.0 of pppd (from the free packageppp-2.0.0) to Linux.  He also provided several enhancements to boththe kernel driver and the OS-independent part of pppd.  Hiscontributions to Linux PPP have been immense, and so this releaseis being distributed over both our names.Paul Mackerras rewrote and restructured the code for improvedperformance and to make a cleaner separation between thenetwork-interface and async TTY parts of the ppp driver.Nick Walker added the code to pppd to query the peer for DNS serveraddresses.USING THE NEW PPP KERNEL DRIVERAs of kernel version 2.3.13, the development series of kernels containa new kernel PPP driver, rewritten from scratch by Paul Mackerras.This package supports the new driver, although it doesn't include thesource for the new driver.The new driver is divided into two files: ppp_generic.c andppp_async.c.  The old ppp.c is still present in the kernel sources butis not used.  If you compile PPP as a module, you will get twoseparate modules, called ppp_generic and ppp_async.Another module ppp_synctty is used for synchronous tty devicessuch as high-speed WAN adapters for leased T1/E1 lines.To talk to the new driver, pppd needs to be able to open /dev/ppp,character device (108,0).  If the special file node /dev/ppp is notpresent, pppd will create it.  However, if you are running with /devon a read-only filesystem, pppd will not be able to create /dev/ppp.In that instance you should manually create /dev/ppp using the command`mknod /dev/ppp c 108 0'.If you use module autoloading and have PPP as a module, you will needto add the following to your /etc/modules.conf or /etc/conf.modules:alias tty-ldisc-3    ppp_asyncalias tty-ldisc-14   ppp_syncttyalias char-major-108 ppp_genericINSTALLATIONThis version of PPP has been tested on various Linux kernel versions(most recently 2.2.10). It will not work on kernels before 2.0.0. Ifyou have an earlier kernel, please upgrade to the latest 2.2-serieskernel.joining the PPP channel of linux-activists:      This isn't really part of installation, but if you DO use      Linux PPP you should do this.  Send a message with the line	subscribe linux-ppp      contained in the body to majordomo@vger.rutgers.edu      You may use      subscribe linux-ppp myname@mail.address      if you wish the linux-ppp information sent to a different mail      address.      To leave the mail list, send 'unsubscribe linux-ppp' to the same      mail address.      You can send to the list by mailing to      linux-ppp@vger.rutgers.edu. This is a majordomo mailing list and      is unlike the earlier version on hut.fi. There is no magic header      required for this list. In addition, it is gated to the usenet      group linux.dev.ppp. You may choose to read the few messages posted      there.Usenet News Groups      There are three applicable usenet news groups for the PPP code. Please      choose the group which applies the closest to the type of problem      which you are experiencing.      comp.os.linux.networking       - Trouble setting routes, running name services, using telnet, ftp,         news, etc.       - It will not compile.      comp.os.linux.setup       - Trouble installing the package from BINARIES only. This does *NOT*         include problems with compiling the package.      comp.protocols.ppp       - How do I use the package?       - How do I connect to .... services?       - Why does this not work?       - All other types of questions on how to use just the PPP code.      PLEASE don't assume that just because you are using PPP as your      network device driver that all problems with your networking are a      problem of PPP. PPP is *NOT* responsible for your modem disconnecting,      routing to other servers, running telnet, etc. Calling the problem      'ppp' on usenet may cause it to be ignored by the people who      actually work on the networking code.Installation procedure:The installation procedure has been totally revised for thisversion. Due to feedback from other users, it was felt that a moreautomated installation procedure be performed.1. Issue the command:./configurefrom the top level directory of pppd. This is the directory whichcontains this README.linux file. The result of this will be to build aset of symbolic links to the makefiles. They should link 'Makefile' to'Makefile.linux' in each of the directories.2. Update the kernel sources.The 2.2.8 and later kernels contains the same PPP kernel driver as isin this release.  In fact the driver in the kernel sources is slightlydifferent from the one in this package as it doesn't include the stuffwhich enables the driver in this package to compile in either the 2.0or 2.2 kernel environment, but the two are functionally equivalent.If you are using a 2.2.8 or later kernel and your kernel is alreadyconfigured for PPP, then you only need to do steps 5 and 6.Otherwise, continue at step 3.If you are using a 2.3 series kernel, use the kernel driver that is inthe kernel sources.  For 2.3.13 and later, this is the new driver (seeabove).If you are using a kernel earlier than 2.2.8, you can either use thedriver in this package or upgrade your kernel to the current 2.2.xseries kernel (2.2.13, as of the release of ppp-2.3.11).  If you chooseto use the driver in this package, you will need a copy of the kernelsource tree to compile the driver.  Issue the command:make kernelfrom the top level directory. This will install the various includefiles and source files into the proper directories in the linux kernelsource tree. If you don't have the kernel installed in the default/usr/src/kernel directory then it will not work. Instead it will printa message to the effect that you need to specify the kernel locationon the kinstall command.The actual message will say:There appears to be no kernel source distribution in /usr/src/linux.Give the top-level kernel source directory as the argument tothis script.usage: kinstall.sh [linux-source-directory]If, and only if, you receive this message, do the following:   a. Change to the 'linux' directory with the command:cd linux   b. Issue the command:./kinstall.sh /usr/src/linuxor use the proper location for the kernel rather than/usr/src/linux. For example, if you have the kernel installed in/usr1/kernel then the command would be:./kinstall.sh /usr1/kernelThe script will validate that the kernel is properly installed intothat directory and check the level of the kernel. The installationwill not be accepted if your kernel is too early.The installation procedure will copy only the files which areneeded. It will not replace any file which should not bereplaced. Please don't second-guess the installation script andattempt to do the procedure on your own. There are some very subtledependencies and if you are not careful, the installation will notwork.You are free to run the installation script as many times as youwish. The additional executions will only change the files which havenot been changed.3. Build the kernel.You should rebuild the kernel with this package.  If you use thedriver that comes with the current 2.0 kernels, it will not supportDeflate compression or demand-dialling, but apart from that the pppddaemon should work.If you don't know how to build a kernel, then you should read theREADME file in the kernel source directory.If you want module support then you need to have the 'modules-2.0.0'package installed as the minimum version. Earlier versions of themodule support will not work properly. All of the later ones will.Instructions on building the kernel with modules are given in theREADME.modules in the kernel source directory.4. Install the kernelIf you are using the Yggdrasil distribution then you need to 'install'the kernel at this point. Refer to their documentation on the proceduresto install the kernel.Distributions other than the Yggdrasil will normally install thekernel when you build it.5. Build the programs.The programs are built next. The command to build the programs is fairlysimple. Just issue the command:makefrom the top level directory where this README.linux file is located.6. Install the programs.You may use the commandmake install(as root) to install the various programs.  They will be installedinto the /usr/sbin directory.  If you prefer to install the programselsewhere, you can change the definition of BINDIR in the filelinux/Makefile.top.Earlier versions of the pppd package used /usr/lib/ppp as thedirectory. This has been changed. If you still have code in/usr/lib/ppp then you should remove it as it is probably the 2.1version of the code. That version will not work with the current ppp.cdrivers in the kernel.7. Reboot to the new kernel.After building the new kernel, you will need to actually use it. Rebootthe Linux system and you may then use the new pppd program.8. Load optional modules.If you are using loadable modules for the ppp then you must load themafter the kernel has been started. The following relative order must

⌨️ 快捷键说明

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