您现在的位置: 无忧电子商务网 >> 信息学院 >> 精彩专区 >> 组网玩网 >> 正文

独辟蹊径--实现Linux下的局域网远程接入

作者:佚名    信息学院来源:天新    点击数:    更新时间:2006-4-14 我要参与讨论

 
    本文介绍一种利用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软件包。

在google里搜索更多独辟蹊径--实现Linux下的局域网远程接入

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明