Linux下配置Modem拨号

公司为了跟建设银行建立专线,首先用电话线拨号进行测试。 买回来一个外置的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里,就好看了。


Docker Lxc类型容器自启动以及自动执行命令
SNMP OID来监控网络设备流量
comments powered by Disqus