公司为了跟建设银行建立专线,首先用电话线拨号进行测试。 买回来一个外置的Modem,接在服务器的com1口上,先用电话测试一下,OK没问题,那就继续配modem拨号
Linux下配置Modem拨号有两种方式,传统的pppd方式和简单的wvdial方式。
一、wvdial配置
wvdial的配置方法超级简单,
执行命令:wvdialconf /etc/wvdial.conf
它会自动测出系统的Modem,稍微修改一下,加几个参数:
1vi /etc/wvdial.conf
2
3[Dialer Defaults]
4Modem = /dev/ttyS0
5Baud = 115200
6Init1 = ATZ
7Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
8ISDN = 0
9Auto Reconnect = on
10Modem Type = Analog Modem
11Phone =0,28929191
12Username = ttt
13Password = qqq
这就弄好了,执行wvdail &就可以拨号了,结束也很简单,kill -9 杀掉wvdial和ppd进程即可。
注意:wvdial 拨通后系统多了一块网卡ppp0,路由信息都未修改,为了能到达建行的服务器,需要编辑/etc/ppp/ip-up文件,加一句:
1route add -host 12.0.98.150 gw 12.0.98.236
然后重拨ping一下,ping 12.0.98.150,能ping通就说明ok了。
二、pppd配置
wvdial隐藏了很多信息,我们下面用pppd来看看真实的拨号过程吧:
其实modem拨号认证的方式有两种,一种是显示明文的login:(username:)方式,另一种是显示乱码的pap(chap)方式。
①首先:
1vi /etc/ppp/options
2lock
3crtscts
4defaultroute
5noauth
②清理一下老的连接:
1killall pppd
2rm /var/lock/LCK..ttyS0
③找出认证的方式:
1/usr/sbin/pppd /dev/ttyS0 115200 debug connect
2 "/usr/sbin/chat -v '' 'AT&F0' OK
3ATD0,28929191 CONNECT 'dc' "
less /var/log/messages
如果看见什么login username之流的那就是明文认证,如果类似下面的,看见了,那就是pap(chap)方式。
1pppd 2.4.2 started by root, uid 0
2Removed stale lock on ttyS0 (pid 3561)
3send (AT^M)
4expect (OK)
5AT^M^M
6OK
7-- got it
8send (ATD0,28929191^M)
9expect (CONNECT)
10^M
11ATD0,28929191^M^M
12CONNECT
13-- got it
14send (d)
15Serial connection established.
16using channel 2
17Using interface ppp0
18Connect: ppp0 <--> /dev/ttyS0
19sent [LCP ConfReq id=0x1 <mru 552> <asyncmap 0x0> <magic 0x3947d7a8> <pcomp> <accomp>]
20rcvd [LCP ConfReq id=0x1 <mru 1500> <asyncmap 0x0> <auth chap MD5> <magic 0xebe7666>]
21sent [LCP ConfAck id=0x1 <mru 1500> <asyncmap 0x0> <auth chap MD5> <magic 0xebe7666>]
22sent [LCP ConfReq id=0x1 <mru 552> <asyncmap 0x0> <magic 0x3947d7a8> <pcomp> <accomp>]
23sent [LCP ConfReq id=0x1 <mru 552> <asyncmap 0x0> <magic 0x3947d7a8> <pcomp> <accomp>]
24rcvd [LCP ConfReq id=0x2 <mru 1500> <asyncmap 0x0> <auth chap MD5> <magic 0x125e3a73>]
25sent [LCP ConfAck id=0x2 <mru 1500> <asyncmap 0x0> <auth chap MD5> <magic 0x125e3a73>]
如果是明文认证:
1/usr/sbin/pppd /dev/ttyS0 115200 debug connect
2"/usr/sbin/chat -v '' ATDT0,28929191 CONNECT
3'' ogin: ttt assword: qqq"
如果是pap(chap)认证:
1/usr/sbin/pppd /dev/ttyS0 115200 debug
2user ttt connect "/usr/sbin/chat -v '' ATDT0,28929191 CONNECT 'dc' "
看出区别了吧,pap(chap)跟明文的区别就在于多了一个 user ttt 的参数。 这就是pppd拨号的详细过程了,断掉拨号连接就用killall pppd即可。 大家可以把这么长的一行命令写到sh里,就好看了。