PC 发出 http 请求是先去局域网内 dns 服务器还是先去网关呢?

2020-08-20 17:18:07 +08:00
 azev
1585 次点击
所在节点    问与答
8 条回复
sonice
2020-08-20 17:29:54 +08:00
肯定是先到 DNS 通过域名获取到 IP, 然后通过 IP 到网关去再转发啊
overthemoon
2020-08-20 17:34:17 +08:00
刚刚在看计算机网络就刷到你这个
goodryb
2020-08-20 17:35:19 +08:00
那这个得分情况了,你的 http 请求是通过域名访问呢,还是通过 IP 访问呢。访问的是内网 web 服务还是互联网的 web 服务。

看你的题目,假设是 通过域名访问互联网的 web 服务,并且 PC 配置了内网的 DNS,这种情况下,首先会发起 dns 查询请求,由于 dns 地址是内网,pc 直接发 dns 查询请求给内网 dns 。 拿到域名解析的公网地址后,pc 会发出 http 请求,由于地址是公网,所以根据路由表会把请求发给网关,由网关出公网通信。
azev
2020-08-20 18:20:38 +08:00
@sonice
@overthemoon
@goodryb

多谢
我现在情况是 旁路由做网关开代理进行出国访问 发现 gfw 模式出问题
所以有了这个问题 因为我看 pc 的网关是旁路由 而 dns 却默认是主路由 这样是不是不行?
因为旁路由里的代理客户端没法操作这个域名解析动作了
goodryb
2020-08-20 18:29:49 +08:00
@azev #4 哎,那你直接说嘛。
旁路由做代理需要把网关和 DNS 都指向旁路由,我就是这样用的,没问题。
Jirajine
2020-08-20 18:32:32 +08:00
问题说清楚好吧,dns 是应用层,网关应该指路由,是网络层,这怎么比?
7DLNU56W
2020-08-20 19:11:19 +08:00
如果请求地址是域名的话,肯定先去 DNS,但去你的 local DNS 服务器的过程也要通过网关转发啊。收到解析地址之后,再通过网关去你的目标地址,总之,不管去哪不管是 HTTP 还是 DNS,都是需要过网关的。除非都在局域网内。
azev
2020-08-21 07:20:27 +08:00
@7DLNU56W 我设的这个 DNS 是局域网的主路由 这样的话是不是整个域名解析过程不经过旁路由网关

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

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

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

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

© 2021 V2EX