路由器的DNS解析

路由器的DNS解析

DNS

DNS(Domain name service)解析是指从人们熟知的域名(比如www.baidu.com)到实际该域名对应的服务器IP(180.97.33.108)的过程。

 

NAT

众所周知, 路由器采用了NAT(Network AddressTranslation,网络地址转换)机制, 使得LAN内的主机可以共享同一个外网IP(公网IP)上网。在这种机制下, LAN内的主机都将获取到一个与路由器(比如192.168.0.1)同网段的一个局域网ip。所有的发往外网的局域网ip报文都会先发送到路由器, 路由器完成NAT(涉及到解包、修改源地址和端口、封包), 将局域网ip转换为公网(WAN口)ip 然后发送出去。

 

主机DNS解析方式

lan内主机访问某个域名时, 需要使用DNS获取服务器IP 一般通过DNS解析函数, 这些函数会发出DNS请求报文。这时主机DNS解析分为两种方式。DNS代理和普通模式。

DNS代理

代理模式开启时, 一般将主机的DNS设置为路由器ip(如192.168.0.1), 如果DHCP模式开启, 则主机自动获取到的DNS一般也是路由器ip


在这种情况下, 主机发出的DNS报文目的地址将是路由器ip192.168.0.1),路由器将该报文的目的地址修改为真实的DNS服务器ip 并进行NAT转换后发送出去

普通模式

普通模式时, 一般将主机的DNS设置为真实的DNS服务器ip 如果DHCP模式开启, 则主机自动获取到的DNS也是真实的DNS服务器ip


这种情况下, 主机发出的DNS报文目的地址就是真实的DNS服务器ip 路由器进行NAT转换后发送出去

DNS IP

路由器WAN口拨号、DHCP获取ip时, 也会同时获取到DNS服务器真实的ip地址。

 

HOSTS文件

主机调用域名解析函数时, 这些函数一般会先搜索/etc/hostsdebian 3.2.0-4-686-pae系统 )文件, 如果将要访问的域名与文件中某个条目匹配, 则直接使用这个条目的ip地址作为解析的结果。该文件的内容:


当使用上图配置时, 主机访问localhost时, 就相当于访问127.0.0.1(回环)这个地址。

同理, 现在常用的修改hosts文件访问google时, 将直接使用hosts文件中的ip地址 ,而不是发出DNS请求到DNS服务器(googleDNS服务器解析后的ip地址一般无法访问, 伟大的GFW)。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值