OpenWrt 22.03.5 命令行配置详解(TP-LINK WDR4320)

📜基本配置

1. 登录与基础操作

bash 复制代码
ssh root@192.168.1.1
uci show system

2. 网络接口配置(LAN/WAN)

  • 修改 LAN IP:
bash 复制代码
uci set network.lan.ipaddr='192.168.10.1'
uci set network.lan.netmask='255.255.255.0'
uci commit network
/etc/init.d/network restart
  • 设置 WAN(PPPoE 示例):
bash 复制代码
uci set network.wan.proto='pppoe'
uci set network.wan.username='youruser'
uci set network.wan.password='yourpass'
uci commit network
/etc/init.d/network restart

3. DHCP 配置

  • 启用 DHCP:
bash 复制代码
uci set dhcp.lan.start='100'
uci set dhcp.lan.limit='150'
uci set dhcp.lan.leasetime='12h'
uci commit dhcp
/etc/init.d/dnsmasq restart

4. DNS 配置

  • 设置上游 DNS:
bash 复制代码
uci set network.lan.dns='8.8.8.8 1.1.1.1'
uci commit network
/etc/init.d/network restart
  • 本地解析(dnsmasq):
bash 复制代码
uci add_list dhcp.@dnsmasq[0].address='/router.local/192.168.10.1'
uci commit dhcp
/etc/init.d/dnsmasq restart

5. 无线配置(Wi-Fi)

bash 复制代码
uci set wireless.default_radio0.ssid='MyWiFi'
uci set wireless.default_radio0.encryption='psk2'
uci set wireless.default_radio0.key='mypassword'
uci commit wireless
wifi reload

6. 防火墙与端口转发

  • 添加端口转发(外部 8080 → 内部 80):
bash 复制代码
uci add firewall redirect
uci set firewall.@redirect[-1].src='wan'
uci set firewall.@redirect[-1].src_dport='8080'
uci set firewall.@redirect[-1].dest='lan'
uci set firewall.@redirect[-1].dest_ip='192.168.10.100'
uci set firewall.@redirect[-1].dest_port='80'
uci commit firewall
/etc/init.d/firewall restart

7. 端口镜像(交换机 swconfig)

假设 LAN1 为监控端口,LAN2 为镜像源:

bash 复制代码
swconfig dev switch0 set mirror_source_port 2
swconfig dev switch0 set mirror_monitor_port 1
swconfig dev switch0 set apply

8. 软件包管理

bash 复制代码
opkg update
opkg install luci tcpdump nano

📜 初始化脚本(一步到位配置 LAN、Wi-Fi、防火墙)

以下脚本可保存为 /etc/init.d/init_setup.sh 并执行:

bash 复制代码
#!/bin/sh
# 初始化 OpenWrt 22.03.5 基础配置

# LAN 配置
uci set network.lan.ipaddr='192.168.10.1'
uci set network.lan.netmask='255.255.255.0'
uci commit network

# DHCP 配置
uci set dhcp.lan.start='100'
uci set dhcp.lan.limit='150'
uci set dhcp.lan.leasetime='12h'
uci commit dhcp

# DNS 配置
uci set network.lan.dns='8.8.8.8 1.1.1.1'
uci commit network

# Wi-Fi 配置
uci set wireless.default_radio0.ssid='MyWiFi'
uci set wireless.default_radio0.encryption='psk2'
uci set wireless.default_radio0.key='mypassword'
uci commit wireless

# 防火墙端口转发
uci add firewall redirect
uci set firewall.@redirect[-1].src='wan'
uci set firewall.@redirect[-1].src_dport='8080'
uci set firewall.@redirect[-1].dest='lan'
uci set firewall.@redirect[-1].dest_ip='192.168.10.100'
uci set firewall.@redirect[-1].dest_port='80'
uci commit firewall

# 应用配置
/etc/init.d/network restart
/etc/init.d/dnsmasq restart
/etc/init.d/firewall restart
wifi reload

执行:

bash 复制代码
sh /etc/init.d/init_setup.sh

⚠️ 注意事项

  • 修改 SSID 和密码时要避免弱口令。
  • 端口镜像依赖硬件交换机驱动(swconfig),不同型号可能有所差异。
  • 每次 uci 修改后必须 commit 并重启相关服务。

下面是对 初始化脚本 的扩展,加入 IPv6 禁用、防火墙默认策略、MSS clamp 等更安全的配置。这样执行一次脚本,就能完成基础网络、Wi-Fi、防火墙、DHCP/DNS,同时强化安全策略。


🔒 扩展后的初始化脚本

保存为 /etc/init.d/init_setup.sh 并执行:

bash 复制代码
#!/bin/sh
# 初始化 OpenWrt 22.03.5 基础配置 + 安全扩展

### 1. LAN 配置
uci set network.lan.ipaddr='192.168.10.1'
uci set network.lan.netmask='255.255.255.0'
uci commit network

### 2. DHCP 配置
uci set dhcp.lan.start='100'
uci set dhcp.lan.limit='150'
uci set dhcp.lan.leasetime='12h'
uci commit dhcp

### 3. DNS 配置
uci set network.lan.dns='8.8.8.8 1.1.1.1'
uci commit network

### 4. Wi-Fi 配置
uci set wireless.default_radio0.ssid='MyWiFi'
uci set wireless.default_radio0.encryption='psk2'
uci set wireless.default_radio0.key='mypassword'
uci commit wireless

### 5. 防火墙端口转发(示例:外部8080 → 内部80)
uci add firewall redirect
uci set firewall.@redirect[-1].src='wan'
uci set firewall.@redirect[-1].src_dport='8080'
uci set firewall.@redirect[-1].dest='lan'
uci set firewall.@redirect[-1].dest_ip='192.168.10.100'
uci set firewall.@redirect[-1].dest_port='80'
uci commit firewall

### 6. IPv6 禁用
uci set network.lan.ip6assign='0'
uci set network.wan6=network.wan6
uci set network.wan6.proto='none'
uci commit network

### 7. 防火墙默认策略(更安全)
uci set firewall.@defaults[0].input='ACCEPT'
uci set firewall.@defaults[0].output='ACCEPT'
uci set firewall.@defaults[0].forward='DROP'
uci commit firewall

### 8. MSS Clamp(防止 MTU 问题)
uci add firewall rule
uci set firewall.@rule[-1].name='MSS-Clamp'
uci set firewall.@rule[-1].src='wan'
uci set firewall.@rule[-1].proto='tcp'
uci set firewall.@rule[-1].family='ipv4'
uci set firewall.@rule[-1].target='TCPMSS'
uci set firewall.@rule[-1].tcp_flags='SYN,RST'
uci set firewall.@rule[-1].tcp_mss='clamp-to-pmtu'
uci commit firewall

### 9. 应用配置
/etc/init.d/network restart
/etc/init.d/dnsmasq restart
/etc/init.d/firewall restart
wifi reload

🛡️ 配置说明

  • IPv6 禁用:避免设备自动获取 IPv6 地址,减少暴露面。
  • 防火墙默认策略:
    • input=ACCEPT → 允许路由器本机访问
    • output=ACCEPT → 允许路由器发出流量
    • forward=DROP → 默认禁止跨网段转发,避免未授权流量
  • MSS Clamp:自动调整 TCP MSS,防止 PPPoE/隧道环境下 MTU 不匹配导致连接异常。

这样脚本执行后,你的路由器就具备了 LAN、Wi-Fi、防火墙、DHCP/DNS 的完整配置,并且额外强化了 IPv6 禁用、防火墙安全策略、MSS clamp

相关推荐
阿白的白日梦10 小时前
winget基础管理---更新/修改源为国内源
windows
YuMiao11 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean4 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
埃博拉酱4 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
茶杯梦轩4 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
唐宋元明清21885 天前
.NET 本地Db数据库-技术方案选型
windows·c#
海天鹰5 天前
【免费】PHP主机=域名+解析+主机
服务器
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql