openwrt 配置
这里就不讲怎么安装 openwrt 了,如果在安装 luci 时访问 openwrt 源比较慢,可以考虑使用 ss 代理访问 openwrt 源,详细操作请参考: ss 代理 openwrt
官方提供的 openwrt 估计登录账号是 root,密码是 password
安装中文包
远程连接 openwrt 并在终端执行opkg install luci-i18n-base-zh-cn
修改主机密码
执行passwd root
并设置密码.
修改时区
修改 ssh 端口
配置 WAN 接口
用于路由器拨号设置:
配置 LAN 接口
用于局域网配置:
配置无线网络
openwrt 的 2.4g 网速很差,但5 g 有些问题,所以配置 5G 网络时要按如下图的配置.
配置 opkg 代理源
默认源:
src/gz openwrt_core http://downloads.openwrt.org/releases/19.07.2/targets/ramips/mt7621/packages
src/gz openwrt_kmods http://downloads.openwrt.org/releases/19.07.2/targets/ramips/mt7621/kmods/4.14.171-1-2e88863ccdd594fb8e842df3c25842ee
src/gz openwrt_base http://downloads.openwrt.org/releases/19.07.2/packages/mipsel_24kc/base
src/gz openwrt_luci http://downloads.openwrt.org/releases/19.07.2/packages/mipsel_24kc/luci
src/gz openwrt_packages http://downloads.openwrt.org/releases/19.07.2/packages/mipsel_24kc/packages
src/gz openwrt_routing http://downloads.openwrt.org/releases/19.07.2/packages/mipsel_24kc/routing
src/gz openwrt_telephony http://downloads.openwrt.org/releases/19.07.2/packages/mipsel_24kc/telephony
配置防火墙
批量更新软件
opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade
定时重启路由和关闭 WIFI
配置路由器访问光猫登录地址
ifconfig eth0 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
iptables -I forwarding_rule -d 192.168.1.1 -j ACCEPT
iptables -t nat -I postrouting_rule -d 192.168.1.1 -j MASQUERADE
其中第一行第一个是与光猫同网段的任意一个 ip,用于分配给路由器。eth0
是光猫连接的路由器端口。 第二三行是光猫的实际 ip.
上面命令重启后需要重新执行,可以加到开机启动项里。
安装 ss
安装 shadowsocks-libev 相关的包
opkg update
opkg install shadowsocks-libev-config shadowsocks-libev-ss-local shadowsocks-libev-ss-redir shadowsocks-libev-ss-rules shadowsocks-libev-ss-tunnel luci-app-shadowsocks-libev luci-i18n-shadowsocks-libev-zh-cn
基础配置
进入 openwrt web 配置界面,选择 Service->shadowsocks-libev
点击 Remote Servers, 里面已经默认配置一个服务器 sss0,修改地址,端口,密码,加密方式,最重要的,将 disabled 的勾去掉,点击 save&apply 按钮。
再点击 Local Instances, 点击 ss-local.cfgXXXXX (XXX 为随机数字)条目对应的 Disabled 按钮,将其变成 Enabled,点击 Save & Apply。配置保存生效以后, ss-local.cfgXXXX 条目的 Running 状态由 no 变为 yes。这时,路由器上已经运行一个 SOCKS5 服务器,端口 1080。设置电脑浏览器的代理服务器为路由器地址,端口 1080,尝试访问谷歌,如果成功则说明 ss 客户端在 openwrt 上工作一切正常。
接着要测试 iptables+ss-redir 自动转发代理(透明代理)的功能,在 Local Instances 中,将 ss-redir.hi 设为 Enabled。再点击 Redir Rules, Disabled 勾去掉,点击 Destination Settings,dst default 由 bypass 改为 forward。点击 Save&Apply 使配置生效。将电脑浏览器的代理设置取消,访问谷歌,如果成功,则说明无条件透明代理设置成功。所有数据包都由路由器转发到 ss 服务器了。
误删除 Dropbear 致不能 ssh
问题是这样发生的,我误删了 系统-管理权-SSH 访问-Dropbear 实例
导致不能 ssh 连接 openwrt
解决办法:
1: 先去系统-software-installed
中删除dropbear
,这是它会提示你还有一些 dropbear 配置相关的文件没有删除,记住这些配置文件的路径(有两个配置文件).我们必须要删除这些配置文件,不然即使重装 dropbear 也还是无法 ssh 连接 openwrt.
2: 去系统-启动项-本地启动脚本
,在exit 0
前面添加 rm -rf dropbear配置文件路径
3: 重启路由器
4: 重新安装 dropbear.
备份 openwrt 配置
编译 openwrt 固件
流行的有两种方法:
1: 下载 openwrt 源码,再执行一系列 make 操作...详细请参考源码编译 openwrt参考 1
2: 使用 Image Builder 自定义 openwrt 配置. 去各芯片架构 imageBuilder,选择匹配自己路由器的芯片架构目录,然后往下翻到底,会看到这样名称的文件,如: openwrt-imagebuilder-19.07.2-ramips-mt7621.Linux-x86_64.tar.xz
另外还有通过 SDK 进行编译的.