首页
关于本博客
友情链接
推荐
linux/shell
Search
1
LEDE官方固件安装中文语言包的方法
11,081 阅读
2
LEDE固件踢出弱信号客户端,实现WiFi无缝漫游脚本
9,161 阅读
3
基于CloudFlare API的纯Shell动态DNS(DDNS)脚本
8,135 阅读
4
一次OpenVPN交叉编译笔记
6,639 阅读
5
利用iptables的string模块来屏蔽域名(关键词匹配)
6,091 阅读
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
C#
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
互联网应用
IP地址段汇总
登录
Search
标签搜索
nginx
openvpn
cloudflare
seafile
iptables
openssl
linux
lede
letsencrypt
openvpn配置模板
ftp
nas
vsftpd
seafile服务器
Linux启动脚本
ddns
SSH
seafile网盘
openwrt
CentOS
自渡
累计撰写
69
篇文章
累计收到
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
互联网应用
IP地址段汇总
页面
关于本博客
友情链接
推荐
linux/shell
搜索到
3
篇与
OpenWrt/LEDE
的结果
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,749 阅读
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,161 阅读
0 评论
0 点赞
2018-12-22
LEDE官方固件安装中文语言包的方法
在刷入原版lede固件时,默认系统的语言是英文的,看着很不习惯,所以必须将它改为中文。打开路由器的WEB界面,默认是192.168.1.1,密码为空(为了安全起见应该自行设置密码)。可以看到首页如下进入软件包安装界面先更新一下软件列表根据下图操作并点击install安装中文包安装完毕后,还不是中文,需要手动调整。操作如下:将语言切换为中文(Chinese)然后保存应用即可
2018年12月22日
11,081 阅读
0 评论
0 点赞