NAP6官方旗舰店
搜索
发新帖
午饭无线 推广广告R7800 完胜 华硕路由器NETGEAR Vs ASUS T-Mobile定制版NETGEAR团购
开启左侧

使用OpenWRT改进WIFI覆盖能力,扩大WIFI覆盖范围。

[复制链接]
1408 0

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
入手了一个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啦,然后使用命令:


或者使用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的配置,内容如下:
  1. config wifi-iface 'wlan0'
  2. option device 'radio0'
  3. option network 'wan'
  4. option mode 'sta'
  5. option ssid 要连接到的WIFI名称
  6. option encryption 'psk2'
  7. option key 那个WIFI的连接密码是多少
复制代码
然后按Esc退到普通模式,输入“:wq”保存并退出。

Step 4 : 让OpenWRT对WIFI进行接力

接着编辑/etc/config下的network文件,命令是:
  1. vi /etc/config/network
复制代码
好啦这里要注意,首先将原本的“option ipaddr ’192.168.1.1′”改为“option ipaddr ’192.168.2.1′”,其次在文件的最末尾加上以下内容:
  1. config interface 'wan'
  2. option proto 'dhcp'
  3. option ifname 'wlan0'
复制代码
接着保存并退出。

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

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

最后输入以下命令重启OpenWRT:
  1. 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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩推荐

热点动态

精彩图文

快速回复 返回顶部 返回列表