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

所属分类: 操作系统 / unix linux 阅读数: 79
收藏 0 赞 0 分享

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

更多精彩内容其他人还在看

samba共享目录权限问题

这篇文章主要介绍了samba共享目录权限问题,首先大家需要安装samba,然后在创建文件夹,具体创建方法和内容详情大家可以参考下本文
收藏 0 赞 0 分享

Linux中的info指令详解

info是一种文档格式,也是阅读此格式文档的阅读器;我们常用它来查看Linux命令的info文档。接下来通过本文给大家介绍Linux中的info指令,需要的朋友参考下吧
收藏 0 赞 0 分享

Linux上安装Mysql及简单的使用详解

这篇文章主要介绍了Linux上安装Mysql及简单的使用讲解,非常不错,具有参考借鉴价值,需要的朋友参考下
收藏 0 赞 0 分享

ubuntu16.04安装搜狗拼音的图文教程

在ubuntu16.04安装搜狗拼音,首先我们在官网上面下载最新的搜狗拼音输入法linux版本的,具体安装方法,本文给大家介绍的非常详细,需要的的朋友参考下
收藏 0 赞 0 分享

Linux忘记root密码怎么办

这篇文章主要介绍了Linux忘记root密码的解决办法,本文给大家介绍了三个系统的修改方法,具体内容详情大家通过本文学习吧
收藏 0 赞 0 分享

Ubuntu下安装配置Docker的教程详解

这篇文章主要介绍了Ubuntu下安装配置Docker的教程详解,本文图文并茂介绍的非常详细,需要的朋友参考下
收藏 0 赞 0 分享

Ubuntu更换硬盘的教程

这篇文章主要介绍了Ubuntu更换硬盘的教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Ubuntu 16.04源码编译安装PHP 5.6.29的教程

这篇文章主要介绍了Ubuntu 16.04源码编译安装PHP 5.6.29的教程,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
收藏 0 赞 0 分享

Ubuntu16.04安装MySQL5.7的教程

这篇文章主要介绍了Ubuntu16.04安装MySQL5.7的教程详解,非常不错,具有参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

Ubuntu 14.04 搭建 apt-get 服务器的教程

这篇文章主要介绍了Ubuntu 14.04 搭建 apt-get 服务器的教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多