关于局域网
各位好!本文介绍一种利用Linux服务器的两个串口构建拨号服务器的方法,远程用户可以通过拨号连接到局域网,方便地进行信息传递和资源共享。
笔者的配置环境是 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服务器地址,如没有可以不设.
Thanks a lot!!
yours
cicihe
页:
[1]