OpenWrt 是一个基于 Linux 的网络分布式路由项目,广泛应用于企业网络、家用路由器及其他网络设备中,OpenWrt 提供了丰富的网络工具和功能,用户可以通过这些工具来管理、配置和优化网络设备,以下是一些常用的 OpenWrt 网络工具及其用途的总结:
- 功能:用于管理网络接口和路由表。
- 用途:
- 配置网络接口(如 eth, wlan)。
- 设置默认网关和路由表。
- 查看网络接口状态和路由信息。
- 命令:
ip link show ip route show ip route add ip route del
iptables
- 功能:用于基于规则的网络过滤和防火墙配置。
- 用途:
- 设立防火墙规则。
- 管理网络流量(如入站/出站流量)。
- 配置 NAT(网络地址转换)。
- 命令:
iptables -L iptables -A FORWARD -i eth -o eth -j ACCEPT iptables -t nat -A POSTROUTING -o eth -j MASQUERADE
netfilter
- 功能:提供更高级的网络过滤和 NAT 功能。
- 用途:
- 定制复杂的防火墙规则。
- 实现更灵活的网络流量管理。
- 命令:
echo 'nat mark ftp 0' >> /etc/rc.local
dnsmasq
- 功能:提供 DNS 和 DHCP 服务。
- 用途:
- 作为 DHCP 服务器,分配 IP 地址。
- 提供 DNS 解决域名。
- 配置方法:
# 安装 dnsmasq opkg install dnsmasq # 配置 dnsmasq vi /etc/dnsmasq.conf service dnsmasq restart
snmpd
- 功能:提供简单网络管理协议(SNMP)服务。
- 用途:
- 远程监控和管理网络设备。
- 收集设备信息(如 CPU 使用率、内存使用率)。
- 配置方法:
# 安装 snmpd opkg install snmpd # 配置 snmpd vi /etc/snmpd.conf service snmpd restart
OpenWrt 内部工具
- 功能:OpenWrt 提供了一些专门的用户空间工具来管理网络设备。
- 用途:
- 查看网络状态。
- 测试网络连接。
- 分析网络流量。
- 工具:
ipcalc:计算 IP 子网和掩码。traceroute(mtrace):追踪网络路径。arp:查看和修改乙方表。iptables:管理防火墙规则。
- 命令示例:
ipcalc 192.168.1.1/24 mtrace 8.8.8.8
**Luci(LuCI Web Interface)
- 功能:OpenWrt 的 Web 界面,用于配置和管理设备。
- 用途:
- 通过 Web 界面配置网络接口、防火墙规则、DNS 和 DHCP 等。
- 查看设备状态和日志。
- 进行远程管理。
- 访问方式:
- 默认端口:
http://192.168.1.1:808 - 登录账号:默认用户名和密码通常是
root或admin。
- 默认端口:
Shell 脚本和定制工具
- 功能:通过 Shell 脚本或定制工具自动化网络配置。
- 用途:
- 自动安装、更新软件包。
- 自动配置防火墙规则。
- 自动分配 IP 地址。
- 示例:
# 自动安装并配置 Nginx echo 'iptables -A FORWARD -i eth -o eth -j ACCEPT' >> /etc/rc.local echo 'opkg install nginx' >> /etc/rc.local echo 'service nginx start' >> /etc/rc.local /etc/rc.local
性能优化工具
- 功能:优化网络设备的性能。
- 工具:
tc(流量控制):管理带宽和延迟。iperf:测试网络带宽。ss(socket statistics):查看 socket 统计信息。
- 命令示例:
# 配置带宽限制 echo 'tc qdisc add dev eth root 0:1 100 100' >> /etc/rc.local # 测试带宽 iperf3 -p 1 -n 100
OpenWrt 内核模块
- 功能:OpenWrt 内核提供了一些专门的模块来管理网络。
- 模块:
network:网络设备接口模块。mac80211:无线网络模块。nl80211:802.11协议栈模块。
- 用途:
- 定制网络驱动。
- 支持多种无线网络标准(如802.11a/b/g/n/ac)。
- 实现高级网络功能(如802.11r/WPA3)。
远程管理工具
- 功能:通过 SSH 或 Telnet 远程管理 OpenWrt 设备。
- 用途:
- 使用
telnet或ssh远程登录设备。 - 执行远程命令和脚本。
- 管理设备状态和日志。
- 使用
- 命令示例:
# 远程登录 ssh root@192.168.1.1 # 执行远程命令 ssh 192.168.1.1 'echo "Hello OpenWrt!" && exit'
网络模块开发
- 功能:开发和测试 OpenWrt 的网络模块。
- 工具:
kbuild:内核模块构建工具。Kernel Debugger:调试内核模块。Kernel Testing Framework:测试内核功能。
- 用途:
- 定制网络接口和协议栈。
- 开发和优化 OpenWrt 的核心网络功能。
OpenWrt 提供了丰富的网络工具和功能,用户可以根据需求选择合适的工具进行配置和管理,无论是基础的网络管理,还是高级的性能优化,OpenWrt 都能满足需求。




