荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: williamlong (蓝色月光), 信区: Linux
标  题: 在RedHat Linux 5.1下配置PPP/POP拨号服务器
发信站: BBS 荔园晨风站 (Thu Apr  6 22:55:08 2000), 转信

              在RedHat Linux 5.1下配置PPP/POP拨号服务器
                 作者: Hassan Ali   hassan@glcom.com
                 译者: MZY        zdm@163.net
                 原文: http://www.linuxgazette.com/issue36/ali.html
                 译文: ftp://nihao.dlut.edu.cn/pub/Linux/ppp_setup.doc


说明:  本方法在我的机器上经过了验证, 你的环境可能有所不同
目的:  在RedHat Linux 5.1上为拨号上网用户安装PPP和POP/IMAP服务
工具:  RedHat Linux 5.1 CD
假定:  你已经在PC上安装了RedHat Linux51., 其内核支持IP forwarding

步骤1: 从RedHat Linux 5.1 CD安装”mgetty”(如果没有安装的话)
1. 以root用户登录, 在光驱中插入RedHat Linux 5.1 CD, 用下面的命令将其
mount成一个目录:
#  mount –t iso9660 /dev/hdb  /mnt/cdrom
(假设你的光驱设备是/dev/hdb, 如果不是可做相应的改动)
2. 进入RPMS目录:
#  cd /mnt/cdrom/RedHat/RPMS
3. 安装”mgetty” rpm 文件:
#  rpm –Uvh mgetty*
   这一步将安装mgetty和其所有的附件, 但谁会管它呢! 如果你讨厌扩展名的
方式, 你可以用”mgetty-1.1.14-2.i386.rpm” 代替”mgetty”
4. 在/etc/mgetty+sendfax/mgetty.config文件的末尾为连接modem的每个串行
口添加以下三行. 这里是一个应用于/dev/ttyS1和/dev/ttyC15的例子
   # For US Robotics Sportster 28.8 with speaker off
   port ttyS1
   init-chat "" ATZ OK AT&F1M0E1Q0S0=0 OK
   answer-chat "" ATA CONNECT \c \r

   # For Practical Peripheral 14.4 with fax disabled and prolonged
   # carrier wait time (90 sec)
   port ttyC15
   init-chat "" ATZ OK AT&F1M0E1Q0S0=0S7=90+FCLASS=0 OK
   answer-chat "" ATA CONNECT \c \r
  注意:
1. AT&F1为大多数的modem设置硬件流控制模式. 对于其它的modem要在
init-chat行采用适当的初始化设置.
2. 你可能奇怪我为何用ttyC15端口做例子, 因为如果你使用一块多串口卡的话,
你会有这样一个端口. 如果你的确需要这样一块卡, 我建议你采用 Cyclades卡
5. 在/etc/mgetty+sendfax/loging.config文件中, 查找以/AutoPPP/.开头的行
. 确认这行没有被注释掉(在行开始处没有”#”符号), 并做以下的修改:
     /AutoPPP/  -       a_ppp   /etc/ppp/ppplogin
   如果你想在/var/run/utmp和/var/log/wtmp日志文件中写入用户的登录名(而
不是”a_ppp”)的话, 这一行应该改成:
     /AutoPPP/  -       -       /etc/ppp/ppplogin
6. 在/etc/inittab文件中, 查找运行 “getty”的段, 并且在此段的末尾为每
个modem端口添加类似于下面例子的一行. 下面的例子是针对ttyS1和ttyC15的:
         7:2345:respawn:/sbin/mgetty -x 3 ttyS1
         8:2345:respawn:/sbin/mgetty -x 3 ttyC15
  (第一个数字(7,8)可以是任意的(实际上我见过其它的”s1”,”s2”等). 反
正只是给每个端口不同的数字即可. 为何不用连续的数字呢, 个人意见而已)
7. 将modem连接到串口上, 打开modem的开关, 用下面的命令进行初始化
       #  init q
  注意: 如果你将mgetty赋给一个没有modem连接的端口, 或者modem没有打开,
在 /var/log/messages 和其它mgetty(“/var/log/log_mg.ttyXX”)日志文件中
会产生大量的错误信息.. 实际上还会有错误信息不断的显示在屏幕上, 非常讨
厌. 要避免这种干扰, 应在/etc/inittab和/etc/mge
tty+sendfax/mgetty.config文件中将那些对应无modem连接的行注释掉.

步骤2: 从RedHat Linux 5.1 CD安装PPP(如果没有安装的话)

1. 如果RedHat Linux CD已经正确的mount(见步骤1), 用下面的命令安装PPP:
  # rpm -Uvh /mnt/cdrom/RedHat/RPMS/ppp*
2. 编辑/etc/ppp/options文件:
      -detach
      crtscts
      netmask 255.255.255.0
      asyncmap 0
      modem
      proxyarp
   注意:
  1. 用合适的子网掩码, 不一定必须是255.255.255.0, 实际上我用的是
255.255.255.224
  2. 阅读pppd帮助理解以上参数的意义.
  3. 编辑/etc/ppp/ppplogin文件(如果不存在就创建它)
        mesg n
        tty -echo
        /usr/sbin/pppd silent auth -chap +pap login
   使ppplogin成为可执行的文件
       # chmod +x /etc/ppp/ppplogin
   注意: 我们将使用PAP口令验证而不是用以前的/etc/passwd口令文件. 这是
参数”+pap login”的含义.
4. 对于每个连接modem的端口, 创建一个相应的/etc/ppp/options.ttyXX文件,
这里“XX”代替每个端口名, ”S1”代表ttyS1端口, “S2”代表ttyS2端口,
“C15”代表ttyC15端口. 在这些文件中加入下面的一行:
    myhost:ppp01
    这里”myhost”是PPP服务器的域名, 把它改成你Linux服务器的真实域名.
如果你忘记了, 你可以用”hostname”命令来查询:
    # hostname
   “ppp01”是任意选取的虚拟域名, 是和/etc/hosts文件中的PPP拨号上网的
主机IP地址对应的(后面将说明). 在另一个/etc/ppp/options.ttyXX文件中, 你
可以这样写 :
myhost:ppp02
    这里你定义了另外一个PPP域名”ppp02”. 对每一个串口要定义一个不同的
域名. 你可以选择任何喜欢的名字. 不一定必须是ppp01, ppp02,ppp03. 你可以
用’junkie”, “newbie”, “noname” 等等.

5. 编辑/etc/ppp/pap-secrets文件并且为每个为拨号用户动态分配的IP地址添
加如下的一行. 当然假定你有足够的IP地址空间分配给你的拨号上网的用户:
         # Secrets for authentication using PAP
         # client   server          secret          IP addresses
         *          *               ""              10.0.0.3
         *          *               ""              10.0.0.4
   这表明: 对于有如上IP地址的从任何地方登录的任何用户不使用PAP口令加密
. 这是说如果我们用/etc/passwd的话就不需要用PAP口令加密. 如果你真的不太
固执的话, 你甚至可以为任何IP地址的用户提供服务.
         # Secrets for authentication using PAP
         # client   server          secret          IP addresses
         *          *               ""              *
6. 用以下命令, 确信/usr/sbin/pppd成为Setuid命令:
         # chmod u+s /usr/sbin/pppd
7. 编辑/etc/hosts文件定义IP地址给所有在步骤2.4中定义的PPP域名. 用步骤
2.5中的IP地址空间:
         10.0.0.3   ppp01   ppp01.mydomain.com
         10.0.0.4   ppp02   ppp02.mydomain.com
  注意: 用你的真实域名替换”mydomain.com”. 这里我假设你的域名是
myhost.mydomain.com.

步骤3: 从RedHat Linux 5.1 CD安装POP/IMAP(如果没有安装的话)
1. 如果RedHat Linux CD已经正确的mount(见步骤1), 用下面的命令安装POP和
IMAP:
      # rpm -Uvh /mnt/cdrom/RedHat/RPMS/imap*
2. 察看/etc/inetd.conf文件中”pop-2”,”pop-3”,和”imap”服务是否已经
去掉了注释. 如果没有将其注释去掉(删掉行前的”#”). 如果你只希望提供
pop3服务, 你可以只去掉”pop-3”的注释行, 如果pop2和pop3文件不在”
imap”的RPM文件中, 看看是否有”ipop*”的RPM文件.
3. 用下面的命令激活新的服务:
      # kill -HUP `cat /var/run/inetd.pid`

步骤4:  加入IP forwarding
1. 如果你使用的是RedHat5.1自带的核心, 应该已经支持IP forwarding. 如果
你使用的是自己编译的核心. 在编译时应打开”IP: forwarding/gatewaying”
选项. 据RFC文档,  启动时缺省时没有激活IP forwarding的. 在
/etc/sysconfig/network文件中添加如下一行来激活IP forwarding:

      FORWARD_IPV4=yes
2. 用下面的命令激活 IP forwarding或重启动:
     # echo "1" > /proc/net/ip_forward

步骤5: 测试服务器

1. 首先创建用户(如果没有的话). 你可以给它”/home/username”作为用户目
录, 如果你希望用户同时具有PPP和shell登录的权限的话, 可以用
“/bin/bash”作为用户的登录shell.. 如果只希望用户有PPP权限, 则要用”
/etc/ppp/ppplogin”作为用户的登录程序. 典型的/etc/passwd文件
如下:

         jodoe:tdgsHjBn/hkg.:509:509:John Doe:/home/jodoe:/bin/bash
         jadoe:t8j/MonJd9kxy:510:510:Jane
Doe:/home/jadoe:/etc/ppp/ppplogin
   在这个例子中, John Doe同时具有PPP和shell登录的权限, 而Jane Doe则只
有PPP的权限. 如果你奇怪John Doe为何具有PPP权限, 答案在”mgetty”的
configure文件中的/AutoPPP/设置, 它保证了任何用户如果以PPP方式拨号进来,
mgettty会自动执行/etc/ppp/ppplogin程序.
如果John Doe用已经配置好的用来进行PPP连接的Windows95拨号适配器进行拨号
, mgetty会给John Doe以PPP权限. 如果他用任何其它的类似于Hyper
Terminal(没有PPP协商功能)来拨号的话, 他将会获得登录shell. 而Jane Doe则
不同, 她在任何情况下只能获得PPP权限.
实际上, “mgetty” 允许你用同一个modem实现不同的协议. 例如, 你的UUCP客
户(如果你有的话) 可以用同一个modem作为PPP客户! 当然, 你必须要给你的
UUCP客户”/var/spool/uucppublic”作为用户目录以及”/usr/sbin/uucico”
作为登录程序.
2. 假设你有一个已经设置好的web服务器(Apache)(设置Apache是非常简单的事
情), 在一个用modem连接的远程PC上运行Web浏览器和POP客户(如Eudora). 如果
你用的是Windows95/98 PC, 设置你的拨号适配器的网关为拨号服务器的IP地址,
设置正确的DNS地址, 设置远程自动配置IP. 在POP?>突С绦蛑猩柚肧MTP和POP的
服务器地址.

    现在拨入服务器等待连接, 测试Web浏览器和POP邮件的收发. 如果不工作,
那一定是什么地方设置错误啦 :-)

参考文献:
1. PPP-HOWTO
2. NET-3-HOWTO
3. “Using Linux”, Bill Ball, published by Que (around US$30 –
highly recommended)
4. Mgetty document


                           Copyright ? 1999, Hassan O. Ali
                    Published in Issue 36 of Linux Gazette, January
1999



----------------------------------------------------------------------
----------

意见箱 | 设计/制作 | BUG报告 | 站长信箱

版权所有,请勿翻录



--
☆ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: AnonymousOrganizatio]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店