Linux下网卡实现NAT转发

embedded/2024/12/27 7:19:24/

目标

在嵌入式Linux设备下,使用单一的网卡(前提支持STA+AP共存),使用NAT(网络地址转换)实现软路由,以自身为热点,将接收到的流量数据全部转发出去。

一,STA+AP共存

在嵌入式设备中使用时往往是需要WiFi模块既能上网也能做一个热点,可能用于web配置,或者控制一些子模块,就像物联网的一些WiFi芯片ESP32、ESP8266
而且在安卓手机中很多的设备也是同时支持者两种模式的(后期很多厂家给阉割了)
所以WiFi模块同时支持这两种工作模式还是很有必要的,需要修改驱动配置文件,重新编译ko文件即可,以RTL8733bu模组为例,以下是官方文档给的解决方案👇
在这里插入图片描述
拿到对应的驱动后在autoconf.h文件中,添加宏定义:CONFIG_CONCURRENT_MODE
重新编译驱动后,ifconfig -a就可以 看到两个网络节点,两个都可以sta或ap模式
在这里插入图片描述

二,内核支持

使能内核支持网络地址转换(NAT)和包过滤等功能,配置内核支持以下选项

CONFIG_NETFILTER
CONFIG_IP_NF_IPTABLES
CONFIG_IP_NF_NAT
CONFIG_IP_NF_FILTER
CONFIG_IP_NF_TARGET_MASQUERADE

Networking support -> Networking options -> Network packet filtering framework (Netfilter)
Networking support -> Networking options -> IP tables support
Networking support -> Networking options -> NAT support

三,ip_tables命令

  1. 配置 wlan1 为AP模式(hostapd udhcpd),wlan0为sta模式 (wpa_supplicant udhcpc
    👉Linux下的STA和AP控制
  2. 配置网络共享(NAT 和 IP 转发)
    为了让连接到 wlan1 的设备能够通过 wlan0 上网,必须配置网络地址转换(NAT)和 IP 转发。
    启用 IP 转发:
sysctl -w net.ipv4.ip_forward=1
  1. 配置 NAT:
    使用 iptables 设置 NAT,将 wlan1 的流量通过 wlan0 转发:
iptables --table nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
  1. 连接wlan1产生的热点信息,测试网络连接情况

http://www.ppmy.cn/embedded/145395.html

相关文章

专题二十六_贪心策略(3)_算法专题详细总结

目录 贪心策略 1. 单调递增的数字(medium) 解析: 代码编写: 总结: 2. 坏了的计算器(medium) 解析: 解法一:正向推导: 解法二:正难则反 代…

软考高级架构 - 10.5 软件架构演化评估方法

10.4 软件架构演化原则总结 本节提出了18条架构演化的核心原则,并为每条原则设计了简单而有效的度量方法,用于从系统整体层面提供实用信息,帮助评估和指导架构演化。 演化成本控制:成本小于重新开发成本,经济高效。进…

uniapp小程序 slot中无法传递外部参数的解决方案

最近在封装一个List组件&#xff0c;外部传给我数据&#xff0c;我循环后将每个Item部分slot到外部&#xff0c;由调用者自己去写item布局&#xff0c;类似ElementUI、iView的Tabe列表。 List: <view v-if"list.length > 0" class"list-scroll__item&quo…

【人工智能】F5G-A技术及应用

F5G-A的背景与概念 F5G-A的标准与进展 F5G-A的关键特性

Ungoogled Chromium127编译指南 Windows篇 - Rust标准库查找问题修复(十一)

1. 引言 在修复Python路径问题后&#xff0c;我们遇到的下一个技术挑战是Rust标准库的查找问题。在编译过程中&#xff0c;find_std_rlibs.py脚本无法正确处理Windows环境下的Rust工具链路径&#xff0c;导致编译失败。本文将详细介绍如何解决这个问题。 2. 问题分析 2.1 错…

大数据平台

大数据行业应用持续升温&#xff0c;特别是企业级大数据市场正在进入快速发展时期。越来越多的企业期望实现数据孤岛的打通&#xff0c;整合海量的数据资源&#xff0c;挖掘并沉淀有价值的数据&#xff0c;进而驱动更智能的商业。随着公司数据爆发式增长&#xff0c;原有的数据…

1. 机器学习基本知识(5)——练习题(参考答案)

20.&#x1f517;本章代码笔记&#x1f4d3;链接&#xff08;需要&#x1fa9c;&#xff09;&#xff1a;&#xff08;01_the_machine_learning_landscape.ipynb - Colab (google.com)&#xff09; 如果你不想通过上面的官方网址下载本章的笔记&#xff0c;还可以在本篇博文的…

uniapp 弹出软键盘后打开二级页面,解决其UI布局变动

软键盘弹出&#xff0c;此时点击某按钮打开二级页面&#xff0c;position:fixed 位于底部的按钮不见了&#xff08;通过加高其区域&#xff0c;发现被下移动了&#xff09;&#xff0c;什么原因不清楚? 但是发现是软键盘弹出导致&#xff0c;问题解决通过隐藏键盘再打开二级页…