我有以下系统(上图),边缘节点将 UPD 数据帧发送到中心节点,但我希望中心节点将它们转发到其余节点(下图)。我不知道如何配置 iptables 来获取它。
ipv4 已启用并且运行以下命令:
sudo iptables -t nat -A PREROUTING -p udp -i enp0s3 --dport 8947-j DNAT --to-destination 192.168.1.63:8947
sudo iptables -A FORWARD -p udp-i enp0s3 -d 192.168.1.63 --dport 8947 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o enp0s3 -j SNAT --to-source 192.168.1.60
得到这个结果:
$ sudo iptables -L -t nat -v
Chain PREROUTING (policy ACCEPT 19 packets, 1478 bytes)
pkts bytes target prot opt in out source destination
201 15678 DNAT udp -- enp0s3 any anywhere anywhere udp dpt:8947 to:192.168.1.63:8947
Chain INPUT (policy ACCEPT 205 packets, 15986 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 216 packets, 16842 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 2 packets, 159 bytes)
pkts bytes target prot opt in out source destination
400 31191 SNAT all -- any enp0s3 anywhere anywhere to:192.168.1.60
提到 .63 也使用端口 8947 发送 UDP 数据包,是否存在冲突?我没有收到来自 .60 的数据包。我遗漏了什么?