管理家庭 LAN 路由的 iptables

管理家庭 LAN 路由的 iptables

我家里有局域网。

  • 一台 Netgear 路由器 - 192.168.0.1 连接到互联网。
  • 一台 Macbook - 192.168.0.10(连接到 Netgear 路由器)
  • 一台装有 Kali Linux 的 PC - 192.168.0.20(也连接到 Netgear)

我正在尝试通过 PC 路由所有 Macbook 流量。因此,我在 Macbook 代理服务器地址上设置了网络设置 - 192.168.0.20 (PC)。我对此没有任何问题 - 所有数据包都会发送到 PC(当然通过 Netgear 路由器)。没关系。但..

如何管理 Linux 上的 NAT 表以将 Macbook 的流量路由到路由器(从而路由到互联网)?

我尝试做这样的事情,但它不能正常工作:

iptables -t nat -A PREROUTING -s 192.168.0.10 -j DNAT --to-destination 192.168.0.1
iptables -t nat -A POSTROUTING -s 192.168.0.10 -j SNAT --to-source 192.168.0.20

通过此设置,我在 Mac 上的浏览​​器中出现 BAD REQUEST 400。

答案1

你应该忘记你的DNAT台词。它在这里没有做任何有用的事情。

另外,您应该使用-j MASQUERADE而不是-j SNAT --to-source 192.168.0.20.

您还需要确保 Linux 机器上的 IP 转发已打开。

相关内容