项目简介
本项目是一个基于ESP32的NAT路由器固件,可将ESP32配置成WiFi NAT路由器。它既能够作为现有WiFi网络的简单扩展器,也能设置独立的WiFi网络供访客或物联网设备使用,还支持端口转发回同一网络的功能。
项目的主要特性和功能
- WiFi NAT路由器:ESP32兼具WiFi接入点(AP)和客户端(STA)功能,具备NAT功能,支持网络地址转换与端口转发。
- 端口转发:可将外部端口映射到内部网络的特定IP和端口。
- Web配置界面:提供简易的Web界面,用户能通过浏览器配置WiFi设置和端口转发规则。
- 命令行界面(CLI):通过串口提供命令行界面,可进行WiFi设置配置、状态查看以及端口映射管理等操作。
- 性能优化:支持多种优化选项,最大吞吐量可达16 Mbps。
- LED状态指示:利用板载LED指示WiFi连接状态和设备连接数量。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件。
1. 环境准备:确保已安装ESP-IDF 4.4.0,并配置好开发环境。
2. 替换lwIP文件:把项目中lwip_modified
文件夹里的文件替换ESP-IDF中的相应文件,包括:
- ESP-IDF/components/lwip/lwip/src/core/ipv4/ip4.c
- ESP-IDF/components/lwip/lwip/src/core/ipv4/ip4_napt.c
- ESP-IDF/components/lwip/lwip/src/include/lwip/ip4_napt.h
- ESP-IDF/components/lwip/lwip/src/include/lwip/opt.h
3. 编译项目:
- 运行idf.py menuconfig
进行项目配置。
- 启用以下选项:
- Component config -> LWIP -> [x] Enable copy between Layer2 and Layer3 packets
- Component config -> LWIP -> [x] Enable IP forwarding
- Component config -> LWIP -> [x] Enable NAT (new/experimental)
- 运行idf.py build
编译项目。
4. 烧录固件:使用idf.py flash
将编译好的固件烧录到ESP32。
5. 配置和使用:
- 首次启动后,ESP32会创建名为ESP32_NAT_Router
的开放WiFi网络。
- 通过浏览器访问http://192.168.4.1
进入Web配置界面,配置WiFi设置和端口转发规则。
- 也能通过串口连接到ESP32,使用命令行界面进行配置。
6. 测试和验证:连接到ESP32的WiFi网络,测试NAT功能和端口转发是否正常工作。
注意事项
- 若要禁用Web界面,可通过命令行界面执行相关命令。
- 若要恢复出厂设置,可使用
esptool.py erase_flash
擦除Flash存储。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】