【问题标题】:IPTABLES: ping and wget work although they does notIPTABLES:ping 和 wget 工作,虽然他们没有
【发布时间】:2012-04-04 12:06:04
【问题描述】:

我好像不明白 IPTABLES 的逻辑。

我在我的服务器上重新安装了 ubuntu server 11.10 并打开了转发(/etc/sysctl.conf 中的 net.ipv4.ip_forward=1)。服务器有两个网络接口 - eth0(ip 192.168.1.1)寻找本地网络,eth1(ip 213.164.156.130)寻找互联网。

本地网络中还有另一台 ip 为 192.168.1.2 的计算机。

然后我在 ITABLE *nat 中添加了两个简单的规则:

-A PREROUTING -i eth1 -j DNAT --to-destination 192.168.1.2
-A POSTROUTING -o eth1 -j SNAT --to-source 213.164.156.130

我认为第一条规则意味着将每个传入的数据包转发到 192.168.1.2。

但如果我从服务器运行“ping google.com”、“wget google.com”,它们就会成功运行。服务器接收数据包并且不进行转发,我真的被这个卡住了。

如果我从 192.168.1.2 运行这些命令,它们也可以工作,这意味着转发工作在这里。

【问题讨论】:

    标签: iptables forwarding nat


    【解决方案1】:

    这些是 NAT 规则。

    在您的第一条规则中,地址转换发生在路由数据包之前。您将目标地址更改为 192.168.1.2,在第二条规则中,您将在路由到 213.164.156.130 之前更改源地址。

    我猜你可以 ping & wget 因为你的 INPUT 和 OUTPUT 链有一个默认操作。

    TBH,我对你真正想要做什么感到困惑,但如果你想转发数据包,你需要修改 FORWARD 链。以下是有关 iptables 的详细和有用信息的链接,以便您更好地理解逻辑 - Ch14:_Linux_Firewalls_Using_iptables">http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:Ch14: _Linux_Firewalls_Using_iptables。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-19
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      • 2020-12-01
      • 2016-10-29
      相关资源
      最近更新 更多