【问题标题】:iptables put all forwarding rules in preroutingiptables 将所有转发规则放在预路由中
【发布时间】:2015-06-12 02:41:56
【问题描述】:

我有一个关于 iptables 安全性的问题。

向 FORWARD 链提供 ACCEPT 策略是否安全?我的意思是,如果数据包到达那里,它是通过 PREROUTING 表来的,并且在 PREROUTING 中,如果你“喜欢它”,你只会更改数据包的目标 IP。

所有进入 FORWARD 的数据包都与 PREROUTING 中的规则之一匹配,对吗?

【问题讨论】:

  • 如果一个数据包与你的PREROUTING链中的any规则不匹配,没有什么可以阻止它到达你的FORWARD chian,除非你设置默认的@ 987654323@ 政策至DROP
  • 但是如果它不匹配 PREROUTING 链中的任何规则,那么它会保留它的目标地址,它会转到 INPUT 链,对吗?而不是转发。与 PREROUTING 中的任何规则都不匹配的数据包进入 INPUT,匹配的数据包进入 FORWARD,我错了吗?
  • 如果数据包的目标地址是属于您主机上的本地接口的地址,则数据包只会转到INPUT 链。否则,它们会转到FORWARD 链,如果它们通过该链并且启用了ip_forward sysctl,您的系统将根据您的路由表转发它们。
  • @larsks- 我要求您写下以上内容作为答案。看起来会更好,也会收到我的赞成票......
  • 但是如果我收到数据包,这意味着它的目标地址与我的本地接口匹配,如果 PREROUTING 没有改变它的目标地址,那么它只会进入 INPUT

标签: linux security networking firewall iptables


【解决方案1】:

如果数据包与您的PREROUTING 链中的任何规则都不匹配,则没有什么可以阻止它访问您的FORWARD 链,除非您将默认的PREROUTING 策略设置为DROP。

如果数据包的目标地址是属于您主机上的本地接口的地址,则数据包只会进入INPUT 链。否则,它们会转到FORWARD 链,如果它们通过该链并且启用了ip_forward sysctl,您的系统将根据您的路由表转发它们。

您的系统可能会收到不是发往本地接口的数据包。这就是基本路由的工作原理:当您的系统想要联系 Google 位于 8.8.8.8 的 dns 服务器时,数据包会发送到您的本地默认网关,即使目标地址完全在其他地方,它也会接收并路由它们。

您的系统可能会为它所连接的物理网络或系统上托管的容器或虚拟机显式路由流量。所有这些都涉及您的系统接受和转发与本地接口不匹配的数据包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 2021-05-23
    • 1970-01-01
    • 2015-02-06
    相关资源
    最近更新 更多