OpenWrt 完整入门教程 - 从安装到高级配置实战指南
前言
OpenWrt 是一个专为嵌入式设备设计的 Linux 发行版,主要用于路由器和其他网络设备。与原厂固件相比,OpenWrt 提供了完全可写的文件系统、包管理系统和强大的网络功能。本文详细介绍 OpenWrt 的安装、配置、常用功能和高级应用,帮助你充分利用路由器的性能。
官方网站:https://openwrt.org/
当前版本:23.05.5(2024 年最新稳定版)
一、OpenWrt 简介
1.1 什么是 OpenWrt
OpenWrt 不是一个单一且不可更改的固件,而是一个完全可写的文件系统的框架。这意味着你可以:
- 添加或删除软件包:通过 opkg 包管理器安装数千个软件包
- 完全自定义配置:所有配置文件都可以手动编辑
- 扩展功能:将普通路由器变成多功能网络中心
- 持续更新:获得最新的安全补丁和功能
1.2 OpenWrt vs 原厂固件
| 特性 | OpenWrt | 原厂固件 |
|---|---|---|
| 文件系统 | 完全可写 | 只读 |
| 软件包 | 数千个可选 | 固定功能 |
| 更新频率 | 持续更新 | 偶尔更新 |
| 自定义程度 | 完全自定义 | 有限配置 |
| 安全性 | 及时安全补丁 | 依赖厂商 |
| 性能优化 | 可精细调优 | 固定配置 |
1.3 适用设备
- 家用路由器:小米、华硕、网件、TP-Link 等
- 企业级设备:Ubiquiti、MikroTik 等
- 开发板:树莓派、NanoPi、Banana Pi 等
- x86 设备:旧电脑、虚拟机、软路由
二、安装 OpenWrt
2.1 准备工作
检查设备兼容性
- 访问 OpenWrt 设备数据库
- 搜索你的路由器型号
- 确认支持状态和安装方法
- 下载对应的固件文件
所需工具
# Windows 用户
- WinSCP(文件传输)
- PuTTY(SSH 连接)
- 浏览器
# Linux/Mac 用户
- scp(文件传输)
- ssh(SSH 连接)
- 浏览器
# 通用
- 网线
- 电脑
- 备份原厂固件(可选但推荐)
2.2 安装方法
方法 1:Web 界面刷入(推荐新手)
- 登录原厂管理界面
# 常见默认地址 http://192.168.0.1 http://192.168.1.1 http://192.168.31.1 # 小米 http://192.168.50.1 # 华硕 # 常见默认账号密码 admin/admin admin/password root/admin - 上传 OpenWrt 固件
- 找到"固件升级"或"系统更新"选项
- 选择下载的 OpenWrt 固件文件(.img 或 .bin)
- 点击上传并等待(约 2-5 分钟)
- 路由器会自动重启
- 首次访问 OpenWrt
# OpenWrt 默认地址 http://192.168.1.1 # 默认账号密码 用户名:root 密码:无(直接登录) # 首次登录后立即设置密码!
方法 2:TFTP 刷入(通用方法)
- 配置电脑 TFTP 服务器
# Windows:使用 Tftpd64 1. 下载 Tftpd64 2. 将固件重命名为特定名称(因设备而异) 3. 设置当前目录为固件所在文件夹 4. 设置服务器接口为路由器网段 # Linux:使用 atftpd sudo apt install atftpd sudo atftpd --daemon --port 69 /tftpboot # 将固件放入 /tftpboot 目录 - 设置电脑 IP
# 常见路由器 TFTP IP 设置 IP 地址:192.168.1.2 子网掩码:255.255.255.0 网关:192.168.1.1 - 进入路由器恢复模式
- 路由器断电
- 按住 Reset 按钮(或特定组合键)
- 通电后继续按住 10-15 秒
- 路由器会自动从 TFTP 服务器下载固件
- 等待刷入完成
- 观察 TFTP 软件进度条
- 等待路由器自动重启
- 访问 192.168.1.1 确认
方法 3:SSH 刷入(适合有经验用户)
# 1. SSH 登录原厂固件(如果支持)
ssh root@192.168.1.1
# 2. 上传固件到路由器
scp openwrt.bin root@192.168.1.1:/tmp/
# 3. SSH 登录路由器
ssh root@192.168.1.1
# 4. 刷入固件(命令因设备而异)
# 通用方法(危险!请确认设备支持)
sysupgrade -n /tmp/openwrt.bin
# 或使用特定命令(查阅设备文档)
mtd -r write /tmp/openwrt.bin firmware
# 5. 等待重启(不要断电!)
方法 4:x86 设备/虚拟机安装
# 1. 下载 x86 镜像
# 从 https://downloads.openwrt.org/releases/
# 选择 latest-x86-64-generic-ext4-combined.img.gz
# 2. 解压镜像
gunzip openwrt-*.img.gz
# 3. 写入 U 盘或硬盘
# Linux/Mac
sudo dd if=openwrt.img of=/dev/sdX bs=4M status=progress
# Windows 使用 Rufus 或 Win32 Disk Imager
# 4. 从 U 盘/硬盘启动
# 进入 BIOS 设置从 USB 或硬盘启动
# 5. 首次启动后配置网络
# 默认 IP: 192.168.1.1
2.3 首次配置
设置管理员密码
# Web 界面设置
1. 登录 http://192.168.1.1
2. 点击"系统" → "管理权"
3. 在"密码"字段输入新密码
4. 点击"保存&应用"
# 或通过 SSH
ssh root@192.168.1.1
passwd
# 输入两次新密码
配置 WAN 口上网
# Web 界面配置
1. 点击"网络" → "接口"
2. 点击"WAN"接口的"编辑"
3. 选择协议:
- DHCP 客户端(光猫拨号)
- PPPoE(路由器拨号)
- 静态 IP(固定 IP)
4. 填写相应参数
5. 点击"保存&应用"
# PPPoE 拨号示例
协议:PPPoE
用户名:宽带账号
密码:宽带密码
PAP/CHAP:自动
配置 LAN 口网络
# 修改 LAN 口 IP(可选)
1. 点击"网络" → "接口"
2. 点击"LAN"接口的"编辑"
3. 修改 IPv4 地址(如 192.168.10.1)
4. 修改子网掩码(通常 255.255.255.0)
5. 点击"保存&应用"
# 注意:修改后需要用新 IP 访问管理界面
配置 WiFi
# Web 界面配置
1. 点击"网络" → "无线"
2. 点击对应频段的"编辑"(2.4G 或 5G)
3. 配置基本设置:
- ESSID(WiFi 名称)
- 无线安全:WPA2-PSK/WPA3-SAE
- 密钥:WiFi 密码
4. 高级设置(可选):
- 信道:自动或手动选择
- 频宽:20/40/80MHz
- 发射功率:根据需求调整
5. 点击"保存&应用"
三、软件包管理
3.1 opkg 包管理器
更新软件包列表
# 更新软件包列表
opkg update
# 如果更新失败,检查网络或更换镜像源
搜索软件包
# 搜索软件包
opkg find 关键词
# 示例
opkg find vim
opkg find docker
opkg find adblock
安装软件包
# 安装单个软件包
opkg install 包名
# 安装多个软件包
opkg install 包 1 包 2 包 3
# 示例
opkg install vim htop
opkg install docker dockerd
卸载软件包
# 卸载软件包
opkg remove 包名
# 卸载并清理配置
opkg remove --force-removal-of-dependent-packages 包名
查看已安装软件包
# 列出所有已安装软件包
opkg list-installed
# 查看特定软件包信息
opkg info 包名
3.2 更换软件源(国内加速)
# 编辑软件源配置文件
vi /etc/opkg/distfeeds.conf
# 注释掉官方源,添加国内镜像
# 清华大学镜像源
src/gz openwrt_core https://mirror.tuna.tsinghua.edu.cn/openwrt/releases/23.05/packages/x86_64/base
src/gz openwrt_routing https://mirror.tuna.tsinghua.edu.cn/openwrt/releases/23.05/packages/x86_64/routing
src/gz openwrt_packages https://mirror.tuna.tsinghua.edu.cn/openwrt/releases/23.05/packages/x86_64/packages
src/gz openwrt_telephony https://mirror.tuna.tsinghua.edu.cn/openwrt/releases/23.05/packages/x86_64/telephony
# 或者使用中科大镜像源
src/gz openwrt_core https://mirrors.ustc.edu.cn/openwrt/releases/23.05/packages/x86_64/base
# 更新软件包列表
opkg update
四、常用功能配置
4.1 科学上网(请遵守当地法律法规)
安装 PassWall
# 添加 PassWall 源
echo "src/gz passwall https://raw.githubusercontent.com/xiaorouji/openwrt-passwall-packages/main/openwrt-23.05" >> /etc/opkg/customfeeds.conf
# 更新并安装
opkg update
opkg install passwall
安装 OpenClash
# 安装依赖
opkg install wget curl ca-certificates
# 下载 OpenClash
cd /tmp
wget https://github.com/vernesong/OpenClash/releases/download/master/luci-app-openclash_*.ipk
# 安装
opkg install luci-app-openclash_*.ipk
# 更新规则
# Web 界面:OpenClash → 规则管理 → 更新规则
4.2 广告过滤
安装 AdGuard Home
# 安装 AdGuard Home
opkg update
opkg install adguardhome
# 配置 DNS 转发
# 1. 访问 http://192.168.1.1:3000
# 2. 完成初始设置
# 3. 配置上游 DNS 服务器
# 4. 设置过滤规则
安装简单广告过滤
# 安装广告过滤包
opkg install luci-app-adblock
# Web 界面配置
# 服务 → AdBlock
# 启用广告过滤
# 选择过滤列表
# 点击"保存&应用"
4.3 Docker 支持
安装 Docker
# 安装 Docker
opkg update
opkg install docker dockerd
# 启动 Docker
/etc/init.d/dockerd enable
/etc/init.d/dockerd start
# 验证安装
docker --version
docker info
# 运行容器示例
docker run --rm hello-world
安装 Portainer(Docker 管理界面)
# 创建数据卷
docker volume create portainer_data
# 运行 Portainer
docker run -d \
--name portainer \
--restart always \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
# 访问 http://192.168.1.1:9000
4.4 网络存储(NAS)
安装 Samba 共享
# 安装 Samba
opkg update
opkg install samba36-server
# 创建共享目录
mkdir -p /mnt/sda1/share
# 配置 Samba
vi /etc/samba/smb.conf
# 添加共享配置
[share]
path = /mnt/sda1/share
browseable = yes
read only = no
guest ok = yes
create mask = 0755
# 启动 Samba
/etc/init.d/samba enable
/etc/init.d/samba start
# 访问 \\192.168.1.1\share
安装 FTP 服务器
# 安装 vsftpd
opkg install vsftpd
# 配置 FTP
vi /etc/vsftpd.conf
# 启动服务
/etc/init.d/vsftpd enable
/etc/init.d/vsftpd start
4.5 远程管理
启用 SSH 访问
# SSH 默认已启用
# 使用 SSH 客户端连接
ssh root@192.168.1.1
# 修改 SSH 端口(增强安全性)
vi /etc/config/dropbear
# 修改 Port 字段
config dropbear
option Port '2222'
# 重启 SSH
/etc/init.d/dropbear restart
安装 Web 管理增强
# 安装中文语言包
opkg install luci-i18n-base-zh-cn
# 安装主题
opkg install luci-theme-argon
opkg install luci-app-argon-config
# Web 界面选择主题
系统 → 风格 → 选择 Argon
配置 DDNS(动态域名)
# 安装 DDNS
opkg install luci-app-ddns
# Web 界面配置
服务 → 动态 DNS
新建配置:
- 域名服务商:选择你的服务商
- 域名:你的域名
- 用户名/密码:API 凭证
- 网络接口:WAN
- 保存并启用
五、高级功能
5.1 多拨叠加
# 安装多拨插件
opkg install luci-app-mwan3
# 配置多拨
网络 → 负载均衡
添加 WAN 接口
配置权重和规则
# 注意:需要宽带运营商支持
5.2 VLAN 配置
# 编辑网络配置
vi /etc/config/network
# 添加 VLAN
config switch_vlan
option device 'switch0'
option vlan '10'
option ports '1 2 3 4 5t'
# 重启网络
/etc/init.d/network restart
5.3 流量监控
# 安装流量监控
opkg install luci-app-nlbwmon
# 启动服务
/etc/init.d/nlbwmon enable
/etc/init.d/nlbwmon start
# Web 界面查看
状态 → 带宽监控
5.4 家长控制
# 安装家长控制
opkg install luci-app-parental-control
# Web 界面配置
服务 → 家长控制
添加规则:
- 设备 MAC 地址
- 允许上网时间段
- 禁止访问的网站
六、性能优化
6.1 内存优化
# 查看内存使用
free -h
top
# 清理缓存
sync
echo 3 > /proc/sys/vm/drop_caches
# 禁用不需要的服务
/etc/init.d/unbound disable
/etc/init.d/dnsmasq disable # 如果使用 AdGuard Home
6.2 网络优化
# 编辑网络优化参数
vi /etc/sysctl.conf
# 添加优化参数
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_fastopen=3
net.ipv4.ip_forward=1
# 应用配置
sysctl -p
6.3 启用 BBR 加速
# 检查 BBR 支持
sysctl net.ipv4.tcp_available_congestion_control
# 启用 BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
# 验证 BBR 启用
sysctl net.ipv4.tcp_congestion_control
七、故障排查
7.1 常见问题
无法访问管理界面
# 检查网络连接
ping 192.168.1.1
# 检查 IP 地址
ipconfig /all # Windows
ifconfig # Linux/Mac
# 重置路由器
按住 Reset 按钮 10 秒
路由器会恢复出厂设置
无法上网
# 检查 WAN 连接
网络 → 接口 → WAN
查看是否获取到 IP
# 检查 DNS
nslookup www.baidu.com
# 重启网络
/etc/init.d/network restart
WiFi 信号弱
# 调整发射功率
网络 → 无线 → 编辑
高级设置 → 发射功率
调整为最大值
# 更换信道
选择较少使用的信道(1、6、11)
7.2 日志查看
# 查看系统日志
logread
# 实时查看日志
logread -f
# 查看内核日志
dmesg
# Web 界面查看
系统 → 系统日志
7.3 备份与恢复
# 备份配置
系统 → 备份/升级
点击"生成存档"
下载配置文件
# 恢复配置
上传备份的配置文件
点击"恢复配置"
# 命令行备份
tar -czf /tmp/config_backup.tar.gz /etc/config
scp root@192.168.1.1:/tmp/config_backup.tar.gz ./
八、安全加固
8.1 基本安全措施
# 1. 设置强密码
passwd
# 2. 禁用 WAN 口 SSH
vi /etc/config/dropbear
option Interface 'lan' # 只允许 LAN 口 SSH
# 3. 修改默认端口
option Port '2222'
# 4. 启用防火墙
/etc/init.d/firewall enable
/etc/init.d/firewall start
# 5. 定期更新
opkg update
opkg upgrade
8.2 防火墙配置
# 编辑防火墙规则
vi /etc/config/firewall
# 添加端口转发
config redirect
option target 'DNAT'
option name 'Web 服务器'
option src 'wan'
option dest 'lan'
option proto 'tcp'
option src_dport '8080'
option dest_ip '192.168.1.100'
option dest_port '80'
# 重启防火墙
/etc/init.d/firewall restart
总结
OpenWrt 是一个功能强大的路由器固件,通过本文的学习,你应该已经掌握了:
- 安装方法:Web、TFTP、SSH、x86 多种安装方式
- 基础配置:密码、网络、WiFi 配置
- 软件包管理:opkg 使用和软件源配置
- 常用功能:广告过滤、Docker、NAS、远程管理
- 高级功能:多拨、VLAN、流量监控
- 性能优化:内存、网络、BBR 加速
- 故障排查:常见问题和日志查看
- 安全加固:密码、防火墙、端口管理
OpenWrt 的魅力在于其无限的可能性,通过安装不同的软件包,你可以将路由器变成:
- 🔒 安全的网络网关
- 📦 轻量级 NAS 服务器
- 🐳 Docker 容器主机
- 📡 广告过滤网关
- 🌐 科学上网网关(请遵守法律法规)
- 📊 网络监控中心
开始你的 OpenWrt 之旅吧!🚀
注:本文基于 OpenWrt 23.05.5 版本编写,不同版本界面可能略有差异。操作前请备份重要数据。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。







