首页
关于本博客
友情链接
推荐
linux/shell
Search
1
LEDE官方固件安装中文语言包的方法
11,087 阅读
2
LEDE固件踢出弱信号客户端,实现WiFi无缝漫游脚本
9,183 阅读
3
基于CloudFlare API的纯Shell动态DNS(DDNS)脚本
8,153 阅读
4
一次OpenVPN交叉编译笔记
6,664 阅读
5
利用iptables的string模块来屏蔽域名(关键词匹配)
6,111 阅读
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
C#
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
nginx
互联网应用
IP地址段汇总
登录
Search
标签搜索
nginx
OpenWrt
openvpn
SSH
seafile
cloudflare
iptables
openssl
linux
letsencrypt
CentOS
反向代理
ftp
openvpn配置模板
vsftpd
seafile网盘
Linux启动脚本
ddns
nas
seafile服务器
自渡
累计撰写
75
篇文章
累计收到
1
条评论
首页
栏目
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
C#
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
nginx
互联网应用
IP地址段汇总
页面
关于本博客
友情链接
推荐
linux/shell
搜索到
6
篇与
OpenWrt/LEDE
的结果
2024-11-17
如何修改OpenWrt软件源为国内节点
OpenWrt使用opkg作为软件包管理器,其默认的软件源是由官方提供的。该源服务器在欧洲,众所周知,欧洲到中国的线路向来是很差的,以至于在执行opkg命令时经常断连或者无法连接,影响软件的更新。因此,可以将软件源修改为国内节点,以提高软件更新的稳定性和下载速度。常见的国内软件源节点国内部分大型云计算厂商、高校提供了OpenWrt软件源的镜像节点。软件源提供者地址中国科学技术大学https://mirrors.ustc.edu.cn/openwrt/阿里云https://mirrors.aliyun.com/openwrt/腾讯云https://mirrors.cloud.tencent.com/openwrt/上海交通大学https://mirror.sjtu.edu.cn/openwrt/清华大学https://mirrors.tuna.tsinghua.edu.cn/openwrt/通过Web管理页面修改OPKG软件源1.通过luci页面修改:通过打开OpenWrt的web管理页面,依次进入系统-软件包,并点击“配置opkg..”按钮。2.替换链接地址:系统里默认配置的地址是这样的src/gz openwrt_core https://downloads.openwrt.org/releases/22.03.5/targets/ramips/mt7621/packages src/gz openwrt_base https://downloads.openwrt.org/releases/22.03.5/packages/mipsel_24kc/base src/gz openwrt_luci https://downloads.openwrt.org/releases/22.03.5/packages/mipsel_24kc/luci src/gz openwrt_packages https://downloads.openwrt.org/releases/22.03.5/packages/mipsel_24kc/packages src/gz openwrt_routing https://downloads.openwrt.org/releases/22.03.5/packages/mipsel_24kc/routing src/gz openwrt_telephony https://downloads.openwrt.org/releases/22.03.5/packages/mipsel_24kc/telephony只需要将链接https://downloads.openwrt.org修改替换为国内源的地址就可以,比如替换为中科大的软件源https://mirrors.ustc.edu.cn/openwrt/通过SSH登录系统修改OPKG软件源使用XShell登录OpenWrt,并使用sed命令修改软件源:#将软件源修改为中科大软件源 sed -i 's/downloads.openwrt.org/mirrors.ustc.edu.cn\/openwrt/g' /etc/opkg/distfeeds.conf #修改后更新软件源 opkg update
2024年11月17日
19 阅读
0 评论
0 点赞
2024-11-11
OpenWrt低成本企业组网+访问控制+多SSID绑定不同VLAN实例部署
部署背景在一个中小规模企业中,无线网络的合理规划是非常有必要的,最专业(当然也是最费钱)的方案就是使用主流厂家的AC+AP全套解决方案(华为、Cisco、Aruba等),这一套下来少说得几千块,对于有钱的老板是九牛一毛,但对于爱折腾的我,想努力将成本控制到最低😏将低价产品的功能发挥到极致。于是打算网络全部采用openwrt来解决。本案例通过在主网关配置不同VLAN,并经由无线AP透传到网关来实现不同SSID对应不同VLAN的功能,并在网关上配置防火墙,用以隔离内部客户端和访客客户端,保障内部网络安全。网络结构图部署环境及所需的设备网络环境布局从电信处拉得一条200M对等专线办公室10间,会议室1间,每间办公室放置1台无线AP,会议室放置2台无线AP规划3个网段(各自独立VLAN),分别为:有线PC网段、内部无线网络、访客无线网络。设备清单主网关:采用openwrt的X86软路由。由旧主机联想ThinkCentre M4500s-N000烧录openwrt X86固件承担。系统采用OpenWrt 21.02.2无线AP:从淘宝处够得已刷好breed的二手小米的CR660X路由器12台充当AP。综合对比目前的多种设备及openwrt支持情况,CR660X系列是成本较低,且对openwrt支持较好的WIFI6路由器。实测在干扰较小的情况下,2.4GHz可以跑100-200Mbps左右,5GHz可以跑600-800Mbps。交换机:锐捷RG-ES124GD 24口千兆交换机一台、每间办公室配置H3C S2G 8口交换机一台。网段划分VLAN 1 : 172.18.1.0/24 ; 默认VLAN,系统默认生成的网桥“br-lan”,作为有线PC网段,用于连接所有有线设备VLAN 10:172.18.10.0/22 ; 内部无线网络段VLAN 20:172.18.20.0/22 ; 访客无线网络段开始配置主网关网络设备配置将通过命令行和LUCI页面相结合的方式来完成网关设备情况部署外置网卡:因公司服务器都已上云,客户端主要以访问外网为主。因此本软路由仅配置了2个网络接口,一个用于上联电信,一个用于下联交换机并连接客户端。eth0 :上联电信运营商eth1 :下联锐捷RG-ES124GD交换机并布线到各办公室配置外部IP修改/etc/config/network文件config interface 'wan' option device 'eth0' option proto 'static' option ipaddr '120.43.111.130' option netmask '255.255.255.252' option gateway '120.43.111.129' option dns '218.85.152.99 218.85.157.99'配置好3个VLAN及网段、DHCP、防火墙VLAN及网段配置:下联客户端的物理设备为eth1,因此需要配置该网口允许VLAN10和VLAN20通过。这样子设备在收到来自AP传来的带有VLAN TAG标签的数据包,就会将其转发到相应的VLAN端口。通过/etc/config/network配置文件中定义各个VLAN的VID,并设置IP段(为方便管理,局域网内不配置IPV6)#默认VLAN 1 有线PC网段 config interface 'lan' option device 'br-lan' option proto 'static' option netmask '255.255.255.0' option ipaddr '172.18.1.1' #配置VLAN 10 虚拟接口,并允许VLAN10通过 config device option type '8021q' option ifname 'eth1' option vid '10' option name 'eth1.10' option ipv6 '0' #配置VLAN 20 虚拟接口,并允许VLAN20通过 config device option type '8021q' option ifname 'eth1' option vid '20' option name 'eth1.20' option ipv6 '0' #配置VLAN 10(内部无线网络段)的网段 config interface 'VLAN10' option proto 'static' option device 'eth1.10' option ipaddr '172.18.10.1' option netmask '255.255.252.0' #配置VLAN 20(访客无线网络段)的网段 config interface 'VLAN20' option proto 'static' option device 'eth1.20' option ipaddr '172.18.20.1' option netmask '255.255.252.0' DHCP配置:通过编辑修改/etc/config/dhcp文件,分别为VLAN1 VLAN10 VLAN20三个接口配置DHCP服务器config dhcp 'lan' option interface 'lan' option start '2' option limit '250' option leasetime '24h' list dhcp_option '6,218.85.152.99,218.85.157.99' list ra_flags 'none' config dhcp 'VLAN10' option interface 'VLAN10' option start '2' option limit '1000' option leasetime '24h' list dhcp_option '6,218.85.152.99,218.85.157.99' list ra_flags 'none' config dhcp 'VLAN20' option interface 'VLAN20' option start '2' option limit '1000' option leasetime '24h' list dhcp_option '6,218.85.152.99,218.85.157.99' list ra_flags 'none' 防火墙配置:修改/etc/config/firewall以配置不同区域防火墙#配置外网区域防火墙 config zone option name 'wan' option input 'REJECT' option output 'ACCEPT' option masq '1' option mtu_fix '1' list network 'wan' list network 'wan6' option forward 'REJECT' #三个区域的防火墙默认配置 config zone option name 'lan' option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' list network 'lan' config zone option name 'VLAN10' option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' list network 'VLAN10' config zone option name 'VLAN20' option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' list network 'VLAN20' #配置VLAN 10防火墙区域 config zone option name 'VLAN10' option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' list network 'VLAN10' #配置VLAN 20防火墙区域 config zone option name 'VLAN20' option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' list network 'VLAN20' #允许三个VLAN通过WAN上网 config forwarding option src 'lan' option dest 'wan' config forwarding option src 'VLAN10' option dest 'wan' config forwarding option src 'VLAN20' option dest 'wan' #配置允许各个VLAN互相通信,但不允许访客VLAN访问其他VLAN config forwarding option src 'lan' option dest 'VLAN10' config forwarding option src 'lan' option dest 'VLAN20' config forwarding option src 'VLAN10' option dest 'lan' config forwarding option src 'VLAN10' option dest 'VLAN20' 开始配置无线AP无线AP: 设备采用的是已刷好breed的CR6608路由器,并刷入openwrt原生固件(22.03.5版本)。新版本openwrt已经移除了原来旧版本中的交换机(swconfig)功能,因此在LUCI页面的“网络”选项中,已经无法通过“交换机”功能来配置VLAN。新版本的openwrt采用了DSA分布式交换机架构,在 DSA 中,每个交换机端口都是一个单独的 Linux 接口。这意味着ip/ifconfig命令将显示接口等lan1,lan2,wan等。因此,可以通过建立网桥的方式来恢复旧版本openwrt的功能,下面是每台CR6608的/etc/config/network的详细配置。#loopback接口的默认配置,无需改变。 config interface 'loopback' option device 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' #保留lan2接口,作为CR6608的配置接口,以防止出现错误无法连接设备。 config device option name 'br-lan' option type 'bridge' list ports 'lan2' #保留默认网桥br-lan,并仅关联lan2口,与上行配置相同,用于管理设备用。 #仅当终端设备连接lan2接口时,才可通过192.168.12.1地址来管理设备。 config interface 'lan' option device 'br-lan' option proto 'static' option ipaddr '192.168.12.1' option netmask '255.255.255.0' #建立一个名为sw0的网桥,并将wan口加入该网桥组,用于上联交换机、网关设备 config device option type 'bridge' option name 'sw0' option bridge_empty '1' list ports 'wan' #定义sw0.1接口 config device option name 'sw0.1' option type '8021q' option ifname 'sw0' option vid '1' #将wan口定义为dhcp模式,与sw0.1关联,此时wan口模式为untagged,AP将从上级网关获取IP地址,获取的IP地址VLAN标签为1,与有线设备同一网段。 config interface 'wan' option proto 'dhcp' option type 'bridge' option device 'sw0.1' #创建VLAN桥,设置AP从wan口获取IP时不打标签,即获取上级网关的VLAN1,与有线PC同一网段的IP。 config bridge-vlan option device 'sw0' option vlan '1' list ports 'wan' #设置允许VLAN10数据包通过,并会打上VLAN TAG后转发到上级网关。 config bridge-vlan option device 'sw0' option vlan '10' list ports 'wan:t' config interface 'vlan10' option proto 'none' option device 'sw0.10' #设置允许VLAN20数据包通过,并会打上VLAN TAG后转发到上级网关。 config bridge-vlan option device 'sw0' option vlan '20' list ports 'wan:t' config interface 'vlan20' option proto 'none' option device 'sw0.20' 将SSID绑定VLAN编辑/etc/config/wireless来完成SSID的设置并绑定不同VLAN#定义2.4GHz射频卡的设置 config wifi-device 'radio0' option type 'mac80211' option path '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0' option band '2g' option cell_density '0' option htmode 'HE40' option txpower '20' option channel 'auto' option log_level '1' #定义5GHz射频卡的设置,将信道设为自动 config wifi-device 'radio1' option type 'mac80211' option path '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0+1' option band '5g' option cell_density '0' option country 'CN' option htmode 'HE80' option log_level '1' option channel 'auto' #定义内部WIFI的SSID为zavierlab.com,密码为12345678,绑定VLAN10。 #如此,连接该SSID的客户段将会被标记为VLAN10的数据,直接透传到主网关,获取到网段为172.18.10.0/22的地址。 #2.4GHz设置 config wifi-iface 'default_radio0' option device 'radio0' option mode 'ap' option ssid 'zavierlab.com' option encryption 'psk2+ccmp' option key '12345678' option network 'vlan10' #5GHz设置 config wifi-iface 'default_radio1' option device 'radio1' option mode 'ap' option network 'vlan10' option ssid 'zavierlab.com' option encryption 'psk2+ccmp' option key '12345678' #定义访客WIFI的SSID为zavierlab.com-Guest,密码为12345678,绑定VLAN20。 #如此,连接该SSID的客户段将会被标记为VLAN10的数据,直接透传到主网关,获取到网段为172.18.20.0/22的地址。 #2.4GHz设置 config wifi-iface 'wifinet2' option device 'radio0' option mode 'ap' option ssid 'zavierlab.com-Guest' option encryption 'psk2+ccmp' option key '12345678' option network 'vlan20' config wifi-iface 'wifinet3' option device 'radio1' option mode 'ap' option ssid 'zavierlab.com-Guest' option encryption 'psk2+ccmp' option key '12345678' option network 'vlan20' 修改AP防火墙编辑/etc/config/firewall以设置CR6608允许通过wan口管理 即在wan对应的zone里,将option input由REJECT改为ACCEPT以确保可以通过AP的WAN口直接管理config zone option name 'wan' option output 'ACCEPT' option masq '1' option mtu_fix '1' option input 'ACCEPT' option forward 'ACCEPT' list network 'wan' list network 'wan6'在主网关中为每一台AP定义静态DHCP方便管理需要记住每台AP的WAN口的MAC地址,本案例将172.18.1.240-172.18.1.252作为AP的IP地址段编辑主网关的/etc/config/dhcp文件,添加如下: config host option name 'AP-01' option ip '172.18.1.240' option mac 'AA:AA:AA:AA:AA:AA' #填入对应的AP MAC地址 config host option name 'AP-02' option ip '172.18.1.241' option mac 'AA:AA:AA:AA:AA:AA' #填入对应的AP MAC地址 ···如此往复配置 总结此组网模式通过在双口软路由上划分不同VLAN,并通过无线AP的不同SSID绑定VLAN的方式实现区域隔离。这也是目前大多数公共WIFI的常见做法,可以完美实现不同用户组的隔离,确保网络安全。该组网需要熟悉网络原理和linux命令,如有类似组网需求的朋友可以参考此案例。有不懂的可以留言博主协助。 😇
2024年11月11日
22 阅读
0 评论
0 点赞
2024-11-01
OpenWrt中的UCI命令——添加一个静态DHCP客户端
在 OpenWrt 中,修改配置的方法有很多种,luci页面、修改/etc/config/目录下的配置文件、通过uci命令等。而UCI(Unified Configuration Interface)是一个用于方便管理系统配置的命令,比起使用luci页面管理,它更快更便捷。但是使用该命令需要有一定的Linux知识。下面介绍如何通过uci命令添加一个静态 dhcp 客户端:步骤连接到 OpenWrt:通过 SSH 连接到你的 OpenWrt 路由器。ssh root@<your_router_ip>添加静态 DHCP 客户端:假设要分配一个 IP 地址是 192.168.1.100,并且设备的 MAC 地址是 AA:BB:CC:DD:EE:FF,设备的主机名是 yourhostname。执行以下命令:uci add dhcp host uci set dhcp.@host[-1].name='yourhostname' uci set dhcp.@host[-1].dns='1' uci set dhcp.@host[-1].mac='AA:BB:CC:DD:EE:FF' uci set dhcp.@host[-1].ip='192.168.1.100'提交更改:确保保存更改:uci commit dhcp确保修改生效:为了使更改生效,重新加载一下配置:reload_config总结通过uci命令可以实现高效配置openwrt设备,可以快速批量化配置部署。但需要有一定的linux/shell知识。
2024年11月01日
26 阅读
0 评论
0 点赞
2020-02-26
LEDE实现SSID绑定VLAN功能(Trunk)
先介绍一下VLAN:VLAN是Virtual Local Area Network的缩写,中文名“虚拟局域网”。VLAN广泛应用于企业,通过VLAN技术可以实现广播域的控制、不同用户组的隔离。不同VLAN之间的通信必须通过路由器来实现,因而可以通过路由器对不同用户组的上网行为进行控制。VLAN技术多用于企业的有线内网中,同时也可以用于无线网络中。举个高端的应用例子:某些实力较强的企业或者机关事业单位、火车站,其无线网络覆盖方案采用的是和运营商合作的方式,即运营商提供若干AP,每个AP会同时配置2-3个SSID。如和中国电信合作,会配置“ChinaNet”公共热点,同时再配置一个定制的SSID,如南昌铁路局的某些高铁、火车站,会配置SSID为“AirStation-FreeWiFi”的免费wifi,实际上这两者都是由同一台无线AP发出的,通过网线连接到后端三层交换机或者AC无线控制器。但是用户连接到两个不同的wifi时,其获取的IP地址网段、认证的方式、出口IP却截然不同,其原因就是该无线组网采用了ssid绑定vlan的方式。解释一下原理:无线AP在该数据交换中实际是扮演了一台无线三层交换机的角色,通过SSID配置的VLAN ID号,采用IEEE 802.11Q来封装VLAN数据帧,将对应的VLAN ID号透传到后端的三层交换机,后端的三层交换机通过VLAN ID号将用户分配到不同子网。这种VLAN的透传实际上在主流的专业网络设备内叫做"Trunk"模式。通过IEEE 802.11Q,可以轻松地通过单条链路来共享多个不同的、互相隔离的子网。实际上该技术也可应用于有线,常见的应用场景就是家庭IPTV的“单线复用”,因为有些运营商强制用户的IPTV机顶盒必须连接光猫的“ITV”接口,业内称为组播接入,这样减少了运营商的带宽压力,但是给用户带来了不小麻烦,如果你家的电视和光猫离得很远,而你又只有一根网线,那就非常麻烦了。而通过VLAN则可以实现“单线复用”的功能,无需多拉线。关于“单线复用”,到时候我会再写一篇相关的操作教程。实战:在以往,SSID绑定VLAN的技术只有CISCO、H3C、华为等专业的无线AP才可以实现,应用场景也只局限于企业,但我认为个人用户也很有必要,因为某些客人来你家的时候,连接了你家的wifi,而总有那么一些人手机内的wifi万能钥匙偷偷地将你的密码分享并且上传到了云端,这么一来,有些糙蛋的邻居或者陌生人就能随意地通过wifi万能钥匙来连接你的网络,这就极大地增加了家庭网络的安全隐患。而现在,我们可以通过刷了openwrt或者LEDE的无线路由器来实现。手头上正好有两台网件的NETGEAR wndr3800,我将一台作为主路由,另一台作为无线AP,来配置其实现SSID绑定VLAN。设备:NETGEAR WNDR3800*2系统:LEDE附上接线图(LAN1口作为Trunk口):两台WNDR3800均应刷好LEDE,先配置网关(主路由):在外网配置通畅的前提下,通过web进入主路由的LUCI管理页面,依次进入网络-交换机,配置端口信息。可以发现目前只有一组VLAN,VID为1,这是默认的内网LAN的VLAN,可作为主人网络使用,另外新建一组VLAN作为访客网络,将其VLAN ID设为2,如下图配置:这里我的固件是英文版本,其中untagged和tagged分别在中文版里对应的是不关联和关联,off是关。这里LAN1口tagged的含义是,允许经过该端口的数据帧采用DOT1Q封装,且其对应的VLAN ID为2。配置完成后点击“保存&应用”即可。然后依次进入网络-接口-添加新接口,将刚才新建的VLAN2接口加入此处,并新建一个访客专用的子网192.168.10.0/24,具体操作如下图:然后配置子网及DHCP:然后在下方的“DHCP服务器选项”,点击“配置DHCP服务器”最后点击“保存&应用”即可,这样一来,在网络-接口中可以看到此时主路由已经有了两个网段,一个是默认的192.168.1.0/24,另一个是192.168.10.0/24。我们将默认的192.168.1.0/24作为主人网络,将192.168.10.0/24作为访客网络。接下来是无线AP的配置:同样地,进入网络-交换机,进行如下配置:解释一下:WNDR3800的WAN由于芯片是独立的,因而将其舍弃掉,改用LAN1为上联。所以第一组是保留AP原有的LAN,因而在对无线AP进行配置时,电脑网口应连接AP的LAN2-4任意一口。第二组是Trunk链路,与主路由的VLAN2对应,第三组是交换机模式,与主路由里的主人网络对应。然后进入网络-接口,先将原有的WAN改为eth0.3;进入修改页面后,点击“物理设置”,将原有的接口设置改为交换机 VLAN:"eth0.3"。返回网络-接口页面,点击“添加新接口...”,配置如下:接下来是配置无线网络,LEDE默认已经有了一组网络,我们通过网络-无线页面,点击“修改”按钮进行配置:配置主人网络:在接口配置-基本设置内,ESSID为WIFI的SSID,根据实际需求自定义,密码在“无线安全”里面修改,然后在下方的“网络”里,去除原有的勾,将wan打勾,即将主人WIFI关联到对应的VLAN里。配置访客网络:在网络-无线里点击添加,新建一个无线网络,与上一个步骤类似,只需在接口配置-基本设置里的“网络”选项,勾选“vlan2”即可。这样就实现了不同SSID对应不同VLAN,实现了主人和访客网络的隔离,提高了安全性。
2020年02月26日
5,789 阅读
0 评论
0 点赞
2019-01-24
LEDE固件踢出弱信号客户端,实现WiFi无缝漫游脚本
最近一直在折腾LEDE和openwrt,才发现自己手头的好几个斐讯都弱爆了,首先斐讯K2的2.4G就是个坑,由于其闭源驱动的缘故,导致除了潘多拉固件和Padavan固件外,刷入原生LEDE和OpenWrt的K2在2.4G频段上表现非常差,具体表现为速率忽高忽低,甚至完全没速度,好在我又从淘宝入了两个洋垃圾NETGEAR wndr3800,原先是打算买Cisco洋垃圾的,但是店家缺货,权衡之下购入了WNDR3800。这款路由在有线上表现的很优秀,5口全千兆,CPU为AR7161,频率是680MHz,而无线速率是150Mbps(2.4G)+300Mbps(5G)的组合。由于家里面积较大,每天访客也多,单个AP难以完整覆盖,所以这两个WNDR3800是我特地买来做无线AP用于做覆盖的,后端主路由器是H3C MSR系列路由,并且在WNDR3800上配置了基于SSID的VLAN(下一篇文章会细说),将访客和私有VLAN分离开以确保安全性。传统的wifi漫游是通过FIT模式的无线AP与AC控制器的组合来实现的,而这套设备都非常贵,个人使用完全没必要,因此我选择刷了lede固件的路由器来实现WiFi漫游,其实就是充当胖AP。首要条件就是各个AP的SSID、加密方式、密钥完全一致,然而有了这些条件是不够的,因为在切换AP时,是由于手机信号低于某个阈值,系统自动断开连接,从而导致手机重新搜索WiFi连接,并选择信号最强的AP连接。这个阈值不同厂商设定不一样,且通常为了保持网络的畅通性,这个阈值都会被厂商调的很低,即信号只剩下一格左右才会断开重连,并不会因为旁边有信号更强的AP而重新与它建立连接。所以必须让无线AP根据客户端的信号强度,来决定是否要将客户端踢出,将原本AC做的事情交给AP来做,一旦低于设定的阈值,AP就会向客户端发出Deauthentication信号从而强制让客户端断开连接,然后客户端会重新搜索信号更强的AP,并连接上去以完成漫游过程。LEDE固件的LUCI界面是没有踢出弱信号客户端的选项的,所以所有过程必须通过shell脚本来实现,所以我编写了如下脚本,然后通过系统的crontab计划任务来实现定时检查客户端信号,并判断是否踢出。脚本如下:#!/bin/sh #输入设备名 DEV= #设定阈值,低于该阈值客户端会被踢出 THRESHOLD=-75 CLIENT_COUNT=$(iwinfo $DEV assoclist|grep dBm|awk '{print $1" "$2}'|wc -l) LINE=1 while [ $LINE -le $CLIENT_COUNT ] do MAC=$(iwinfo $DEV assoclist|grep dBm|awk '{print $1}'|sed -n "$LINE"p) SIGNAL=$(iwinfo $DEV assoclist|grep dBm|awk '{print $2}'|sed -n "$LINE"p) if [ "$SIGNAL" -lt "$THRESHOLD" ]; then ubus call hostapd.$DEV del_client '{"addr":"'"$MAC"'", "reason": 5, "deauth": True, "ban_time": 1000}' fi let LINE=LINE+1 done脚本使用说明:1、设备名查看方式:设备名即网卡名,与SSID是一一对应的,不同SSID的设备名不同,查看方法是通过putty或者xshell等软件SSH进入路由器,然后用iwinfo命令即可列出所有无线网卡名和对应的SSID。2、阈值设定:最好是设定在-75到-80之间,阈值过低可能适得其反,导致网络不稳定。3、定时任务的设置方法:系统的crontab不支持设定单位为秒的定任务,因此可以参考这篇文章通过crontab与sleep的结合的方法来实现:https://blog.csdn.net/bk_guo/article/details/54021032
2019年01月24日
9,183 阅读
0 评论
0 点赞
1
2