极限首页 业界焦点 软件工程师之路 系统工程师之路 网络工程师之路 软件下载 技术社区
 CVS使用速成配置
 CVS服务器建立和权限配置
 CVS使用手册
 cvs客户端大全
 Linux使用ADSL拨号上网
 打造基于Linux的VPN服务器
 iSCSI的成熟 几款iSCSI磁盘
 玩转Linux下的PPP连接
 软件路由器coyote linux安
 RedHat系统ADSL配置指南
 CVS使用速成配置
 CVS服务器建立和权限配置
 CVS使用手册
 cvs客户端大全
 Linux使用ADSL拨号上网
 打造基于Linux的VPN服务器
 iSCSI的成熟 几款iSCSI磁盘
 玩转Linux下的PPP连接
 软件路由器coyote linux安
 RedHat系统ADSL配置指南

Shell 中文手册

Python 2.3 中文手册

Python 2.4 中文手册

Mysql 4.x 中文手册

PHP 4.x 中文手册

Apache 2.x 中文手册
更多手册

站内搜索:
当前位置:首页>>网络工程师之路>>网络应用>>正文
Linux中实现局域网远程接入
时间:2005-06-19 作者:瑞星 来源:瑞星

  本文介绍一种利用Linux服务器的两个串口构建拨号服务器的方法,远程用户可以通过拨号连接到局域网,方便地进行信息传递和资源共享。

  笔者的配置环境是Red Hat 8.0 Linux操作系统,所需的硬件包括两个外置Modem(分别连接到COM1和COM2端口)和两条电话线。实现步骤如下:

  1. 初始化串口设备

  在/etc/inittab文件中加入如下两行,用来初始化ttyS0和ttyS1两个串口设备:

  S0:345:respawn:/sbin/mgetty -D -X 3 ttyS0

  S1:345:respawn:/sbin/mgetty -D -X 3 ttyS1

  然后,运行“/sbin/init q”命令使改动生效。

  2. 指定认证方式

  在/etc/PPP目录下创建文件ppplogin,内容如下:

  #!/bin/sh

  /usr/sbin/pppd auth -chap +pap login

  该文件指定用户登录时采用PAP认证。PAP和CHAP是PPP服务的两种身份验证协议。

  保存文件后,给文件设置执行的权限:

  #chmod a+x /etc/ppp/ppplogin

  然后,更改/etc/mgetty+sendfax/login.config文件,去掉“/AutoPPP/”一行前面的注释,并改为如下内容:

  /AutoPPP/ - - /etc/PPP/ppplogin

  3. 修改options文件

  修改/etc/PPP/Options文件为如下内容;

  detach

  Modem

  Lock

  crtscts

  asyncmap 0

  netmask 255.255.255.0

  proxyarp

  ms-dns 192.168.11.1

  “detach”选项非常重要。如果不指定这个选项,拨号程序就会进入后台,使得Shell脚本退出,随之而来的是串行线路被挂断,导致连接中止。“detach”防止了tty设备脱离PPPD的控制。

  “Modem”选项使得PPPD监视DTR引线,可以观察到对等点是否已掉线。

  “Lock”选项指定在串行设备上使用UUCP风格的锁定。

  “crtscts”选项用以打开硬件握手信号。

  “asyncmap 0”设置了异步字符映射,这个映射指定控制字符不能直接通过连接发送,需要先进行转义。

  “netmask 255.255.255.0”设定PPP网络接口的网络掩码。

  “proxyarp”选项打开了ARP代理功能。

  “ms-dns”2.168.11.1”指定了局域网内的DNS服务器地址,如没有可以不设。

4. 给拨入用户分配IP

  创建/etc/ppp/Options.ttyS0和/etc/ppp/

  options.ttyS1两个文件,内容如下:

  # Vi options.ttyS0

  192.168.11.3:192.168.11.242

  # Vi options.ttys1

  192.168.11.3:192.168.11.243

  其中,“192.168.11.3”是用作拨号服务器的那台Linux机器的IP地址,“192.168.

  11.242”和“192.168.11.243”是分别指定给COM1口和COM2口拨入用户的IP地址。

  5. 口令验证

  编辑文件/etc/PPP/pap-secrets,内容如下:

  * * "secret" 192.168.11.242

  * * "password" 192.168.11.243

  如上所示,每行代码包含四列,分别代表用户名、服务器地址、口令值和IP地址列表。“*”表示可以与任何内容进行匹配。

  用户拨入后,如果需要访问局域网内的其它服务器,就必须打开IP转发功能:

  echo 1> /proc/sys/net/ipv4/ip_forward

  要想在空闲一段时间后自动解除连接,需要在/etc/ppp/options中加入如下一行:

  idle 600

  上述代码中,“600”表示600秒,即10分钟。

  如果在相应目录下找不到/sbin/mgetty文件和/etc/mgetty+sendfax/login.config文件,则需要安装mgetty软件包。

推荐】【 】【关闭


关于极限 | 站内地图 | 意见反馈 | 广告服务 | 数据服务 | 联系我们
本站所刊登的文章,技术资料,软件均整理于网络资源或本站原创,转载请务必联系原作者或本站。
Copyright ? 2001-2004 UPLinux.com All Rights Reserved.
本站唯一联系信箱:
京ICP备05010519