在路由器上安装和配置OpenWrt。它包括安装软件包和设置防火墙、接口和各种网络连接的分步说明。
基本界面
准备:
- 固件
- 待恢复的配置
- 需要安装的软件+运行的命令
配置出问题,直接重刷。同时方便起见,要及时备份当前的配置。
软件包的安装
能在线安装的可以直接在线安装。直接从"系统->软件包"里面找到需要安装的软件。
但有时候在线安装会由于网络,软件源、软件版本等问题,无法自动安装。因此需要我们手动找到ipk文件进行安装。使用下面的命令进行安装。
1 | opkg install XXX |
官方软件下载网页:https://downloads.openwrt.org/releases/
1 | # 系统版本可以直接从管理界面的概况中得知,这里是17.01.4 |
对应我这里的第三方包就是:https://downloads.openwrt.org/releases/17.01.4/packages/mips_24kc/packages/
基础的库:https://downloads.openwrt.org/releases/17.01.4/packages/mips_24kc/base
luci:https://downloads.openwrt.org/releases/17.01.4/packages/mips_24kc/luci/
tmux
以tmux安装为例,该软件无法直接安装。
1 | # 1. 从package里面下载tmux的ipkg文件 |
其他软件应该同理,需要一步一步找到依赖文件,并且耐心地解决各种问题。dw33d内置了一个16g的sd卡,所以我把一些重装必备的ipk文件放到里面,便于快速安装。并且刷写固件并不会影响该sd卡的内容,可以放心存储。
Tailscale
异地组网工具,从官网下载找到mips版本,放到sd卡中,避免刷新固件有影响。相当于单文件就可以运行。
1 | # 解压文件 |
登录完毕之后,组网就完成了。此时,可以关闭该窗口。但为了后台启动,所以可以使用tmux,或者nohup命令。
1 | nohup ./tailscaled --state=tailscaled.state > t.log 2>&1 & |
同时为了保证开机自启动,所以我们可以在web管理界面中"系统->启动项"中,最后的"本地启动脚本"中插入(exit 0
之前行)
1 | # 先切换到对应目录,再执行 |
这样,就能保证异地管理该路由器的web界面,并且可以直接ssh登录
防火墙
"网络->防火墙"中的默认配置,wan口是拒绝入站数据的。这样就会导致如果该路由器跟其他设备同属于一个局域网,ssh和web界面均不能通过ip登录。具体的例子是:
- 该路由器连接了一个上级路由器A,获取到的IP是192.168.0.X。分配给下面的设备的IP是192.168.1.X
- 另一个设备接入路由器A时,获取到的IP是192.168.0.Y。此时能ping通192.168.0.X,但是无法进行ssh,也无法通过192.168.0.X访问管理界面
- 另一个设备接入该路由器时,获取到的IP是192.168.1.Y。此时能够通过ssh和web访问192.168.1.X。
需求:在同局域网下的其他设备也能访问该路由器。
做法:
- 一个简单的做法就是如下图所示,把"防火墙"中的"常规设置"里面的wan口,入站数据从拒绝改成接受。(默认是拒绝入站的)
- 另一个做法是配置"防火墙->端口转发",把需要配置的端口转发出来。如下图所示,web界面的端口是80。所以从wan口出来的访问80端口的流量,直接转发到192.168.4.1(该路由器分配给下面的IP,不是获取的IP)
关于流量规则这里,则是在系统内部决定是否开放某个端口。可以参考默认的一些配置进行开放,一般应该是不需要调整的。
接口
"网络->接口"
我主要会有以下四种上网方式(不会专业术语,简单描述现象):
桥接光猫
- 将路由器WAN口接入光猫LAN口,代替光猫进行拨号,需要知道宽带的账号密码。
- 在WAN口中,协议选择PPPoE,输入账号密码
- 此时该路由器就是主路由器,一般同时有ipv4和ipv6两个地址,假设ipv4的ip为192.168.1.1
- 接入该路由器的设备,由该路由器进行分配ip,ip与路由器同网段,如192.168.1.2
桥接上一级路由器
- 将路由器WAN口接入上一级路由器LAN口,无需知道账号密码
- 在WAN口中,协议选择DHCP客户端
- 在物理设置中,选择桥接接口,默认以太网交换机: eth0开启。勾选两个无线网络。如下图所示
- 此时,IP同上一级路由器同网段,且如果有IPv6,则连接该路由器的设备也有IPv6
做NAT
- 将路由器WAN接入上一级路由器的LAN口,相当于把该路由器做一个新的入口。
- 在WAN中,协议选择DHCP客户端或静态地址(需要额外配置)
- 此时,接入该路由器的设备会独立上一级路由器的设备,即网段不同。
- 注:如果此时还需要ipv6,可以参考这篇文件进行配置。https://www.lategege.com/?p=676
- 简单来说,就是需要选择静态IP,并在WAN口和LAN中的"DHCP服务器"中的IPv6设置中,路由器广告服务,DHCPv6服务,NDP-代理三个均选择中继模式
- 并且在终端中
vim /etc/config/dhcp
,找到config dhcp 'wan'
对应的选项,加入option master '1'
这一行
WiFi放大器
无需网线
"网络->无线"中的搜索,找到需要放大WiFi,加入网络。看情况选择放大2.4G还是5G的WiFi
WPA密钥就是WiFi密码,新的网络名称可以默认也可以另起一个以便区分。
此时接口中会多一个接口
其他同桥接