做PPP server的一些问答
我想把我的 Slackware Linux 设置成 server,使别人能通过 modem 拨号联上我的 Linux 主机,请问应怎么做?特别是如何使我的 modem 能应答拨号?
1,在/etc/inittab中加入这行:
d1:345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1
(假设你的modem在第二串口上)
注意,redhat所带的mingetty不能用于这个目的,你可以从freesoft.cei.gov.cn
下载mgetty来用。
2,如果你的modem有开关可以设置就将其设为应答方式,如果没有开关
就查它的说明书,找出用什么AT命令进行设置(我手头没有modem说明书)
将这个设置命令放在/etc/rc.d/rc.local中就行了。
min
> 我用ppp已经可以接通我的ISP,所以想用PPPD做个拨号服务,但是翻了一遍ppp-howto中文,西文的都看了,还是没有调试通过。
>
> 1) linux a2z 这本书上写得过于简单,
> 大意是新建一个用户。 把他的shell 换成
> exec pppd 38400 modem asyncmap 0 proxyarp 194.61.21.2:0.0.0.0
> 这样我疑惑如果是telnet 近来, 的确可以看见
> y}#.!}!}!} }8}!}$}%U}\"}&} } } } }%}& ...}\}\"}(}\"} .~y}
> 这种字样。
> 但是如果拨号近来,到验证 用户和密码的时候就没有下文了.
> 我的/etc/ppp/pap-secret是设置了的。
本来就十分简单嘛.
看来你用的是瘟9x作客户, 那么有没有在拨号后打开终端窗口呢?
按理论上说, 你可以改改/etc/mgetty+sendfax/login.config , 把/AutoPPP/前
面的#去掉, 这样就不需要打开终端窗口了
/*-----
I think you should re-compile mgetty to support AutoPPP.
Installmgetty-1_1_9-3_src.rpm
cd /usr/src/redhat/SPECS
rpm -bp mgetty.SPECS
cd /usr/src/redhat/BUILD/mgetty/
edit Makefile (uncomment AutoPPP)
rpm -bb /usr/src/redhat/SPECS/mgetty.SPECS
rpm -UvH /usr/src/redhat/RPMS/mgetty.rpm
If you use AutoPPP, you should specify PAP or CHAP in login.config
-------*/
我的/etc/passwd里这么写的:
ppp:x:507:508:PPP USER:/home/ppp:/etc/ppp/ppplogin
/etc/ppp/ppplogin 这么写:
#!/bin/sh
/usr/sbin/pppd -detach modem crtscts lock proxyarp lock
~ppp/.ppprc 这么写:
login
lock
idle 300
ms-wins 192.168.1.100
ms-dns 192.168.1.100
/etc/ppp/options.modem 这么写
192.168.1.100:192.168.1.201
/etc/ppp/pap-secrets 这么写
# Secrets for authentication using PAP
# client server secret IP addresses
username1 * userpass1
username2 * userpass2
这样, 远程用户拨号时, 在95拔号窗口里写他们自已在局域网里的用户名和口令,
拨号上来, 在终端窗口里用ppp和相应的口令登录, 出现垃圾后, F7就可以了, 得
到的IP是192.168.1.201, DNS和WINS也同时设置成了192.168.1.100 , 而且出现
了NT登录脚本, 说明他们上了NT/Samba网, 以后就和在办公室一样了.
> 2) 感觉上调试路由器的时候,电话过来, 还有line up 这样的反映。
> 在linux 我感觉不到。好象他没有感知 /dev/ttyS0上的变化..
> 我想象拨号服务,应该是linux 感知电话进来。然后给/dev/ttyS0 发出相应的
> 控制。不知道对不对?
>
你有没有在/etc/inittab 里加这句:
d1:2345:respawn:/sbin/mgetty modem
要是不加的话, 当然不会理会电话铃了. 在这之前, 要
cd /dev
rm modem
ln ttyS0 modem ( 注意, 是硬连接, 不是符号连接)
以后所有有关MODEM的操作, 使用的设备都必须是/dev/modem ( 或者/dev/ttyS0,
反正大家都得一样, 不然会有冲突)
> My /etc/inittab is
> S1:2345:respawn:/sbin/vgetty ttyS1
>
> a voice machine. it\s pretty cool> Mgetty, unlike uugetty, or psgetty, play
> a trick on modem port. The earlier version lock the modem, and disable you
> to dial-out, and they use ATS=x, to tell modem to wake up in x rings. Mgetty
> simply listen the modem port, but if you want to dial out, he will remove
> his lock file and go away.
vgetty 也可以, 只是声音不太好听
关于不能拨号出去的问题很好办, 只要把你chat脚本里的ATZ换成 \\d\\d\\d+++\\d\\d\\dATZ 就
可以了
> I use vgetty, if somebody dial-in, he will hear a short greeting message,
> after that, if data tone is heard,
> the data connection will be made, if no other tone is heard, he will issue a
> beep and start to record. If a fax is calling, the nortorious T30 tone will
> be detected in the very begining. So everything is under control.
> Have Fun!
>
> --
> .......................................
> Chi Cheng, [email protected] Tel:65302080
> http://hug.yeah.net ICQ: 20906268
-------------------------------------------------------------------------------
> > > > > 我的modem硬件已设好,现在想建一个PPP的服务器
> > > > > 不知如何是好,是不是该设一些modem 初始化参数呢?
> > > > > 请各位前辈多多指教
> > > > 详细步骤请阅读PPP-HOWTO。 需要指出的是, PPP 本身并不区分客户端和
> > > > 服务器端。只是在介绍时为了方便, 才说这两个术语。
> > > > 根据我的体会,在做PPP服务器时的最好办法是安装
> > > > CYCLADES公司的MULTIPORT BOARD,
> > > > 他们提供的8端口的MULTIPORT板子的确与LINUX 一起工作得非常好。
> > > > 这一点国内的LINUXER们似乎知道的还不多。
> > > >
> > > > 致意,
> > > > FREDERIC
> > > 非常感谢您的帮助,但是我现在遇到的问题是,我从一个client 拨入时,
> > > 连在server 端的modem 不能正确响应,我不知这是否跟ppp设置有关,
> > > 我现在能确认我的 multiport board 设置是对的
> > > 希望继续予以指教,谢谢
> > 好了,现在的问题已经比较明确。 首先请您从服务器端向外拨号,
> > 看看MODEM有无反应? 如果没有,则说明您没有安装MODEM的驱动程序,
> > (在SUSE下,回到YAST,选择串行COM端口即可)。 如果您能向外拨号,
> > 而且正常工作,则说明在UUGETTY或者MGETTY的配置上有问题,请仔细检查您的
> > UUGETTY/MGETTY配置程序吧,问题一定在那里。
> 您能否告诉我怎样安装modem的驱动,
> 及怎样配置uugetty,我的机器装的是Linux 2.0.29,只有cyclade multiport board
> 的驱动,是否用它就行.多多麻烦.
关于你的第一个问题:
从功能上看,MGETTY比UUGETTY先进(MGETTY具有传真功能), 所以希望你
采用MGETTY。 请先在/DEV/下查看一下,是否安装MGEETY?
MODEM的安装方法在各个LINUX版本上是一致的。在LINUX下,MODEM的设备文件
名称一般为/DEV/TTYS0,或者TTYS1, TTYS2, TTYS3,它们分别对应于DOS下的
COM1至COM4。 伪终端分主从,主伪终端为/DEV/PTYP0等,从伪终端为/DEV/TTYP0等。
我记得网上有站点专门介绍MGETTY的设置,我找到后再告诉你。 现在你可以
MAN MGETTY 先阅读一下联机帮助文档。
尝试以下命令:
# tty
看看输出的TTY文件是什么。
以下命令可以建立拨出拨入MODEM需要的文件:
# mknod /dev/ttyd0 c 12 1
# mknod /dev/cua0 c 12 129
关于你的第二个问题:
CYCLADES的MULTIPORT通信线路板在销售时附带有安装程序,它会自动地
检测LINUX的设备配置文件,然后为你在LINUX内核中安装一切必要的驱动程序。
您好,
非常感谢您,
我的机器上好象没有安装mgetty,(没有mgetty命令)
连modem 的 设备文件是/dev/ttyS19-ttyS23
tty 命令的输出是/dev/tty1
mknod /dev/ttyS19 c 12 1 ,告知文件已存在
希望再次得到您的帮助,多谢
pls check the if you have /mgetty+sendfax/ directory under /etc, and if
you have the following files under /mgetty+sendfax/
- dialin.config
- mgetty.config
- login.config
if you have, pls send me your files (you can remove the secret password data).
Also I have found the site about the mgetty for you, pls read the following info.
Best,
Frederic
http://www.leo.org/~doering/mgetty/FAQ
发布人:netbull 来自:东方Linux