- 论坛徽章:
- 0
|
RedHatAS3up5下建立PPP拨入服务器
RedHat AS3UP5下建立PPP拨入服务器
说明:
本文档原文来自网络搜索(原文档环境为REDHAT 9),但调试完毕后,发现原文档问题较多,特完善.
转载:
作者:Trotter
邮箱:trotter@kekerde.net
出处:www.gbunix.com
转载请保持文档完整,注明出处。
前言:
随着网络技术的发展,modem已经很少使用,但是在一些对流量要求不高,传输距离较长的解决方案中,我们仍然会考虑采用电话网加modem方式解决数据传输问题。其次,这种方案资金投入较低,下面我就在RedHat AS3UP5下建立一个拨入服务器,使其他各个点使用modem采用拨号方式于拨入服务器进行数据交换进行阐述
环境:
服务器:
系统环境:REDHAT AS3up5
IP地址:192.168.0.198
DNS 主机名:hfmp;主DNS:192.168.0.16)
客户机:
系统环境:window 2000 server
IP地址:192.168.0.176
DNS:192.168.0.16
方式:通过公司内部网不同分机测试拨号
驱动Modem
其实PPP服务器配置很简单,大多数人配置拨入服务器不成功,都是因为Modem的驱动问题。如果使用外置式的硬猫,就不会有任何问题。我使用了好几块PCI软猫,都没有驱动起来。最后选择了一块TP-LINK TM-IP5600 PCI接口的Modem,用其自带的Linux下驱动,总算是把Modem驱动起来了,下面是我驱动Modem的步骤:
注意:由于安装Modem驱动编译时需要RedHat的内壳开发包,请在安装操作系统时安装上Development Tools和Kernel Development。
以root身份登陆操作系统,将自带的驱动光盘插入光驱后:
#> mount /dev/cdrom
#> mkdir /root/software
#> cp /mnt/cdrom/TM-IP5600/Smartlink/LINUX /root/software -r
#> cd /root/software/LINUX
#> ln -s /usr/src/linux-2.4.20-8/ /usr/src/linux
#> make clean
#> make KERNEL_INCLUDES=/usr/src/linux/include
#> make
#> make install-amr
此时,如果没有错误提示,Modem应该已经驱动起来了,你可以通过拨16300或169等方法测试Modem是否运行正常。
可通过主菜单->互联网->更多互联网应用程序->KPPP 调试modem
本人外置MODEM安装完成后,发现拨入16900成功后,打开网页浏览器仍无法查看网页,如:www.sina.com.
建立PPP拨入服务器
1.找到Modem连接到那个通讯口。如果你的确定,输入下面的命令:
# cat /proc/tty/driver/serial | grep baud
看看输入结果中前面的号码,然后在这个号码前加上ttyS就是Linux的通讯口了。假如输出结果有两个(因为一台机器只有两个工作的通讯口),那是为了你除了Modem外还使用了serial mouse的缘故。这种情况,选那个baud后面的数字较高的那个,中奖的机会会比较高。(在枣庄测试环境中,我选择了“0”作为modem的选择。可通过“file modem"查看)
2.拨入服务器需要mgetty的支持,检查mgetty软件包是否安装。若没有安装,请在Redhat AS3UP5的第二张光盘上找mgetty-1.1.30-3.i386.rpm进行安装。
检查软件包安装命令:
#rpm -q mgetty
安装mgetty软件包命令:
# rpm -ivh mgetty-1.1.30-3.i386.rpm
3.现在要做的是使Modem所接的那个串口可以接受外来连接。打开/etc/inittab,会看到这样的几行代码:
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
在这几行之后,加上如下一行代码:
7:2345:respawn:/sbin/mgetty ttyS0
它的意思是让mgetty的串口ttyS0上监听,等待连接,如果有连接请求,mgetty就向用户提示输入用户名和密码。
修改好之后,要使修改生效,可以运行如下代码:
# init q
(其他说明:按照上述修改完毕,保存后退出,执行"init q",但提示错误第55行有问题,将第55行屏蔽(第55行内容为:x:5:respawn:/etc/X11/prefdm -nodaemon)。然后执行init q,未出现提示。本人在调试modem成功后,再次回到该文件,将第55行屏蔽放开,执行init q,未再出现任何错误提示)
为了从远程登陆,还要有一个账号,用useradd命令加一个叫ppp的用户,将ppp登陆shell指定到/etc/ppp/ppplogin,并用passwd命令为其设定口令为"123456"。
# useradd ppp -s /etc/ppp/ppplogin
# passwd ppp //为ppp用户设置口令,请设置为"123456"
在此处,将ppp用户的shell设置成了/etc/ppp/ppplogin,当该用户登陆时,就执行改shell,从而启动pppd。
在/etc/ppp/下建立ppplogin文件,内容如下:(192.168.0.16为服务器DNS)
exec /usr/sbin/pppd debug passive asyncmap 0 proxyarp lock Modem crtscts ms-dns 192.168.0.16
修改ppplogin的权限:
# chmod +x /etc/ppp/ppplogin
由于pppd执行必须要root权限,所以还要将pppd设成以root权限执行:
chmod u+s /usr/sbin/pppd
修改 /etc/ppp/options,修改为:(192.168.0.198为服务器IP地址;192.168.0.4为拨入服务器后分配客户机IP地址;最后一行为服务器DNS)
lock
modem
crtscts
asyncmap 0
passive
proxyarp
192.168.0.198:192.168.0.4
netmask 255.255.255.0
ms-dns 192.168.0.16
修改/etc/ppp/pap-secrets,修改为:(增加一行,如蓝色显示)
# Secrets for authentication using PAP
# client server secret IP addresses
"ppp" * "123456" "192.168.0.4"
"ppp"是client登陆的用户名,"123456"是client登陆的密码(如果需要更改用户登陆密码,除使用passwd命令更改外,还需要更改此处),"192.168.0.4"是client登陆后获得的IP。
修改/etc/mgetty+sendfax/login.config,在60行,去掉下面行前的"#"号:
/AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login debug
4.设置已经全部完成,现在你就可以进行测试了。随便找一个有modem的机器,使用用户名ppp,密码123456拨服务器的电话号码,你应该可以听到猫响了,然后应该就是建立连接成功。 |
|