请了解 iptables 规则的 V 友指教

2019-03-15 18:51:12 +08:00
 fetich

在设定了

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 有无误解,请各位指教。

848 次点击
所在节点    问与答
5 条回复
zmz125000
2019-03-15 18:58:14 +08:00
53 是服务器端口,这里的 dport 是服务器端口
zmz125000
2019-03-15 18:59:44 +08:00
发起连接的端口是随机的
fetich
2019-03-16 01:13:16 +08:00
@zmz125000
这条规则写在 INPUT 链,匹配的数据包都是进入本机的。
对于这些数据包来讲,限定 dport 53 是指限制这些数据包的目的端口是本机 53 端口?这又与 #2 的回复矛盾,应该是 sport 53 更符合常理呀。
zmz125000
2019-03-16 01:39:28 +08:00
发等于 s
s->d
wd
2019-03-16 16:38:44 +08:00
@fetich #3 哪里说是本机了?只是说 dport 啊,所有 dport 是 53 的都匹配

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/545084

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX