我有以下设置:
客户:
- DCHP 192.168.1.*
Raspbian 网关:
- 192.168.1.20
Raspbian 服务器:
- 192.168.1.19
该服务器在端口 8000 上托管实时摄像头信号。
我想通过我的网关访问这个实时信息,并且我想使用 iptables 来实现。
我添加了以下规则:
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 8000 -j DNAT --to-destination 192.168.1.19
当我访问导航到 192.168.1.20:8000 时,我收到连接超时信息。阅读了一点后,我明白我需要制定另一条处理回复的规则。可以使用 SNAT 或 MASQUARADE 来完成。
我不想硬编码返回地址,因为“客户端”可以有不同的 IP 地址。但是我如何告诉 iptables“记住”tcp 请求中提供的源 IP 地址,并将其作为“返回给发件人”的地址放回到回复中?
我刚刚尝试过:
sudo iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
它确实有效,但我不知道现在我在做什么。MASQUERADE 在做什么?