我正在尝试将数据包转发到 AWS 中的另一个内部 IP 地址。(Linux)。
我的场景是网关(EC2)(9.19.22.22)和两个内部IP地址(10.0.0.5)和(10.0.0.6)。
The packet coming to to 10.0.0.5 on 10009 from 17.16.0.99 (all) to be forwarded to 10.0.0.6 on 10010 port number.
iptables -t nat -A PREROUTING -p tcp -s 17.16.0.99/32 --dport 10009 -j DNAT --to-destination 10.0.0.6:10010
我尝试过预路由,但似乎不起作用
答案1
为了实现此功能,您需要:
配置路由,
10.0.0.6
以便从端口离开的数据包10010
被转发到10.0.0.5
。在 添加伪装规则
10.0.0.5
,将数据包源地址替换为10.0.0.5
。例如iptables -t nat -A POSTROUTING --dport 10009 -j MASQUERADE
在这两种情况下,您都需要确保 IP 转发已启用,即cat /proc/sys/net/ipv4/ip_forward
显示1
。