littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于ESP32的NAT路由器

项目简介

本项目是一个基于ESP32的NAT路由器固件,可将ESP32配置成WiFi NAT路由器。它既能够作为现有WiFi网络的简单扩展器,也能设置独立的WiFi网络供访客或物联网设备使用,还支持端口转发回同一网络的功能。

项目的主要特性和功能

  1. WiFi NAT路由器:ESP32兼具WiFi接入点(AP)和客户端(STA)功能,具备NAT功能,支持网络地址转换与端口转发。
  2. 端口转发:可将外部端口映射到内部网络的特定IP和端口。
  3. Web配置界面:提供简易的Web界面,用户能通过浏览器配置WiFi设置和端口转发规则。
  4. 命令行界面(CLI):通过串口提供命令行界面,可进行WiFi设置配置、状态查看以及端口映射管理等操作。
  5. 性能优化:支持多种优化选项,最大吞吐量可达16 Mbps。
  6. 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】