![Debian udp 端口转发到另一台服务器不起作用?](https://linux22.com/image/766021/Debian%20udp%20%E7%AB%AF%E5%8F%A3%E2%80%8B%E2%80%8B%E8%BD%AC%E5%8F%91%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
我有 PC A(192.168.255.126,eth1),它将接收一些 UDP 数据包,端口:51000。
现在我希望PC A自动将UDP数据包转发到PC B(192.168.255.127)
我找到了很多解决方案但都不起作用。
解决方案A:
iptables -A PREROUTING -t nat -i eth1 -p udp --dport 51000 -j DNAT --to-destination 192.168.255.127:51000
iptables -A FORWARD -p udp -d 192.168.255.127 --dport 51000 -j ACCEPT
iptables -A POSTROUTING -t nat -s 192.168.255.127 -o eth1 -j MASQUERADE
解决方案B:
iptables -t nat -I PREROUTING -p udp --dport 51000 -j DNAT --to 192.168.255.126:51000
解决方案C:
iptables -t nat -A PREROUTING -p udp --dport 51000 -j NETMAP --to 192.168.255.127
所以我该怎么做?
答案1
确保 PC A 进行数据包转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
允许在 iptables 上转发:
iptables -I FORWARD -p udp -j ACCEPT
让 NAT 完成剩下的工作:
iptables -A PREROUTING -t nat -p udp --dport 51000 -j DNAT --to-destination 192.168.255.127