教程:用OpenWRT进行WIFI接力——扩大WIFI覆盖范围

2023-05-16

因为准备去实习,所以把宿舍很多东西都带回家了,包括一个装了OpenWRT的路由器WR703N。

Step 0 : 为什么要这么做

在家里有一个地方不爽,就是WIFI的信号覆盖不到我的房间,所以我就想这个时候进行一下WIFI的接力,用WR703N接收WIFI使其能连接网络,然后同时发出WIFI,好让我在房间可以上网。

有的路由器本身就有WIFI接力的功能,所以我写这篇东西是因为我的路由器已经装了OpenWRT了必须要进行配置才行,在这里就把配置过程写出来。下面也会教你怎么安装OpenWRT。

Step 1 : 安装OpenWRT并使其发WIFI,然后用ssh连接

这比起上一篇教程《路由器连接校园网并发WIFI:WR703N路由器安装OpenWRT并运行H3C客户端操作步骤(主要针对中山大学东校区)》要方便不少,首先你需要安装好OpenWRT到你的路由器,安装方法(对于WR703N)请参见这个句子前面所说的那篇教程的Step 1 ~ Step 6

通过上面的步骤,你已经可以连接到你的路由器发出来的WIFI啦,然后使用命令

ssh root@192.168.1.1

或者使用Windows下的putty软件连接到OpenWRT(不能使用ssh?参照上面那篇文章看是不是telnet的时候没有修改密码)。

Step 2 : 关于WIFI接力的个人推断(这一步跳过也没有问题)

我有一个十分不正式的理解,到底这个WIFI接力是怎么实现的?我个人推断是这样:首先你的OpenWRT连接其他人(或者是你家里)发出来的WIFI(称为WIFI1),组成了一个网络a,这个时候网络a是可以连接互联网的;然后你的OpenWRT自己发出了另外一个WIFI(称为WIFI2),你的电脑连接到WIFI2,组成了网络b。要让网络b中的设备能够连接互联网,必须将网络a和网络b打通才行。

可能会有人觉得奇怪,网络a中的OpenWRT是可以联网的,那么这个OpenWRT发出的WIFI2为什么是不能联网的?因为……说起来比较复杂,涉及到静态IP,DHCP等东西,我自己也没有搞得很明白,不过各位就记住网络a和网络b需要通过一些方法进行连接起来才能用。

以下划了删除线的部分请各位跳过,因为个人推断的成分太过多。

但是不求甚解不太好啊!要看解释的同学,请参见下面的蓝色字部分,嫌麻烦的同学直接跳过即可,因为只要按部就班地配置也能配出来。

那么我就开始解释了:

首先讲网络b,这是我们已经配置好的,电脑可以通过WIFI2连接到OpenWRT了,WIFI2是由一个设备发射出来的,这个设备被绑定到lan这个接口,/etc/config/wireless文件中“option network lan”这一行就是这个意思。当我们连接OpenWRT发出的WIFI2时,我们可以通过192.168.1.1这个地址访问OpenWRT,为什么呢?因为我们设置了lan的IP是固定的,如果这个IP不固定,那么我们还怎么连接到OpenWRT?这不是简单地接一个线就能解决的问题,一定要由一个固定的地址可以进行访问。

然后讲网络a,网络a中OpenWRT连接到了WIFI1,发出WIFI1的那个设备的网络接口也有一个固定的IP地址(通常是192.168.1.1),而连接WIFI1的网络接口的IP地址是多少呢?这个就不确定了,是由发出WIFI1的那个设备按照一定的规则(也可能是随机)分配的,因此OpenWRT连接WIFI1的那个网络接口IP地址就有可能是192.168.1.2 ... 192.168.1.255,是不固定的。

我在事后发现,WR703N的OpenWRT本身就已经把两个网络a和网络b接起来了,来自网络b的请求会自动转发到网络a。如果你的OpenWRT不是这样,请参见http://wiki.openwrt.org/doc/recipes/relayclient。

Step 3 : 让OpenWRT能连接WIFI

上一段说了一些完全不知道对不对的理论,现在开始实际操作,首先编辑/etc/config下的wireless文件,命令是

vi /etc/config/wireless

在“#option disabled 1”这一行下面加入OpenWRT连接WIFI的配置,内容如下:

config wifi-iface 'wlan0'                 
        option device   'radio0'          
        option network  'wan'             
        option mode     'sta'             
        option ssid     要连接到的WIFI名称  
        option encryption 'psk2'        
        option key      那个WIFI的连接密码是多少 

然后按Esc退到普通模式,输入“:wq”保存并退出。

Step 4 : 让OpenWRT对WIFI进行接力

接着编辑/etc/config下的network文件,命令是

vi /etc/config/network

好啦这里要注意,首先将原本的“option ipaddr '192.168.1.1'”改为“option ipaddr '192.168.2.1'”,其次在文件的最末尾加上以下内容:

config interface 'wan'
        option proto 'dhcp'
        option ifname 'wlan0'

接着保存并退出。

Step 5 : 注意事项及结果验证

这个时候要注意了!你以后要连接到OpenWRT不再是输入“ssh root@192.168.1.1”,而是输入“ssh root@192.168.2.1”,一定要记住啦!

最后输入以下命令重启OpenWRT:

reboot && exit

重启后连接到OpenWRT的WIFI,看是不是可以上网了。这样WIFI接力就完成啦~

——————教程结束——————


如果按照以上设置没有成功,有可能是有的地方配置不对,也可能是OpenWRT 版本的不同造成的。对于后面一种情况,可以参考一下划了删除线的部分,那个部分其实不太完整,我没有将所有的操作过程都贴出来(因为发现在WR703N上不用那么操作也能达到目的),同时参照这个地址http://wiki.openwrt.org/doc/recipes/relayclient,进行设置。

参考资料:

http://wiki.openwrt.org/doc/recipes/relayclient

http://wiki.openwrt.org/zh-cn/doc/uci/network

http://wiki.openwrt.org/zh-cn/doc/uci/wireless


文章作者:fanfank@CSDN

原文地址:http://blog.csdn.net/fanfank/article/details/18796411

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

教程:用OpenWRT进行WIFI接力——扩大WIFI覆盖范围 的相关文章

  • 通过发送意图来启动 Android WiFi 管理器?

    我正在开发一个应用程序 我想要一个按钮 打开Android内置的WiFi菜单 我真的不想自己实现扫描和连接代码 我可以发送任何打开此菜单的意图吗 你应该使用ACTION PICK WIFI NETWORK http developer an
  • iOS 检查 WiFi 辅助是否已启用

    我正在尝试检查 WiFi 辅助是否已启用 当我连接到接入点获取一些数据时遇到问题 当我的连接状况不佳时 我的蜂窝数据会被使用并干扰我的接入点 有什么方法可以检查该选项是否启用 好吧 我想我能帮上一点忙 你需要check SCNetworkR
  • 有没有办法在 iOS 中以编程方式打开和关闭蓝牙和/或 WiFi?

    我正在寻找一种简单的方法来在 iOS 4 x 设备 iPhone 和 iPad 上切换蓝牙和 WiFi 的打开和关闭状态 当我在不同的位置和使用场景之间移动时 我会不断切换这些功能 现在需要多次点击并访问 设置 应用程序 我希望创建一个简单
  • 如何禁用 Android 设备的强制网络助手?

    当用户通过强制门户连接到开放 WiFi 时 Android 设备将打开带有强制门户 登录页面的浏览器实例 我们想禁用它 因为我们使用应用程序进行登录 我在 Android Marshmallow 中遇到了 CaptivePortal 类 我
  • 如何使用 Objective-C 判断 iPhone 是否连接到 wifi 网络?

    在 Objective C iPhone 应用程序的上下文中 我需要能够判断 iPhone 是否已连接到 wifi 网络 并在可能的情况下侦听此状态的变化 有谁知道如何做到这一点 谢谢 加布伊 正如其他人提到的 可达性样本 https de
  • 尝试在空对象引用上调用虚拟方法“android.os.Looper android.content.Context.getMainLooper()”[重复]

    这个问题在这里已经有答案了 每当我尝试在手机或模拟器上打开应用程序时 我的 Log cat 都会收到此错误 为了让您概述我当前正在做的项目 它是一个记录连接到手机上接入点的设备数据的系统 可以通过屏幕上的按钮打开和关闭这些设备 我想归功于
  • 解释 802.11 Wireshark 跟踪中的帧控制字节

    我有一个 Wi Fi 捕获 pcap 我正在分析并发现 802 11 规范与 Wireshark 对数据的解释之间存在不一致之处 具体来说 我想要分解的是 2 字节 802 11帧控制 field 取自http www4 ncsu edu
  • 是否可以强制通过 Wifi 或 TMobile 网络进行网络流量?

    我想知道使用 G1 是否可以强制网络流量通过 Wifi 或通过 Cell GSM 网络 我需要强制应用程序通过塔式网络连接以获取一些登录信息 这可能吗 有人对这如何可能有任何想法吗 我正在尝试使用 Android SDK 在应用程序内完成此
  • Android wifimanager总是返回true

    这简直要了我的命 任何帮助将不胜感激 我想使用 wifi 管理器连接到开放网络 我遇到的问题是该代码声称连接到任何网络 甚至是不存在的网络 下面是执行并使用网络 SSID 调用的完整代码 无论您传递给它什么字符串作为网络的 SSID 即使不
  • 连接 Wi-Fi 网络时如何使用蜂窝数据?

    我期待在连接 Wi Fi 时使用蜂窝数据 Yi行车记录仪的工作原理是这样的 易相机制作软AP iOS 或 Android 手机连接 Wi Fi YI和Phone之间建立内部网络 一般情况下 手机不能上网 但是 在Yi网络中 手机可以使用互联
  • iOS6 在非越狱设备上切换 WiFi

    我正在开发一个内部 iOS 应用程序 不适用于苹果商店 所以我很乐意使用私有 API 并且我希望能够以编程方式打开或关闭 wifi 我想要这样做的原因是 对于某些 WiFi 路由器 每当互联网连接中断时 iPad 就无法恢复 WiFi 不过
  • iPhone 在个人热点模式下不发送网络广播/组播

    根据最近的实证研究结果以及网络上的各种帖子 在启用了个人热点的 iPhone 上运行的应用程序似乎无法将广播和 或多播发送到个人热点的网络上 任何人都可以阐明这个问题的原因吗 应用程序 我有一个用跨平台 C 代码构建的 IOS 应用程序 它
  • 如何知道我的二进制可执行文件的内存占用量

    我想知道是否有办法知道用 C 语言编码的二进制可执行文件的内存占用量 有关二进制可执行文件的信息 使用OpenWrt分支 Attitude Adjustment 的工具链编译 架构为x86 在 Linux Unix 系统上 您可以使用siz
  • 两个或多个 Android 设备之间的 WiFi 聊天

    我想开发一个聊天应用程序 使用 wifi 网络在两个或多个 Android 设备之间聊天 该应用程序应该能够相互发送或接收字符串 我有在pc和android之间使用蓝牙网络的经验 任何人都可以给我任何建议或正确的方向 提前致谢 您可以在两个
  • 从 ScanResult 构造 WifiConfiguration 或: 解释 ScanResult 的“功能”字符串

    你们中的 Android 专家知道任何开源代码来创建一个WifiConfiguration http developer android com reference android net wifi WifiConfiguration ht
  • 如何从 iOS 应用程序检测不安全的 wifi 网络

    我想检测我的应用程序中是否存在不安全的 wifi 网络 是否有任何公共 iOS API 可以实现相同的目的 没有记录的 API 可以获取该信息 如果您的应用程序需要通过网络发送和接收敏感数据 您通常应该假设没有安全连接
  • 如何在 iOS 应用程序中检测所有可用的 Wifi 网络并连接到其中之一

    在我的 iOS 应用程序中 我想检测所有可用的 wifi 网络 然后从列表中选择一个网络并连接到它 目标是不打开应用程序内置的设置来连接 Wi Fi 而是在我的应用程序中完成这一切 首先 这可能吗 如果可能的话 请指出要使用哪些框架和方法
  • Android,在连接wifi的情况下与移动数据通信,无需上网

    我有一个汽车配套应用程序 需要与 WiFi 和移动数据网络进行通信 我的车辆控制单元提供了一个无需互联网访问的 WiFi 网络 它公开了我们可以从应用程序调用的 API 服务 除此之外 我们还需要使用手机移动数据 3G 4G 与另一个可通过
  • 发送 802.11 帧的“帧控制字段”数据的顺序?

    以下是 QoS 数据 FC 字段的位格式 00 01 0001 01000010 前2位代表版本 接下来2位代表类型 接下来4位代表子类型 其中ToDS 0 FromDS 1 保护位 1 那么 上述数据在空中是按照什么顺序通过接口发送的呢
  • 检测 Android 上的网络连接类型

    如何检测 Android 上的网络连接类型 是否通过ConnectivityManager getActiveNetworkInfo getType 答案是否仅限于 Wifi 和移动设备 如果问题是要确定手机的网络是否已连接且速度是否足以满

随机推荐

  • OpenDDS学习笔记(2):DDS概述

    文章目录 一 DDS体系结构1 1 DLRL层1 2 DCPS层 二 DDS通信过程三 DDS通信特点四 DDS标准实现4 1 RTI DDS软件4 2 OpenSplice DDS软件4 3 OpenDDS软件 一 DDS体系结构 DDS
  • OpenDDS学习笔记(3):OpenDDS概述

    文章目录 一 DCPS概述1 1 基本组成1 2 内置主题1 3 QoS策略1 4 Listener1 5 条件 二 OpenDDS实现2 1 兼容性2 1 1 DDS兼容性2 1 2 DDS RTPS兼容性 2 2 OpenDDS架构2
  • FastRTPS学习笔记(2):安装、创建简单应用

    文章目录 一 FastRTPS v1 8 0 安装运行1 1 环境准备1 2 下载FastRTPS v1 8 01 3 编译安装1 4 创建简单应用1 4 1 编写简单程序1 4 2 编译简单程序1 4 3 运行简单示例 二 FastRTP
  • EOF是什么?

    转载自 xff1a http www ruanyifeng com blog 2011 11 eof html 我学习C语言的时候 xff0c 遇到的一个问题就是EOF 它是end of file的缩写 xff0c 表示 34 文字流 34
  • FastRTPS学习笔记(1):RTPS概述

    文章目录 一 RTPS简介二 RTPS优点三 RTPS架构3 1 结构模块3 2 消息模块3 3 行为模块3 4 发现模块 四 参考来源 一 RTPS简介 实时发布订阅协议 xff08 Real Time Publish Subscribe
  • 面试笔记:面经-猿辅导-一面

    文章目录 一 自我介绍二 项目相关三 Java后台3 1 Java异常处理3 1 1 Exception和Error的区别3 1 2 RuntimeException和CheckedException的区别 3 2 Java线程3 2 1
  • TensorFlow安装和下载(超详细)

    TensorFlow是一款开源的机器学习框架 xff0c 可用于构建和训练各种深度学习模型 在下面的回答中 xff0c 我将向您介绍如何在Windows Linux和Mac OS系统上安装和下载TensorFlow Windows系统上安装
  • geometry_msgs::PoseWithCovarianceStamped

    该消息表示带有时间标签和参考坐标的估计位姿 两部分构成 xff1a std msgs Header header geometry msgs PoseWithCovariance pose 1 std msgs Header msg主要由三
  • ubuntu vnc 下面小企鹅输入法 的安装及使用

    使用VNC View远程访问ubuntu xff0c 总是没有办法切换出小企鹅输入法的解决办法 安装Fcitx输入法 sudo apt get install fcitx 安装 im switch s fcitx 配置默认输入法为 fcit
  • java解析html之HTMLparser初次尝试

    为了爬取一个网页的数据 xff0c 尝试了一下Htmlparser来做小爬虫 下面是一个小案例 xff0c 用来爬取论坛的帖子内容 1 HtmlParser 简介 htmlparser是一个纯的java写的html解析的库 xff0c 主要
  • px4自定义mavlink收不到消息的问题

    px4版本1 12稳定版 最近在做px4二次开发相关工作 按照网上的一些教程自定义了一个mavlink消息用来控制无人机 按照教程里面的单独开了一个xml来定义消息 最后生成的消息在px4端通过流传输的方式自己写的客户端可以收到消息 但是客
  • windows WSL2 使用Xfce+dummy虚拟显示+VNC显示方案

    最近准备在自己的电脑 windows 下用wsl2装docker 然后将显卡共享给别人用 别骂了别骂了太穷啦太穷了 发现windows微软商店下载的ubuntu20 04子系统没有预装图形界面 想在wsl里面显示东西不好使用 摸索了一番 x
  • 有趣的docker镜像收藏

    docker一键安装脚本 wget qO get docker com sh 官方安装 curl sSL https get daocloud io docker sh 国内daodocker安装 推荐 镜像1 xff1a rastashe
  • vc 网络编程(socket)

    vc 网络编程 xff08 socket xff09 在网上找了很多的资料 xff0c 现将这些资料整合起来 xff0c 详细介绍一下VC下的socket编程 xff0c 并提供一个服务器客户端具体的实例 希望对您有所帮助 一 原理部分 个
  • ROS创建工作空间与功能包

    ROS学习笔记 学习古月居ros21讲笔记 第一章 ROS命令行工具的使用 第二章 创建工作空间与功能包 目录 ROS学习笔记 一 工作空间 二 功能包 一 工作空间 工作空间是存放ROS工程相关文件的文件夹 所有的源码 xff0c 编译文
  • C++类、结构对象内存布局浅析

    最近面试多 xff0c 出的题目很多都有如下形式 xff0c 给定一个class或者struct的定义 xff0c 例如这样 xff1a struct node int a char b int c char d 问题是 xff1a siz
  • 2014校园招聘总结

    本篇博文已迁移至吹水小镇reetsee com xff0c 迁移后地址为 xff1a http blog reetsee com archives 215 注 xff1a 貌似不少童鞋看到这篇东西觉得我是牛人 其实不是stO xff0c 以
  • 今天终于刷完leetcode的题了,同时分享一些资料

    如题了 持续了将近2个月的leetcode刷题之旅今天终于暂时告一段落了 xff08 以后肯定还会加题 xff09 记得我当初刷的时候只有134题 xff0c 现在就变成150题了 xff0c 可以说这些题都是基础 xff0c 但是却是十分
  • 路由器连接校园网并发WIFI:WR703N路由器安装OpenWRT并运行H3C客户端操作步骤(主要针对中山大学东校区)

    注意 xff1a 本文所有的最新更正请全部前往http blog reetsee com archives 227查看 本文主要目的在于让你的路由器能自动连接学校的校园网并且能发出WIFI让所有设备使用 要注意的是这篇作者呕心沥血写的超级傻
  • 教程:用OpenWRT进行WIFI接力——扩大WIFI覆盖范围

    因为准备去实习 xff0c 所以把宿舍很多东西都带回家了 xff0c 包括一个装了OpenWRT的路由器WR703N Step 0 为什么要这么做 在家里有一个地方不爽 xff0c 就是WIFI的信号覆盖不到我的房间 xff0c 所以我就想