Linux 4G模块pppd拨号上网脚本解析

article/2025/9/20 2:21:51

在编写脚本之前,要先安装好ppp相关驱动,pppd

已知pppd位于 /usr/sbin , chat 位于 /usr/sbin , options 位于 /etc/ppp 。

要编写脚本,就要切换目录到 /etc/ppp/peers,若没有peers目录则自行创建。因为是在/etc目录之下,需要使用sudo或者进入root模式才能创建或者编辑。安装ppp时,pppd就已经被固定到系统路径 /etc/ppp 找options, 到 /etc/ppp/peers 找脚本文件。可到ppp源码 ppp-2.4.7/pppd 下找pathnames.h 修改,如图:

所有的配置流程都是:

chat脚本的配置,options的脚本配置,该脚本会引用chat脚本,pppd应用程序会调用options脚本,如果需要用户、密码登陆,就要配置chat-secret或者pap-secret,该脚本也会被options脚本引用。

1.首先拷贝pppd和chat到/usr/sbin目录;

2.然后编写三个脚本,option脚本要注意的是串口设备名称,不要复制网上的脚本,一定要使用可用的串口设备名称。

pppd [ options ]

pppd应用程序会调用options脚本文件,得益于pppd程序的一个选项参数 call name

call name 和下面rasppp脚本中的选项一样,都是pppd的参数

它的解释是这样的:从/etc/ppp/peer/ name文件中读取其他选项该文件可能包含特权选项,如noauth,即使pppd不是由root运行。name字符串不能以/开头,也不能包含…作为一个路径名组件。

我们通常把这些选项放在name文件中,然后我们只需要pppd call name就可以了

rasppp

# /etc/ppp/peers/rasppp# Usage: sudo pppd call rasppp# 连接调试时隐藏密码
hide-password# 该手机不需要身份验证
noauth# 用于呼叫控制脚本
connect '/usr/sbin/chat -s -v -f /etc/ppp/peers/rasppp-connect-chat'# 断开连接脚本
disconnect '/usr/sbin/chat -s -v -f /etc/ppp/peers/rasppp-disconnect-chat'# 调试信息,pppd将以可读的形式记录所有发送或接收的控制数据包的内容
debug# 4G模块对应的串口设备名称
/dev/ttyUSB4# 串口波特率
115200# 使用默认路由,IPCP协商成功后,在系统路由表中添加一条缺省路由,使用对等体作为网关。当PPP连接断开时,删除此表项。
defaultroute# 不使用默认IP:当没有指定本地IP地址时禁用默认行为,这是为了从主机名确定(如果可能)本地IP地址。
noipdefault# 不使用PPP压缩
novj
novjccomp
noccp#使用该选项,pppd将接受对等体对我们本地IP地址的想法,即使本地IP地址在选项中指定
ipcp-accept-local#通过该选项,pppd将接受对等体对其(远端)IP地址的想法,即使远端IP地址在选项中指定
ipcp-accept-remote#不要使用调制解调器控制线
local# 指定pppd应该为串行设备创建一个锁文件,以确保对该设备的独占访问,其他程序在发现这个文件后,就能得知相应的串口已经被使用。
lock#使用转储选项,pppd将打印所有已设置的选项值
dump# 保持pppd连接到终端。在pppd程序需要放到后台运行时,最好不要该选项
nodetach# 用户名 密码
user ctnet@mycdma.cn
password vnet.mobi
#电信需要用户名和密码,移动、联通拨号不需要,下文给出不同运营商的配置# 硬件流量控制
crtscts#将用于身份验证的远程系统的假定名称设置为name
remotename 3gppp#为ip-up、ip-pre-up和ip-down脚本提供额外参数。如果提供了这个选项,提供的字符串将作为这些脚本的第6个参数提供
ipparam 3gppp# 向对端请求最多2个DNS服务器地址
usepeerdns

rasppp-connect-chat

# 连续5秒,收到以下字符,则退出执行
# 进行超时控制,增加对特殊情况的处理,加入下面字段
TIMEOUT 5  
ABORT   "BUSY"
ABORT   "ERROR"
ABORT   "NO ANSWER"
ABORT   "NO CARRTER"
ABORT   "NO DIALTONE"#一个chat脚本都是由字符串对来组成的。前面的字符串都是期望获取的串,紧跟的是发送的字符串
# 例如 ""AT,不管收到什么字符串,先发出字符串AT
#      OK \rATZ,发送ATZ,希望收到的是OK
""AT
OK \rATZ# 建立连接,电信为空,下文给出各运营商配置
OK \rAT+CGDCONT=1,"IP",""# 拨号,#777是电信的拨号号码
OK-AT-OK ATDT#777
CONNECT \d\c

rasppp-disconnect-chat

ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "\NSending break to the modem\n"""\k"
#挂断电话
""+++ATH"
SAY "\nGood bye !\n"

3.执行pppd,成功获取ip。

sudo pppd call rasppp &

4.得到ip和dns后,关掉eth0,添加dns到/etc/resolv.conf,再用route命令添加默认网关为远端ip。

route add default gw xx.xx.xx.xx

5.此时就能ping通外网。

更多的设置可以去学习pppd和chat程序的选项参数~
Linux下man pppd、man chat就可以了
另外,在我的博客中也有两个程序的man手册的翻译

参考链接:https://blog.csdn.net/pjwshuai/article/details/124533452


http://chatgpt.dhexx.cn/article/imfTyVKs.shtml

相关文章

4G模块的使用

一、4G相关知识 4G是第四代通讯技术。能够传输高质量视频图像。4G的下载速度达100Mbps,比目前的拨号上网快2000倍,上传的速度也能达到20Mbps,并能够满足几乎所有用户对于无线服务的要求。此外,4G可以在DSL和有线电视调…

4G模块使用总结

4G模块使用总结 一、APN名称 2G: 移动的CMWAP 联通的UNIWAP 移动的CMNET 联通的UNINET 3G/4G: 移动CMNET 联通3GNET 电信CTNET 二、模块信息参数获取 AT/r //检测串口通信状态 ATE设置回显功能 ATE0:回显关闭 ATE1:回显开启 ATCGMI 返回模块厂家信息 ATCGMM 返回模块型…

4G传输模块的功能应用

4G传输模块主要用在物联网中的数据传输方面,这种模块支持主动采集、多种协议、GPRS定位以及各种网络协议,并且接口丰富,还可以实时查看程序参数配置,接下来,安传物联的编辑就来为大家介绍一下这种常用的模块吧 一、主动…

同时挂载二维码模块与4G模块时,导致4G模块连不上网都是USB设备)

一、BUG现象 今天公司设备出现一个问题,在RK3399上的USB上插着三个设备,分别是4G模块、二维码模块与身份证模块,在这三个设备同时插在设备上时再开机,会出现4G模块连不上网络的情况,无论怎么插拔4G模块都无法联网。而…

工业4G路由器 小体积4G LTE通信模块转有线转WiFi充电桩视频安防监控物联网路由器上网CPE

4G LTE代表第四代长期演进,这是一种用于通过蜂窝网络提供高速数据传输的无线通信技术。它是移动网络技术的最新标准,提供比其前身3G更快的数据传输速度。它广泛用于移动设备、物联网设备和机器对机器通信。 近年来,随着物联网技术的快速发展…

如何在飞腾平台使用4G模块拨号上网

经常看到在笔记本上可以通过插无线网卡进行wifi连接上网,鲜有使用4G模块进行上网的。但是在某些场景下,没有wifi信号,要如何解决上网问题呢?一般可以通过usb共享手机网络,或者外接4G网卡进行上网。通常在windows 平台上…

windows10使用4G模块上网

1、硬件配置 1)华为4G模块:HUAWEI ME909s-821 2)PCIE转USB开发板 3)联通4G手机SIM卡 4)装有windows10的电脑 2、软件环境 下载安装华为4G模块驱动:http://www.ddooo.com/softdown/73296.htm 3、环境搭建…

实现4G模块EC20在linux系统下的拨号上网

前言: 为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长。 1.实验目的: 实现4G模块EC20在linux系统下的拨号上网…

4G无线模块 电力通信模块

4G无线模块TD210,标准通讯接口及协议,电力规约、环保212、MODBUS-RTU协议等,通过串口的形式采集各种电力参数,电压,电流,有功功率,无功功率,有功电度,无功电度&#xff0…

thinkpad x270 加装内置4G模块实现移动上网的记录

手上有一个thinkpad x270,固态硬盘,运行流畅,看到新出产的x1、x13标配4G上网,不免心中有点馋,因此计划对x270加装4g模块。 通过观看拆机视频,发现这货与x250等机型一样,有一个m.2 key B 的接口…

Ubuntu下使用4g模块、4G模组上网,USB接口,图形界面

Ubuntu下4g上网配置。 一、接入网卡并查看。 msubuntu:~$ l /dev/ttyU* /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3 msubuntu:~$Interface Description: Interface Description DM InterfaceDiagnose portNMEA InterfaceFor GPS NMEA message outpu…

树莓派搭载EC200U 4G模块(USB网卡上网和PPP拨号上网)

文章目录 一、EC200U模块4G模块介绍二、USB转串口驱动设置(1)打开树莓派的串口(2)lsusb是否有EC200U模块(3)添加 VID 和 PID 信息 三、USB网卡驱动上网四、PPP协议(1)PPP协议介绍1.1…

配置 4G 模块为WAN口上网

配置 4G 模块为WAN口上网 将Linux板卡配置为交换机或路由器,提供类似路由器的上网功能。这里以4G网卡作为WAN进行上网。 一、使用网桥上网 1. 配置4G模块为默认网关 先配置好4G模块为默认路由网关。 这里需要先将4G模块配置为路由模式。4G模块路由模式和网卡模…

safeAreaLayoutGuide

https://www.jianshu.com/p/9d68a220983b Safe Area Layout Guide对应的SafeArea特性使用(DeploymentTarget9.0及后) 解决方案: 1. DeploymentTarget 9.0及后 2. DeploymentTarget 8.0

Safety-0

写在前面 好记性不如烂笔头,很多知识久了不用会渐渐生疏,故此以文章的形式进行记录。但干干的知识点又不符合本人的风格,故此产生了Safety,一个主要用于记录学习Mybatis和SpringBoot的项目。 Safety 是基于Mybatis实现的加解密插…

NetworkSecurity

一、CSRF 参考链接 1.定义 (Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF&#…

Web端安全测试--IBM Security AppScan Standard 工具使用手册

1、工具的使用原理 1.1工作原理 (1)通过探索了解整个web页面结果(2)通过分析,使用扫描规则库对修改的HTTP Request进行攻击尝试(3)分析 Response 来验证是否存在安全漏洞 1.2 AppScan的工作过…

【Safety】简介

XSS 涉及面试题:什么是 XSS 攻击?如何防范 XSS 攻击?什么是 CSP? XSS是什么 XSS 简单点来说,就是攻击者想尽一切办法将可执行的代码注入到网页中 XSS分类边界 XSS 可以分为多种类型,但是总体上认为分为两…

Electron Security Warning (Insecure Content-Security-Policy) 告警解决

Electron Security Warning (Insecure Content-Security-Policy) 告警解决 Electron的Console控制台出现如下告警时: 是安全策略的设置告警,意思是内容安全策略没有设置,或者使用了unsafe-eval的安全设置。如果想要不出现上述告警&#xff…

AppScan,web安全测试

操作手册 登录到站点 扫描过程中有提示登录的,就手动登录 待自动扫描结束后,再手动探索,在被测web页面上手动探索结束后点击确定记录你手动提交的请求,然后【继续仅测试】,等待测试结束 结果分析、生成报告 问题默认是…