fetich
V2EX  ›  问与答

请了解 iptables 规则的 V 友指教

  •  
  •   fetich · Mar 15, 2019 · 1332 views
    This topic created in 2799 days ago, the information mentioned may be changed or developed.

    在设定了

    iptables -P INPUT DROP
    iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    

    后,DNS 无法解析。

    然后再键入 iptables -A INPUT -p udp --dport 53 -j ACCEPT 后,DNS 解析正常。

    让我感到不解的是,第三条规则中,为什么是 dport 而不是 sport(替换为后者后,解析失败)?

    因为从规则含义上看,允许某处来自 53 端口的 udp 数据包进入本机,sport 更符合意义,但实际操作中却相反。

    是不是我的 iptables 有无误解,请各位指教。

    5 replies  •  2019-03-16 16:38:44 +08:00
    zmz125000
    zmz125000
    Mar 15, 2019 via Android
    1
    53 是服务器端口,这里的 dport 是服务器端口
    zmz125000
    zmz125000
    Mar 15, 2019 via Android
    2
    发起连接的端口是随机的
    fetich
    fetich
    OP
    Mar 16, 2019
    3
    @zmz125000
    这条规则写在 INPUT 链,匹配的数据包都是进入本机的。
    对于这些数据包来讲,限定 dport 53 是指限制这些数据包的目的端口是本机 53 端口?这又与 #2 的回复矛盾,应该是 sport 53 更符合常理呀。
    zmz125000
    zmz125000
    Mar 16, 2019 via Android❤️1
    4
    发等于 s
    s->d
    wd
    wd
    Mar 16, 2019 via iPhone
    5
    @fetich #3 哪里说是本机了?只是说 dport 啊,所有 dport 是 53 的都匹配
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2409 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 10:41 · PVG 18:41 · LAX 02:41 · JFK 05:41
    ♥ Do have faith in what you're doing.