openwrt路由器-timeout while waiting for PADS.

2023-11-15

最近使用openwrt路由器进行PPPoE拨号的时候,经常出现“远程服务器无响应“的错误,log打印日志如下:

pppoe: Timeout waiting for PADS packets
Unable to complete PPPoE Discovery

我用openwrt配合闪讯的拨号插件来绕过移动的限制,起初我以为是移动的PPPoE服务器更新了算法导致我的路由器算出的账号与它的不匹配造成“服务器无响应“,然而事实是当路由器放置一段时间后它又会莫名其妙的连接上了,令人摸不着头脑。

一次偶然的尝试发现使用 macvlan驱动 可以“解决“这个问题,当时使用 syndial-luci-app 来配置macvlan(因为我懒,所以找了个现成的图形化插件),然而syndial的“掉线检测“和“掉线重连“功能又造成了一个问题:
接口莫名奇妙的掉线!! 查看日志发现接口会莫名收到“SIGN 15“,然后肯定是死翘翘了啊,寻思了半天发现是syndial的同步拨号检测掉线间隔时间太短导致网络连接不顺畅的时候误判为掉线!延长了掉线检测后以为问题修复了,然而在一次路由器断电重启之后, 又开始了邪恶的“服务器无响应“问题。

考虑到macvlan驱动建立的虚拟网卡与eth0.2的mac是不同的, 而PPPoE
回话过程是基于mac地址进行通讯的,所以怀疑问题出在mac地址上,打开百度搜索,果然没有啥有用的东西。打开bing ,发现openwrt论坛由大量同类问题的反馈!几乎我看到的所有的帖子都有提到这么一种解决办法:“修改接口的mac地址“, 例如 。最后发现了这么一篇文章:Probable FIX for “ADSL Tunnel Collapse

1) If you try to create too many PPPoE sessions within a certain time period with an (or in Australia’s case - Telstra’s) ADSL Access Concentrator, it would appear to block your ethernet MAC address. This is probably to prevent (ok, I’ll abuse the term) “hackers” from launching Denial Of Service attacks on the Access Concentrator. This is a reasonable tactic, this is the Internet remember.

PPPoE服务器在短时间收到同一设备多次连接请求后会启动一定的“防御措施“,例如封锁该设备并停止对该设备的响应。
这解释已经可是说是非常的合理好嘛!这正好也解释了为什么
一段时间后路由器又能自动拨号上网了

好了,就是喜欢这种有因有果的感觉,接下来是解决方案了:

#1.停止接口(我的接口名称是vwan1)
ifdown vwan1
#2.修改mac(我的网卡设备是macvlan1)
ifconfig macvlan1 hw ether $( echo "$(hexdump -n3 -e'/3 "00:60:2F" 3/1 ":%02X"' /dev/random)")
#3.重启接口
ifup vwan1

生成随机mac地址的方法可以参考这里

当然总不能每次开机都要进入SSH然后粘贴命令吧??!!
添加hotplug的iface脚本:

#!/bin/sh
if [$ACTION == "ifdown"]; then
    ifconfig $(uci get network.$INTERFACE.ifname) hw ether $( echo "$(hexdump -n3 -e'/3 "00:60:2F" 3/1 ":%02X"' /dev/random)")
    #echo "$ACTION on $INTERFACE at $DEVICE ifname=$(uci get network.$INTERFACE.ifname) >> /tmp/iface_event.log
fi

最后希望卖”破解路由”的人能有点良心。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openwrt路由器-timeout while waiting for PADS. 的相关文章

随机推荐

  • python极限学习机ELM做一个简单的分类

    最近事太多 只能下班后挤时间学习 缓慢更新 华丽的分割线 极限学习机是我们实验室的元老了 是一种单隐层前馈神经网络 SLFN 学习算法 这种算法只需要设置网络的隐层节点个数 执行过程中不需要调整网络的输入权值以及隐元的偏置 并且产生唯一的最
  • 哈希表查找——成功和不成功时的平均查找长度

    哈希表查找 成功和不成功时的平均查找长度 以下求解过程是按照 计算机统考的计算方法 不同的老师 教材在 处理冲突 上可能会有不同的方法 所以最主要的是掌握原理即可 对于考研的朋友最好掌握统考真题的解题方法 题目 例子 2010年全国硕士研究
  • 13.Python列索引值

    1 基础Python vi 6csv reader column by index py encoding utf 8 usr bin env python3 import csv import sys input file sys arg
  • mmsegmentation V0.27.0环境搭建(一)

    1 官网 2 兼容的MMSegmentation和MMCV版本如下 请安装正确版本的MMCV 以避免安装问题 3 Installation Linux系统环境安装 1 创建虚拟环境并安装pytorch Step 1 Create a con
  • ProtoBuf-反射原理与使用

    文章目录 前言 相关应用场景 一 ProtoBuf 反射原理概述 1 获取message和service的属性和方法 1 1 使用protoc将proto文件生成 h和 cc文件 1 2 只使用proto文件 不使用protoc进行编译 1
  • Gvim高级操作006--verilog例化代码对齐

    Gvim高级操作006 verilog例化代码对齐 Gvim如果没有安装对齐插件的情况下 无法通过快捷操作实现verilog例化代码对齐 但是可以通过正则表达式匹配插入空格实现代码对齐 基本原理是 删除空格 点号 和信号之间不能有空格 左括
  • FastCFS binlog机制简介

    FastCFS binlog机制简介 本篇文章转载于 FastCFS 作者 余庆 大佬的 FastDFS分享与交流 公众号 FastCFS 采用经典的 Master Slave 结构及数据同步复制的做法 如果 slave 在线 master
  • JDK 各版本汇总表

    提示 写完文章后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 JDK各版本 时间表 二 JDK各版本 新特性 JDK4 JDK5 JDK6 JDK7 JDK8 JDK9 JDK10 JDK11 JDK12 JDK13 JD
  • Android 蓝牙打印机Service Intent must be explicit

    安卓htc m8手机 链接蓝牙热敏打印机 佳博gp5890xIII 提示 Service Intent must be explicit 根据打印机官方提供的demo 修改为 private void connection conn new
  • 【基础知识】智能指针shared_ptr、weak_ptr、unique_ptr

    目录 一 shared ptr 共享智能指针 1 初始化 1 use count 成员函数 2 构造函数初始化 3 拷贝构造和移动构造函数初始化 4 std make shared 初始化 5 reset方法初始化 2 获取原始指针 二 w
  • 2019/5/13 基于模型的强化学习方法

    注 论文写作四项工作 工作一 查阅100篇 挑选30篇 核心参考3 5篇 看懂 一篇 工作二 提出难点问题 提出新概念 例 多光谱 注意力机制 工作三 修改算法 网络结构 损失函数 步数 工作四 写写写 改改改 图片精修 丰富实验 首句中心
  • ARM64撬开逆向大门

    图片
  • QML和QWidget混合开发(初探)

    为什么要搞混合开发 Qml已经越来越成为Qt开发的主流 相比与QWidget的界面开发更快 也更容易上手 实现效果上也更好 但老旧项目都是QWidget的框架 大家不可能一次性的把QWidget项目界面全部换成qml 这时候我们可以将新开发
  • python条件运算符_Python中的条件运算符

    python条件运算符 如果条件运算符 if else conditional operator Just like other programming languages Python also provides the feature
  • Spring全家桶

    Spring Spring的架构体系 spring是一个基于java语言写的一个轻量级的一站式解决方案框架 它的最底层是核心容器 在核心容器上面提供了AOP这些中间层技术 然后再往上就可以去集成别人的技术 比如像Dao层的MyBatis J
  • 银河麒麟V10 wireshark安装说明(断网离线)

    下载离线安装包 链接 https pan baidu com s 11QFRmCGlIJrJaiKcHh9Hag pwd u9wv 提取码 u9wv 安装步骤 tar zxvf wireshark tar gz cd wireshark s
  • python连接wss走自己的代理

    我开了一个vpn 然后用py写wss连接 怎么才能让他这个连接走我系统代理呢 vpn 开9090端口 set https proxy socks5 127 0 0 1 9090 set http proxy socks5 127 0 0 1
  • 类的六大默认构造函数

    缺省的构造函数和析构函数 等于放弃了自己初始化和清除的机会 缺省的拷贝构造和缺省的赋值函数 采用 位拷贝和值拷贝 若类中出现指针时 这两个函数出错 class String public String const char str NULL
  • 整理Rapid object detection using a boosted cascade of simple features论文中的要点

    整理Rapid object detection using a boosted cascade of simple features论文中的要点 使用haar特征 在24 24像素的框内有180000以上不同的haar特征 怎么算的 终于
  • openwrt路由器-timeout while waiting for PADS.

    最近使用openwrt路由器进行PPPoE拨号的时候 经常出现 远程服务器无响应 的错误 log打印日志如下 pppoe Timeout waiting for PADS packets Unable to complete PPPoE D