iptable nat 转发

iptable nat 转发

我在局域网中有三台 Linux PC(AB 和 C)。我想让 A 作为客户端并向 B 发送请求。B 依次将请求转发给 C,C 返回给 B,最后 B 返回给 A。

简而言之,A应该通过B获取C的内容。

我在 B 中使用了以下 IP 表

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to-destination C

此后,从 A 到 B 的数据包到达 C 。

现在我想要

  1. C 回复 B 而不直接回复 A 。
  2. B用C的内容回复A。

我应该怎么办 ?

注意:我也启用了 ip_forward。

请帮助。

答案1

向 B 添加以下规则(我假设 eth1 是面向 C 的接口):

iptables -A POSTROUTING -t nat -o eth1 -p tcp --dport 80 -j SNAT --to-source B

选择:

iptables -A POSTROUTING -t nat -d C -p tcp --dport 80 -j SNAT --to-source B

它将把转发的数据包的源地址(最初是 A)转换为 B。

相关内容