
一般来说,不同品牌的mesh协议是不一定兼容的。路由器的本质是一个linux服务器,主要管理的是信息的分发。对于不同品牌的路由器来说,虽然底层linux 核心是一样的,但是在应用层面,即软件怎么来控制分发,加快分发的效率或者重传、缓存等相关机制都是不一样的,基本上是做不到不同品牌之间能够共享mesh 的。其次,非专业用户的,一般也不建议自己去鼓捣折腾刷同固件,鼓捣研究的时间可能比更换成同一个品牌的mesh路由器时间成本还高。我自己当时家里碰到网络的信号覆盖问题,找了一圈后就直接考虑的mesh组网,网上找了一圈解决方案后,以及各个品牌选购后,最终选择性价比比较的mesh的路由,我选择的tp-link的,效果和性价比都还可以。
设备:
参考资料:
如下图所示,mesh网络由MPP、MP、MAP三种设备组成:
这三种设备配置也不一样,他们之间是通过mesh链路连接在一起的,但是需要保证mesh节点工作的信道号和mesh id号必须相同!
首先要能ssh连上树莓派,由于树莓派本身的wifi模块不支持mesh网络,所以挑选了TL-WN722N V1
查看 https://www.jianshu.com/p/6407472e2550
在此示例中,我们将配置一个mesh节点以使用mesh网络,该节点将自动与使用相同配置(mesh和信道)的任何其他对等节点连接。
每个mesh节点都需要配置如下:
我的想使用第二张网卡也就是wlan1来做mesh组网,过程如下:
如果遇到了这个错误 command failed: Device or resource busy (-16) ,就先把网卡关掉在启用
添加mesh
查看是否创建成功
注意:默认情况下,所有mesh接口都从通道1开始。
关闭mesh0并设置mesh id
启用mesh0
分配ip,mesh组网要在同一个网段下
这样一台设备就配置好了。配置其他设备的时候只需要分陪不同的IP即可。在默认配置中,mesh节点将自动尝试创建所有其他具有相同mesh id的网格节点的对等链接。
使用phy接口,使用 iw list ,查看网卡对应的phy,我的wlan1对应的phy1
先关掉wlan1
验证是否创建成功
启用mesh0
设置ip,假设为10.0.0.1
使用 iw dev mesh0 station dump 和 iw dev mesh0 mpath dump 命令检查已建立的对等链接:
iw dev mesh0 mpath dump
一些解释:
Destination MAC Address :目地mac地址。此mesh路径的目的地。直接路径的目的地和下一跳具有相同的MAC地址。
Next-hop MAC address :下一跳地址。直接路径的目的地和下一跳具有相同的MAC地址。
IFACE:专属网的名称
SN :此路径的目标序列号。 DSN用于确定节点路径信息的“新鲜度”。例如,假设节点接收到其路径表中已经存在的目的地的路径响应。如果路径响应的DSN较高,则它将替换现有路径,因为它将被认为是较新的。
Air Time Link Metric :路径的度量(或“成本”)。较低的度量标准是首选,并且在选择了多个路径的情况下,协议栈将选择成本最低的协议(即:空中链路度量最低的协议)。该值是使用预期的吞吐量得出的(metric = 1 + 8192 / Expected_throughput_mbps)预期吞吐量(Expected_throughput_mbps)取决于驱动程序(例如,某些包含重传)。
Frame Queue Length :此网格路径的排队帧数。
Expiration Time :此mesh路径过期的时间(以jiffies为单位)
Discovery Timeout :路径发现的剩余时间(如果正在发现此路径)。
Discovery Retries :重试发现的次数(如果正在发现此路径)。
Flags :它是一个位掩码,由该路径的以下状态标志组成:
步骤分步阅读1
/6
检查确认笔记本网卡支持master模式
首先要安装一个iw:yum install iw -y
然后执行命令:iw list
在命令执行结果中如果看到了下面的内容,就说明这张网卡是支持用于ap做路由的
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
2
/6
安装hostapd
通过 yum install hostapd -y 安装,如果是其它红帽系列的可以安装epel的源,或者找一下hostapd的rpm,下载对应自己发行版的进行安装。其它Linux可以通过源码安装。
3
/6
修改配置文件
# vim /etc/hostapd/hostapd.conf
修改成如下状态
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
wpa_passphrase=ap_password
driver=nl80211
interface=wlan0
hw_mode=g
channel=9
ssid=ap_name
注意修改涉及到的ssid和密码
4
/6
安装和配置dhcp
# yum install dhcpd -y
# vim /etc/dhcp/dhcpd.conf
将此文件改成如下:
option domain-name-servers 211.161.45.222,10.141.146.10
default-lease-time 3600
max-lease-time 7200
log-facility local7
subnet 192.168.7.0 netmask 255.255.255.0 {
range 192.168.7.77 192.168.7.99
option broadcast-address 192.168.7.255
option routers 192.168.7.7
}
注意将第一行的nameserver添加成你isp提供的dns,这样解析的速度会快一些,不知道的话就改成谷歌的8.8.8.8好了。subnet 里面设置的是分配给连接无线路由的设备的ip段,可以根据自己需求进行调整,这里给了192.168.7.77-99
需要注意的是,option routers要写成这台机器的wlan0的ip,这个是手动设置的
# ifconfig wlan0 192.168.7.7
5
/6
配置SNAT
Linux可以很方便的通过iptables配置SNAT服务器,命令如下:
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.4.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.4.0/24 -j ACCEPT
其中第一条表示将通过本机的转发数据包从eth0(外网)这个网卡发出去,另外两条表示只转发192.168.4.0/24这个网段过来的数据包,这个网段正好是wlan0其它设备连上本机以后分配的网段。
还需要在打开内核的ip转发功能:
# vim /etc/sysctl.conf
添加或修改这样一段:
net.ipv4.conf.default.rp_filter = 1
然后执行命令
# sysctl -p
6
/6
启动相关服务
/etc/init.d/dhcpd start
/etc/init.d/hostapd start
将有线网卡的网口插上网线调通就可以用其它无线设备连接此wifi ap上网了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)