问题标签 [pppd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
routing - PPP连接返回后无默认路由
我在一个 Arch Linux 机器上,通过 3G USB 记忆棒 (ttyUSB0) 使用工作 ETH0(固定 IP)和 PPP 连接。重启后,ETH0 工作正常。建立 PPP 连接也可以正常工作。但是在使用 'poff' 取消 PPP 连接后,我没有再次获得默认路由。我知道如何手动设置默认路由,但是由于 linux 机器将在各种网络中注册,我必须找到一个在使用 PPP 连接后自动获取默认路由的过程。
ETH0 在 /etc/conf.d/net-conf-eth0 中配置:
PPP是使用设置的
...以及以下配置文件:
/etc/ppp/ip-pre-up
/etc/ppp/options-mobile
PPP连接前的路由表:
PPP连接成功后的路由表:
我错过了什么?
linux - 重新连接后 USB 调制解调器多个 ttyACMx 更改
我正在通过 USB 将 Gemalto (Cinterion) 调制解调器连接到运行 BusyBox 和 mdev 的嵌入式 Linux (2.6.31)。
调制解调器创建 ttyACM [0-6],其中“0”用于 pppd。我时不时地(1小时,1天......)得到dis和re-connections。整个系统更加复杂——另一个嵌入式设备通过 RS232 接口连接到调制解调器,bla-bla-bla。
我的问题:
当发生断开连接和重新连接时,pppd 不够快而无法终止并释放 ttyACM0,因此会创建 ttyACM [1-7]。下次可能是 [0, 2-7] 或 [3-8],没有具体的算法。
我尝试更新一个 simlink(到 /dev/ttyMyModem),但同样的“没有具体算法”问题......所有接口都是相同的 - CDC-ACM(不是吗???)。
我目前的做法:
一个包装 pppd 的 bash 脚本,带有无限循环,等待 pppd 的退出(它停留在前台,在我的选项文件中为“nodetach”)。当 pppd 死机时,我删除驱动程序 (modprobe -r cdc_acm),删除所有节点 (rm /dev/ttyACM*),重新安装驱动程序 (modprobe cdc_acm) 并运行 pppd。我在需要的内容之间延迟了 1-2 秒。
该解决方案需要 2-4 次迭代才能重新连接(不知道为什么它在第一次不起作用),但看起来很稳定。
我的问题:
- 我在发明轮子吗?
- 这个解决方案稳定吗?适合生产吗?
- 我是否在 Google 搜索中漏掉了一个“流行词”?
请不要对我苛刻...
raspberry-pi - 如何在 pppd 运行时向 SIM900 发送 AT 命令
我有一个带有 SIM900 GSM 模块的树莓派。目前我使用 ttyUSB0 作为 pppd,但我也想在 pppd 处于活动状态时向 SIM900 发送 AT 命令(发送/接收短信)。我创建了多个虚拟串行端口(如 gsmtty1、gsmtty2 等),但这些端口不适用于 screen/minicom。
linux - 无法建立ppp连接
我想将嵌入式 linux 板连接到 Internet。在野猪上我有一个 cinterion 3G 调制解调器 (PH8)。
为此,我将 pppd 与以下 ph8 peers 文件一起使用:
我使用以下聊天脚本“ph8-connect”文件:
当我调用命令时:
我的 /var/log/messages 日志文件返回:
运行 ifconfig 时看不到 ppp0 行。如果我手动运行 ifup ppp0,会出现该行但没有写入 IP。我认为它错过了一些小东西,但我无法找到它。
我不知道这些产生超时的 IPCP ConfReq 是什么。
谢谢你的帮助
linux - PPPd over SOCAT 使用 INTERFACE 选项
我的目标是在 socat 上使用 pppd。我有两个带有 eth0 的 Ubuntu 盒子(物理上)相互连接。我可以 ping 两个 IP 地址。我在每个 Ubuntu 机器上执行以下操作。
- 创建一个伪串行设备并将其链接到我的网络接口“eth0”。
socat PTY,link=/dev/ttyp10 接口:eth0 - 在这个伪串行设备上使用 pppd。
设备 A:
pppd noauth /dev/ttyp10 10.10.10.10:20.20.20.20
设备 B:
pppd noauth /dev/ttyp10 20.20.20.20:10.10.10.10
我看到我的 ppp0 接口在短时间内创建,但我无法 ping 两个 IP 地址(10.10.10.10 或 20.20.20.20)。我知道我的解决方案不完整,因为我需要指定我的 pppd 数据包必须如何从我的 eth0 接口路由但不知道该怎么做(我在 eth0 接口上使用了 tcpdump 并找到了一些数据)。
我通过将 socat 绑定到 TCP 服务器/客户端尝试了相同的实验,它成功了。
设备 A:
1. socat pty,link=/dev/ttyp10,raw,echo=0 TCP4-LISTEN:7001,reuseaddr &
2. pppd noauth /dev/ttyp10 10.10.10.10:20.20.20.20
设备 B:
1. socat pty,link=/dev/ttyp10,raw,echo=0,waitslave TCP4:20.1.1.2:7001 &
2. pppd noauth /dev/ttyp10 20.20.20.20:10.10.10.10
注意:20.1.1.2是设备 A 的“eth0”IP 地址。有了这个,我的 ppp0 接口已启动,我可以 ping 两个 IP 地址(10.10.10.10 和 20.20.20.20)。
当我有一个工作的 eth0 接口时,为什么我需要使用伪串行设备是一个不同的问题,我们不讨论这个问题。
gentoo - wvdial、pppd 和默认路由指标
我在 wvdial.conf 中有这个:
(PIN 禁用)这适用于 4G USB 加密狗华为 E3131 @ T-mobile.pl。
现在我有两个问题:
1 如何将此配置转换为 /etc/conf.d/net 以作为 net.ppp1 (Gentoo) 连接(我会在没有 wvdial 的情况下连接)
2 连接后,我得到了度量为 0 的默认路由,如何将度量更改为 100?(我有兴趣为 wvdial 和 pppd 方式设置指标)
authentication - 用于 CHAP 身份验证的 pppd 参数
我正在使用嵌入式设备和 PC 之间的串行端口尝试 pppd。
我已经用用户名和密码设置了 /etc/ppp/chap-secrets 文件
当我运行命令 pppd auth 时,我得到以下输出 pppd: 远程系统需要对自己进行身份验证 pppd:但我找不到任何合适的秘密(密码)供它使用。
用于使用 CHAP 身份验证设置连接的命令行参数是什么?
谢谢你的帮助,迪诺
linux - Linux 上的 GPRS 调制解调器和 PPP 问题
我有一个通过 USB 连接到 Linux 机器的 MultiTech MTD-H5-2.0 GPRS 蜂窝调制解调器。我可以看到设备并直接与它通信而没有问题。我正在尝试设置 PPP,以便我可以通过此设备访问互联网。我遇到了一些麻烦。当 PPP 启动时,它为本地和远程端分配相同的 IP。我原以为他们会有所不同。有没有人有使用蜂窝调制解调器建立 PPP 连接的经验?您可以在下面看到我的 PPP 脚本和 AT 命令。
暂时忘记 PPP,只使用一些 AT 命令,我可以看到调制解调器能够访问互联网。让我认为这只是我的 PPP 设置的一个问题。
感谢您的任何建议。
nix - 我们如何从 NixOS 配置中引用 etc 包?
我想获得一条通往 nixos/etc
位置的路径(/run/current-system/etc
或中的任何一个/nix/store/hashhere-etc-1.0
)。我使用这个路径来配置pppd connect
脚本,下面的一些,
我试图写${pkgs.etc}
甚至导致错误。${system.build.etc}
${environment.etc}
目录结构其实是相对的,但我认为使用绝对路径更安全。
process - pppd - 当设置为后台进程时由 ctrl+c 终止
我运行以下以&符号终止的命令,以作为后台进程运行:
但后来当我想通过使用 ctrl+c 终止 ping 命令时,pppd 进程也通过执行 ip-down 脚本终止。为什么它会这样?