发表于:2006-11-10 14:38:00
4楼
/etc/ppp/dialup
/usr/sbin/pppd /dev/ttyS0 57600 modem nocrtscts lock connect /etc/ppp/chat-connect user "" debug defaultroute
这个命令的作用是:(可以使用man pppd查看帮助)
运行/usr/sbin/pppd程序,给它传入命令行参数的意义是:
/dev/ttyS0 : 拨号所用的MODEM所连接的串口(ttyS0是串口1,ttyS1是串口2...)
57600 : MODEM的通信速率(57600 BPS)
modem : 用MODEM进行拨号。
nocrtscts : 无流控
lock : 锁定这个设备
connect /etc/ppp/chat-connect :使用/etc/ppp/chat-connect进行拨号前运行程序
user "" : 用户名
debug :输出调试信息
defaultroute : 此拨号连接作为默认路由
/etc/ppp/chat-connect
chat -v -f /etc/ppp/chat-dialscript
这个文件中调用chat命令,并且指定/etc/ppp/chat-dialscript脚本来进行拨号。
chat命令的帮助请参考man -a chat查看。
/etc/ppp/chat-dialscript
ABORT BUSY
ABORT ERROR
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT RING
<--------如果遇到MODEM回应"BUSY","ERROR","NO CARRIER","NO DIALTONE"则立即报错并退出拨号。
"" AT <--------外送"AT"命令。
"OK" "AT+CGDCONT=1,\042ip\042,\042cmnet\042" <---当判到“OK"回应时,外送AT+CGDCONT=1,"ip","cmnet" 命令。
"OK" "ATDT*99***1#" <---当判到“OK"回应时,外送ATDT*99***1# 命令。
"CONNECT" <---当判到“CONNECT"回应时,拨号结束,程序退出。
/etc/ppp/iflineconnected
if [ `ifconfig|grep ppp|wc -l` -gt 0 ] <--运行ifconfig,如果在其中找到有"ppp"字符串的行时,表明ppp接口已经连上并且已经有了ppp设备.
then
#echo "ppp already start"
echo 1 > /var/iflineconnected
exit
fi
echo 0 > /var/iflineconnected
/etc/ppp/pppstop
#ppp stop scripts --------------------
pid=`ps -aux|grep /usr/sbin/pppd |grep -v grep|awk '{printf $2}'` <--运行ps -aux,查看进程是否已经运行,如果已经运行则通过grep和awk配合处理得到其进程号.
if [ -z $pid ]
then
echo "ppp not start."
else
kill $pid <--给pppd进程号发送KILL信号,令其中止,并挂断连接.
fi