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 准备工作

检查设备兼容性

  1. 访问 OpenWrt 设备数据库
  2. 搜索你的路由器型号
  3. 确认支持状态和安装方法
  4. 下载对应的固件文件

所需工具

# Windows 用户
- WinSCP(文件传输)
- PuTTY(SSH 连接)
- 浏览器

# Linux/Mac 用户
- scp(文件传输)
- ssh(SSH 连接)
- 浏览器

# 通用
- 网线
- 电脑
- 备份原厂固件(可选但推荐)

2.2 安装方法

方法 1:Web 界面刷入(推荐新手)

  1. 登录原厂管理界面
    # 常见默认地址
    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
  2. 上传 OpenWrt 固件
    • 找到"固件升级"或"系统更新"选项
    • 选择下载的 OpenWrt 固件文件(.img 或 .bin)
    • 点击上传并等待(约 2-5 分钟)
    • 路由器会自动重启
  3. 首次访问 OpenWrt
    # OpenWrt 默认地址
    http://192.168.1.1
    
    # 默认账号密码
    用户名:root
    密码:无(直接登录)
    
    # 首次登录后立即设置密码!

方法 2:TFTP 刷入(通用方法)

  1. 配置电脑 TFTP 服务器
    # Windows:使用 Tftpd64
    1. 下载 Tftpd64
    2. 将固件重命名为特定名称(因设备而异)
    3. 设置当前目录为固件所在文件夹
    4. 设置服务器接口为路由器网段
    
    # Linux:使用 atftpd
    sudo apt install atftpd
    sudo atftpd --daemon --port 69 /tftpboot
    
    # 将固件放入 /tftpboot 目录
  2. 设置电脑 IP
    # 常见路由器 TFTP IP 设置
    IP 地址:192.168.1.2
    子网掩码:255.255.255.0
    网关:192.168.1.1
  3. 进入路由器恢复模式
    • 路由器断电
    • 按住 Reset 按钮(或特定组合键)
    • 通电后继续按住 10-15 秒
    • 路由器会自动从 TFTP 服务器下载固件
  4. 等待刷入完成
    • 观察 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 是一个功能强大的路由器固件,通过本文的学习,你应该已经掌握了:

  1. 安装方法:Web、TFTP、SSH、x86 多种安装方式
  2. 基础配置:密码、网络、WiFi 配置
  3. 软件包管理:opkg 使用和软件源配置
  4. 常用功能:广告过滤、Docker、NAS、远程管理
  5. 高级功能:多拨、VLAN、流量监控
  6. 性能优化:内存、网络、BBR 加速
  7. 故障排查:常见问题和日志查看
  8. 安全加固:密码、防火墙、端口管理

OpenWrt 的魅力在于其无限的可能性,通过安装不同的软件包,你可以将路由器变成:

  • 🔒 安全的网络网关
  • 📦 轻量级 NAS 服务器
  • 🐳 Docker 容器主机
  • 📡 广告过滤网关
  • 🌐 科学上网网关(请遵守法律法规)
  • 📊 网络监控中心

开始你的 OpenWrt 之旅吧!🚀


注:本文基于 OpenWrt 23.05.5 版本编写,不同版本界面可能略有差异。操作前请备份重要数据。

发表回复

后才能评论