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