openwrt是嵌入式设备上运行的linux系统。OpenWrt的文件系统是可写的,开发者无需在每一次修改后重新编译,令它更像一个小型的 Linux 电脑系统,也加快了开发速度。你会发现无论是 ARM, PowerPC或MIPS的处理器,都有很好的支持。并且附带3000左右的软件包,用户可以方便的自定义功能来制作固件。也可以方便的移植各类功能到openwrt下。
默认账号:root
默认密码:root
ssh 登陆路由器
路由背板拿针捅5秒,重置路由设置
路由lan口和电脑直连
192.168.1.1 登陆路由
System - Administration
Allow SSH password authentication
Allow the root user to login with password
删除 $HOME/.ssh/known_hosts 文件
ssh -l root ip 登陆openwrt
连接上级路由
由于连接wifi需要创建一个interface,但是手动创建的interface无法激活wifi链接(web配置页面不知道怎么用),所以使用手机热点自动创建interface
打开手机热点
Network - wifi - Scan
选择刚才的手机热点名称 Join Network
WPA passphrase 上级路由密码
Name of the new network interface 名称(随便起,容易区分开就可以)
然后点击Submit
General Setup
Operating frequency N 6 20
ESSID 连接的上级路由SSID
BSSID 上级路由的mac地址 以冒号分隔 xx:xx:xx:xx:xx:xx 不知道可以不填
Mode Client 连接上级路由模式
Network 刚才起的interface名称,默认就是这个
Wireless Security
Encryption WPA2-PSK
Cipher auto
key 上级路由密码 这个也在刚才的页面自动填上了,不用动
save and accept
更新语言包
更新 并 安装语言包
opkg update
opkg install luci
opkg install luci-i18n-base-zh-cn
opkg install luci-i18n-firewall-zh-cn
安装 基础包 语言包 防火墙语言包
2. web 更改配置
System - System - Language and Style
language - 普通话
3. 注销 重新登陆
创建wifi热点
网络 - wifi - 添加
General Setup
ESSID SSID名称(wifi名称)
Mode Access Point(接入点AP)
Network lan
Wireless Security
Encryption WPA2-PSK
Cipher auto
key wifi密码
save and accept
system - interface
IPV4 address 192.168.5.1
DNS Server
动态DHCP 选中
强制开启DHCP 选中
DHCP选项 3,192.168.5.1
保存并应用
5. 至此本地连接已经无法连接,可以用手机连接wifi 查看连同效果了
一级路由 内网设备 与 openwrt连通
network - firewall
input accept
output accept
forward accept
save and accept
映射81端口为openwrt80端口
网络 - 防火墙 - 端口转发 - 添加
外部端口 81
内部ip地址 openwrt IP (192.168.5.1)
内部端口 80
DMZ主机
网络 - 防火墙 - 端口转发 - 添加
内部ip地址 子网主机ip
注意:设置完dmz以后,访问路由页面直接映射到子网主机,所以一定要修改默认的路由端口映射
设置pppoe连接猫
Network - Interfaces - WAN - Edit
Protocal PPPoE
输入 账号 密码
Save & Apply
首先需要建立一个guest接口
vim /etc/config/network
config interface 'guest'
option _orig_ifname 'wlan0-1'
option _orig_bridge 'true'
option proto 'static'
option ipaddr '192.168.2.1'
option netmask '255.255.255.0'
vim /etc/config/dhcp
config dhcp 'guest'
option start '100'
option leasetime '12h'
option limit '150'
option interface 'guest'
接着新建一个用于Guest的无线网络
vim /etc/config/wireless
config wifi-iface
option device 'radio0'
option mode 'ap'
option ssid 'guestwifi'
option encryption 'psk2'
option key '88888888'
option network 'guest'
如果你希望guest下的客户端间不能相互访问,可以使用 option isolate ‘1’ 属性进行隔离。
这样,你在luci界面下可以看出有一个白色的叫做“guest”的接口,并与一个叫做momo的AP进行了桥接,但是现在是无法上网的,因为并没有配置防火墙。
现在进行配置防火墙
vim /etc/config/firewall
config zone
option name 'guest'
option input 'ACCEPT'
option forward 'REJECT'
option output 'ACCEPT'
option network 'guest'
config forwarding
option src 'guest'
option dest 'wan'
与其它接口隔离
如果在lan下的AP拥有自己私有的NAS,电视等设备,想象一下自己的照片、备份肯定不想暴露给访客吧,由于guest -> lan 的访问默认是打开的,所以需要将此防火墙规则进行设置
vim /etc/config/firewall
config rule
option enabled '1'
option name 'Deny Guest -> LAN'
option proto 'all'
option src 'guest'
option dest_ip '192.168.1.1/24'
option target 'REJECT'
最后配置限速,这里的限速是接口级限速,所有访问Guest-AP的用户共享此限速带宽,而不用采用Mac或者IP等占用CPU的上层协议限速了。
限速问题不太好优化,暂时忽略掉
opkg update
opkg install luci-app-wshaper
安装完成后,在浏览器中在wshaper中进行配置即可,注意单位是bit,所以假如需要限速125KB/S时,需要填写为1000kbit
IP 与 MAC 地址绑定
vim /etc/config/dhcp
config host
option name 'hostname'
option mac 'xx:xx:xx:xx:xx:xx'
option ip 'xxx.xxx.xxx.xxx'
每个映射一个config块 web页面里,可以在网络-DHCP/DNS-静态地址分配中添加
2. 重启路由器
3. 设备重新连接路由器
确保读取ethers文件
vim /etc/config/dhcp
找到dnsmasq一节,确保readethers值为1
config dnsmasq
option readethers '1'
设定绑定信息
vim /etc/ethers
填写[mac地址] [ip]的对应列表
xx:xx:xx:xx:xx:xx xxx.xxx.xxx.xxx
00:15:17:CB:65:D4 192.168.1.101
中间可以用空格或者tab隔开,不可以添加注释
重启路由器
reboot
按照网上说,重启dns和断开手机重新连接路由器就可以,但是实际测试无效.索性直接重启路由(web界面重启也可能无效,必要时需要断电重启)
最近的一次发现,配置完mac地址映射,重启路由也无效,主机分配的IP地址依然是旧的,所以openwrt进行了断电重启
mac 白名单
vim /etc/config/wireless
config wifi-iface
option device 'radio0'
option mode 'ap'
option hidden '1'
option encryption 'psk2'
option key 'mypassword'
option ssid 'myssid'
option network 'lan'
option macfilter 'allow'
list maclist 'xx:xx:xx:xx:xx:xx'
list maclist 'yy:yy:yy:yy:yy:yy'
只允许特定mac地址登陆路由器管理界面
vim /etc/config/firewall
config rule
option enabled '1'
option target 'ACCEPT'
option src 'lan'
option dest 'wan'
option name 'Only PC admin'
option src_mac 'xx:xx:xx:xx:xx:xx'
option dest_ip '192.168.1.1'
config rule
option enabled '1'
option dest 'wan'
option name 'Deny Other mac admin'
option src '*'
option dest_ip '192.168.1.1'
option target 'REJECT'
根据mac地址限制上网时间
ssh连接到openwrt
打开防火墙配置文件,添加规则
vim /etc/firewall.user
iptables -I FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -m time --timestart 13:30:00 --timestop 00:00:00 -j DROP
值得注意的是iptables 使用的UTC时间,如果和本地时间存在时区差异,请先把时间修正为UTC时间,再添加规则
例如:中国位于东八区,所以本地时间(CST)需要在UTC时间的基础上加8小时
上述规则:–timestart 13:30:00 --timestop 00:00:00 应该理解为21:30:00 至 08:00:00
根据url过滤网址
vim /etc/firewall.user
iptables -I FORWARD -s display.intdmp.com -m state --state NEW,RELATED,ESTABLISHED -j DROP
中继无新子网
luci-proto-relay
https://www.right.com.cn/FORUM/thread-190115-1-1.html
http://pywilson.lofter.com/post/1cc9d15e_ce5ef9d
https://blog.cavebeat.org/2012/08/openwrt-bridge-with-relayd-pseudobridge/
https://stackoverflow.com/questions/29555697/luci-openwrt-wifi-bridge-client-how-to-configure
https://openwrt.org/docs/guide-user/network/wifi/relay_configuration
http://downloads.openwrt.org/releases/18.06.6/targets/ar71xx/generic/
更新rom
下载固件:
如果是原厂固件下载这个
如果已经是OpenWrt下载
ar71xx-netgear_wndr3800-19.07.0-rc2
ath79-netgear_wndr3800-19.07.1
netgear_wndr3800-squashfs-sysupgrade.bin
ath79是的继任者ar71xx。它是现代化的,其主要目标是将代码转换为Linux上游可接受的形式,以便所有(大多数)整个ar71xx支持的设备可由上游未修补的Linux内核处理。
顺便说下官方现在已经有编译ath79的快照了
web界面更新
打开路由web界面-系统-备份/升级-刷写新的固件-选择文件-刷写固件
提前下载配置文件备份,以防万一
勾选保留配置,可以在更新完固件省去配置的过程
更新完毕后,重新安装luci的语言包,就可以了
更新hosts
网络-DHCP/DNS-HOSTS和解析文件-额外的HOSTS文件-填写一个文件
ssh连接openwrt,编辑刚才的配置文件
vim /etc/myhosts
[ip] [url]
127.0.0.1 www.baidu.com
重启dnsmasq服务
电脑网卡配置的dns必须是路由上的dns才能生效
cat /etc/resolv.conf
最近的操作中打算升级libubox,删除了以后系统就挂了.重启无果.万幸路由买来时候已经刷过U-Boot,拿针捅reset按钮+WPS按钮(前面板右侧靠里),断电重开.直到电源灯系列.
打开192.168.1.1,选择固件更新
常用操作 介绍