raspberry-pi - 只能从两个子网之间的一个方向接收 ping Rpi 4 buster
问题描述
我有一个典型的配置,其中 Rpi 充当两个子网之间的路由器。一个子网连接到 Rpi eth0,现在直接连接了笔记本电脑(有一天会有一个 ip-camera)。Rpi 通过 wlan0 连接到无线路由器以获得互联网连接。 配置图片
网上有几条指令可以让它工作,它几乎可以工作。我可以从连接到 Rpi 的笔记本电脑 ping 连接到我的无线路由器(但不是我的无线路由器!?)的设备。我在连接到 Rpi 的笔记本电脑上有互联网连接。问题是我无法从无线路由器的子网 ping 我的笔记本电脑(连接到 Rpi)。是的,这与我的 iptables 配置有关。
这是一些数据:
我在我的 sysctl.conf 文件中设置了 net.ipv4.ip_forward=1
我已经完成了这些设置:
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
IPtables 看起来像这样:
pi@raspberrypi:~ $ sudo iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
296 191K ACCEPT all -- wlan0 eth0 anywhere anywhere state RELATED,ESTABLISHED
37 14316 ACCEPT all -- eth0 wlan0 anywhere anywhere
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
路由表如下所示:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.3.1 0.0.0.0 UG 100 0 0 wlan0
default 192.168.3.1 0.0.0.0 UG 202 0 0 eth0
10.10.0.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
192.168.3.0 0.0.0.0 255.255.255.0 U 100 0 0 wlan0
192.168.3.1 0.0.0.0 255.255.255.255 UH 202 0 0 eth0
任何其他可能有用的信息?
解决方案
在您的无线路由器路由表中,您应该将前往 10.10.0.0/24 的流量转发到连接到第二个子网的接口,将前往 192.3.0.0/24 的流量转发到连接到 Rpi 的接口,将其他流量转发到连接到的接口互联网。您还应该有一个到 Subnet-1 的路由表,并将您的 Rpi 作为网关,如下所示:
目标网关 Genmask
192.168.3.0 Rpi @IP 255.255.255.0
推荐阅读
- android - Qt Combobox中文本的对齐方式
- linux - 使用 scp 将少量文件(具有不同扩展名,例如 xml、crt.jks)从一台服务器复制到另一台服务器
- excel - Excel - 如果一个单元格为空白,则显示空白,如果不是,则公式,除非
- mysql - 尝试将 R 与 MySQL 一起使用:此 MySQL 版本不允许使用的命令
- r - ggplot2如何在2页上刻面单个图形
- c# - 从字符串中获取第一个数字
- python - 如何将字典对象作为参数传递给python中的函数
- git - 使用每个分支参数的条件构建詹金斯
- matlab - SVD 的单面 Jacobi 实现
- javascript - Aspose - HTML 到 PDF - 缺少输入值