Linux下配置Modem拨号
source link: https://bajie.dev/posts/20240108-modem_dial/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
公司为了跟建设银行建立专线,首先用电话线拨号进行测试。 买回来一个外置的Modem,接在服务器的com1口上,先用电话测试一下,OK没问题,那就继续配modem拨号
Linux下配置Modem拨号有两种方式,传统的pppd方式和简单的wvdial方式。
一、wvdial配置
wvdial的配置方法超级简单,
执行命令:wvdialconf /etc/wvdial.conf
它会自动测出系统的Modem,稍微修改一下,加几个参数:
vi /etc/wvdial.conf
[Dialer Defaults]
Modem = /dev/ttyS0
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Auto Reconnect = on
Modem Type = Analog Modem
Phone =0,28929191
Username = ttt
Password = qqq
这就弄好了,执行wvdail &就可以拨号了,结束也很简单,kill -9 杀掉wvdial和ppd进程即可。
注意:wvdial 拨通后系统多了一块网卡ppp0,路由信息都未修改,为了能到达建行的服务器,需要编辑/etc/ppp/ip-up文件,加一句:
route 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)方式。
vi /etc/ppp/options
lock
crtscts
defaultroute
noauth
②清理一下老的连接:
killall pppd
rm /var/lock/LCK..ttyS0
③找出认证的方式:
/usr/sbin/pppd /dev/ttyS0 115200 debug connect
"/usr/sbin/chat -v '' 'AT&F0' OK
ATD0,28929191 CONNECT 'dc' "
less /var/log/messages
如果看见什么login username之流的那就是明文认证,如果类似下面的,看见了,那就是pap(chap)方式。
pppd 2.4.2 started by root, uid 0
Removed stale lock on ttyS0 (pid 3561)
send (AT^M)
expect (OK)
AT^M^M
OK
-- got it
send (ATD0,28929191^M)
expect (CONNECT)
^M
ATD0,28929191^M^M
CONNECT
-- got it
send (d)
Serial connection established.
using channel 2
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS0
sent [LCP ConfReq id=0x1 <mru 552> <asyncmap 0x0> <magic 0x3947d7a8> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <mru 1500> <asyncmap 0x0> <auth chap MD5> <magic 0xebe7666>]
sent [LCP ConfAck id=0x1 <mru 1500> <asyncmap 0x0> <auth chap MD5> <magic 0xebe7666>]
sent [LCP ConfReq id=0x1 <mru 552> <asyncmap 0x0> <magic 0x3947d7a8> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <mru 552> <asyncmap 0x0> <magic 0x3947d7a8> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x2 <mru 1500> <asyncmap 0x0> <auth chap MD5> <magic 0x125e3a73>]
sent [LCP ConfAck id=0x2 <mru 1500> <asyncmap 0x0> <auth chap MD5> <magic 0x125e3a73>]
如果是明文认证:
/usr/sbin/pppd /dev/ttyS0 115200 debug connect
"/usr/sbin/chat -v '' ATDT0,28929191 CONNECT
'' ogin: ttt assword: qqq"
如果是pap(chap)认证:
/usr/sbin/pppd /dev/ttyS0 115200 debug
user ttt connect "/usr/sbin/chat -v '' ATDT0,28929191 CONNECT 'dc' "
看出区别了吧,pap(chap)跟明文的区别就在于多了一个 user ttt 的参数。 这就是pppd拨号的详细过程了,断掉拨号连接就用killall pppd即可。 大家可以把这么长的一行命令写到sh里,就好看了。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK