搭建pstn拨号
一 硬件环境搭建
1. 将设备上的电话线接口使用电话线和电话交换机连接,电话交换机配置相应的电话号码。
二 软件环境搭建
软件环境分为,拨号机,应答机
1. 拨号机搭建。
$ sudo apt update
$ sudo apt install wvdial mgetty ppp
修改文件:
/etc/mgetty.conf
15行:debug 5
18行:将fax-id注释
添加
$ port ttyUSB0
$ data-only y
$ toggle-drt n
将speed 38400改成speed 57600
增加文件/etc/systemd/system/mgetty.service
[Unit]
Description = Traditional Modem
Documentation = man:mgetty(8)
Requires = systemd-udev-settles.service
After = systemd-udev-settle.service
[Service]
Type=simple
ExecStart=/sbin/mgetty -x0 -s 57600 /dev/ttyUSB2
Restart=always
PIDFile=/var/run/mgetty.pid.ttyUSB2
[Install]
WantedBy = multi-user.target
执行:
$ systemd ebale mgetty.service
$ service mgetty start
2. 应答机搭建
$ sudo apt install mgetty ppp
修改文件:
/etc/mgetty.conf
15行:debug 5
18行:将fax-id注释
添加
$ port ttyUSB0
$ data-only y
$ toggle-drt n
将speed 38400改成speed 57600
增加文件/etc/systemd/system/mgetty.service
[Unit]
Description = Traditional Modem
Documentation = man:mgetty(8)
Requires = systemd-udev-settles.service
After = systemd-udev-settle.service
[Service]
Type=simple
ExecStart=/sbin/mgetty -x0 -s 57600 /dev/ttyUSB2
Restart=always
PIDFile=/var/run/mgetty.pid.ttyUSB2
[Install]
WantedBy = multi-user.target
执行:
$ systemd ebale mgetty.service
$ service mgetty start
增加用户:dial 密码:dial
编辑/etc/group:
$ dialout:x:20:ucr,dial
$ dip:x:30:ucr,dial
$ user:x:100:ucr,dial
dial:x:1000:
编辑/etc/shadow
增加:dial:
6
6
6iunB2UJN$BTwmwK4RN2lZU0nHCKmVdhdbKsHldvHDFr1v6H2a9MYyFnlzXovtsO9rUI17cN607pNflax25nbw0cVAjDN/F/:18354:0:99999:7:::
编辑/etc/passwd
增加dial:x:1001:100::/home/dial:/usr/sbin/pppd
增加文件/etc/ppp/options.ttyUSB2:
#local
#lock
#nocrtscts
#192.168.32.1:192.168.32.100
#netmask 255.255.255.0
#debug
#noauth
三 测试
1. 将拨号端和应答端主机重启
2. 拨号端:
修改:/etc/wvdial.conf
修改 Modem Type = USB Modem
增加:
[Dialer test]
Buad = 57600
Password = dial
Username = dial
Phone = 821 #分机号
3. 修改环境变量
在拨号机和应答机上都修改
export LANG="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
4. 拨号
拨号端执行:
$ wvdial test
拨号成功之后,ifconfig 可以看到ppp0