从连接到 AP 的设备访问互联网

从连接到 AP 的设备访问互联网

我的嵌入式 Linux 设备中有两个接口uap0。充当其他设备连接到 Linux 设备的接入点。接口连接到我的路由器。我的路由器已连接到互联网。eth0uap0eth0

有关接口的详细信息:

  • uap0- 172.24.100.1/24

    连接到 AP 的设备的 DHCP 范围:172.24.100.50 - 172.24.100.100

  • eth0- 192.168.1.26/24

    路由器IP(即网关):192.168.1.253

    route add default gw 192.68.1.253
    

    因为这是路由器的IP。我也尝试过 172.24.100.1。但它也不起作用。

我已在sysctl.conf文件中允许 IPv4 转发。我还在 iptables 中添加了以下条目:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o uap0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i uap0 -o eth0 -j ACCEPT 

平结果:

  • ping 172.24.100.50 -I uap0---> 成功(.50是连接AP的设备之一)
  • ping 8.8.8.8 -I uap0---> 失败
  • ping 192.168.1.26 -I uap0---> 失败
  • ping 172.24.100.1 -I eth0---> 失败

每当我有设备连接到 AP 时,该设备就无法访问互联网。我在网上遇到的几乎每个解决方案都建议将条目添加到我已经完成的 iptables 中。

我之前在树莓派中实现过AP+STA模式。我必须在 RPi 中配置 dnsmasq 和 hostapd。但由于这是一个最小的 Linux 系统,我没有预安装 dnsmasq。此外,包管理器无法按预期工作。

根据我当前的设置的网络图: 网络图。

绿色部分是linux设备。

iptables-save 的输出: iptables-保存

sysctl 的输出:

在此输入图像描述

相关内容