‘壹’ 在dns服务器中,把ip地址解析为域名,使用什么域
域名系统,在TCP/IP 网络中有非常重要的地位,能够提供域名与IP地址的解析服务,而不用去记住能够被机器直接读取的IP数串。
通过域名,最终得到该域名对应的IP地址的过程叫做域名解析。
DNS协议运行在UDP协议之上,使用端口53号
DNS域名空间中,树的最大深度不得超过127层,树种每个节点最长可以存储63个字符。
2、域和域名
DNS树的每一个完全合格域名(FQDN)标识。FQDN能准确表示出其对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式。
例如:google为com域的子域,其表示方法为googgle.com,而www为google域中的子域,可以使用www.google.com表示。
注意:FQDN有严格的命名限制,长度不能超过256字节,只允许使用字符a-z,0-9,A-Z和减号(-)。
.号只允许在域名标志之间和域名结尾使用。
域名不区分大小写,从最顶层到下层,可以分成:根域、顶级域、二级域、子域。
互联网的域名空间最顶层的是根域(root),记录这Interne的重要DNS信息,有Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给链接到Internet的各个组织。
全球有13个根域服务器:
1个为主根域服务器,在美国;其余12个为辅助根域服务器,
其中9个在美国;欧洲2个,分别在英国和瑞迪;亚洲一个,在日本。
3、域名的分类和等级
域名可以分为3中类型的顶级域分别是:
组织域:采用3个字符表示,表示组织的主要功能和活动,比如com为商业机构组织,e为教育机构组织,gov为政府机构组织,mil为军事机构组织,net为网络机构组织,org为非盈利机构组织,int为国际机构组织。
地址域:采用两个字符的国家或地区代号,如cn表示中国,jp表示日本、hk表示香港,kr表示韩国,us表示美国。
反向域:特殊域,名字为in-addr.arpa,用于将IP地址映射到名字(反向查询)
二、DNS相关概念
1、DNS服务器
运行DNS服务器程序的计算机,存储DNS数据库信息。
2、DNS缓存
DNS服务器在解析客户机的域名请求时,如果本地没有该域名的记录,则会询问其它DNS服务器,当其它域名将解析结果返回给DNS服务器是,DNS将对应的记录保存在本地,生成DNS缓存,当下一次客户机再次请求是,DNS服务器则可以直接使用缓存中的DNS记录。
3、DNS查询方式:递归查询和迭代查询
递归查询:当客户机向DNS服务器发起域名解析请求时,DNS服务器首先查看自己本机的DNS记录,如果没有则会想其它DNS服务器发起解析请求。
迭代查询:当客户机向DNS服务器发起域名解析请求是,DNS服务器不会给客户机解析地址,而是告诉客户机另外一台DNS服务器,客户即再向这台服务器发起地址解析请求。
4、正向解析和反向解析
正向解析:指域名解析到IP地址的解析过程。
反向解析:指IP地址解析到域名的解析过程。
5、DNS资源记录
1)SOA资源记录
每个区在区的开始都包含了一个起始授权记录(Start of Authority Record),简称SOA记录
SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。
2)NS资源记录
NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析,每个区在区根处至少包含一个NS记录。
3)A资源记录
地址(A)资源记录把FQDN映射到IP地址。因为有次记录,所以DNS服务器能解析FQDN域名对应的IP地址。
4)PTR资源记录
相对于A记录,指针(PTR)记录把IP地址映射到FQDN。用于反向查询,通过IP地址,找到域名。
5)CNAME资源记录
别名记录(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使链接的客户机无法知道真正的域名。
6)MX资源记录
邮件交换(MX)资源记录,为DNS域名指定邮件交换服务器。
三、DNS服务器安装及相关配置文件
1、安装DNS
BIND 简介:
BIND 全称为Berkeley Internet Name Domain(伯克利因特网名称域系统),BIND 主要有三个版本:BIND4、BIND8、BIND9。
BIND8版本:融合了许多提高效率、稳定性和安全性的技术,而BIND9 增加了一些超前的理念:IPv6支持、密钥加密、多处理器支持、线程安全操作、增量区传送等等。
安装命令:
[root@xuegod ~]# yum -y install bind bind-chroot bind-utils
安装包的作用:
bind.x86_64 32:9.9.4-73.el7_6 #DNS服务的主程序包
bind-chroot.x86_64 32:9.9.4-73.el7_6 #提高安全性
#bind-chroot是bind的一个功能,使bind可以在一个chroot 的模式下运行,也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是系统中的一个子目录而已,这样做的目的是为了提高安全性,因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步提升,进入到系统的其他目录中。
bind-utils-9.9.4-50.el7.x86_64.rpm #该包为客户端工具,系统默认已经安装的了,它用于搜索域名指令。
2、DNS服务器相关配置文件
[root@xuegod ~]# ls /etc/named.conf -l
-rw-r----- 1 root named 1808 1月 30 01:23 /etc/named.conf
named.conf是BIND的核心配置文件,它包含了BIND的基本配置,但其并不包括区域数据
/var/name/目录为DNS数据库文件存放目录,每一个域文件都放在这里
3、启动服务器
[root@xuegod ~]# systemctl start named
[root@xuegod ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@xuegod ~]# netstat -antup | grep 53
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3501/named
4、服务的使用方法
在客户端上配置好DNS服务器地址
[root@xuegod140 ~]# vim /etc/resolv.conf
[root@xuegod140 ~]# cat /etc/resolv.conf
Generated by NetworkManager
nameserver 192.168.1.130
resolv.conf文件,添加DNS,此文件的生效范围是全局的,即是所有网卡都可以生效。
修改网卡添加的DNS,此方法添加DNS仅对当前网卡生效。
DNS1=192.168.1.130
5、配置文件详解
要求:配置DNS服务器解析:xuegod.cn
[root@xuegod etc]# cp /etc/named.conf /etc/named.conf.bak
DNS配置文件整体分为三段:
options:对全局生效
zone:针对某个区域生效
type:指定区域类型
type主要分为六种
Master:主DNS服务器,拥有区域数据文件,并对此区域提供管理梳理
Slave:辅助DNS服务器,拥有主DNS服务器的区域数据文件的副本,辅助DNS服务器会从主DNS服务器同步所有区域数据
Stub:stub区域和slave类似,但其只复制主DNS服务器上的NS记录,而不像slave复制DNS服务器的所有数据
Forward:一个forward zone是每个区域的配置转发的主要部分。一个zone语句中的type forward可以包括一个forward和/或forwarders子句,它会在区域名称给定的域中查询。如果没有forwarders语句或者forwarder是空表,那么这个域就不会转发,消除了options语句中有关转发的配置
Hint:根域名服务器的初始化组指定使用线索区域hint zone,当服务器启动时,它使用跟线索来查找根域名服务器,并找到最近的根域名服务器列表
四、实战-为公司搭建一个DNS服务器
1、配置正向解析区域
修改配置文件,授权DNS服务器管理xuegod.cn区域,并把该区域的区域文件命名为xuegod.cn
options {
listen-on port 53 { any; }; #把原来的127.0.0.1改为any。
listen-on-v6 port 53 { any; }; #把原来的::1,改为any。
directory “/var/named”;
mp-file “/var/named/data/cache_mp.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { any; }; #把原来的localhost,改为any。
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto; #加入此项。
1
2
3
4
5
1
2
3
4
5
zone “xuegod.cn” IN { #把原来的 . 改为xuegod.cn。
type master; #把原来的hint,改为master。
file “xuegod.cn.zone”; #把原来的named.ca,改为xuegod.cn.zone。
};
include “/etc/named.rfc1912.zones”;
include “/etc/named.root.key”;
2、创建zone文件
[root@xuegod etc]# cd /var/named #进入zone工作目录
[root@xuegod named]# ll -d named.localhost
-rw-r----- 1 root named 152 6月 21 2007 named.localhost
[root@xuegod named]# cp -a named.localhost xuegod.cn.zone
#-a参数,复制后的文件保留源文件权限
[root@xuegod named]# ll -d xuegod.cn.zone
-rw-r----- 1 root named 152 6月 21 2007 xuegod.cn.zone
[root@xuegod named]# vim xuegod.cn.zone
[root@xuegod named]# cat xuegod.cn.zone
$TTL 1D
xuegod.cn. IN SOA dns.xuegod.cn. root.xuegod.cn. (
0 ; serial #系列
1D ; refresh #刷新
1H ; retry #重试
1W ; expire #到期
3H ) ; minimum #最低限度
xuegod.cn. NS dns.xuegod.cn. #NS资源记录
dns.xuegod.cn. A 192.168.1.130 #A资源记录
www.xuegod.cn. A 192.168.1.130 #A资源记录
www1.xeugod.cn. CNAME www.xuegod.cn. #CNAME记录
3、重启DNS服务:
[root@xuegod named]# systemctl restart named
4、修改客户机的DNS记录
[root@xuegod140 ~]# vim /etc/resolv.conf
[root@xuegod140 ~]# cat /etc/resolv.conf
Generated by NetworkManager
nameserver 192.168.1.130
5、删除网卡配置文件的DNS记录
[root@xuegod140 ~]# cd /etc
[root@xuegod140 etc]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@xuegod140 etc]# cat !$ | grep DNS1 #删除DNS1的行
cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep DNS1
6、测试结果:
[root@xuegod140 etc]# ping www.xuegod.cn
PING www.xuegod.cn (192.168.1.130) 56(84) bytes of data.
64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=1 ttl=64 time=0.216 ms
64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=2 ttl=64 time=0.359 ms
[root@xuegod140 etc]# ping www1.xuegod.cn
PING www.xuegod.cn (192.168.1.130) 56(84) bytes of data.
64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=1 ttl=64 time=0.216 ms
64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=2 ttl=64 time=0.255 ms
[root@xuegod140 etc]# ping dns.xuegod.cn
PING dns.xuegod.cn (192.168.1.130) 56(84) bytes of data.
64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=1 ttl=64 time=0.170 ms
64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=2 ttl=64 time=0.294 ms
总结:实验容易错误点
1)区文件的权限,需要注意,这里直接使用cp -a参数拷贝,保留文件的权限和属组、属主
2)服务端的防火墙必须要关闭,如果不关闭,就要放通DNS53号端口
3)客户端指定DNS地址时,resolv文件需要表示全局生效,本地网卡修改表示当前网卡生效
4)可以的话最好关闭NetworkManager
7、zone配置文件的参数说明
$TTL 1D:设置有效地址解析记录的默认缓存时间,默认为1天也就是1D。
xuegod.cn. IN SOA dns. xuegod.cn. root. xuegod.cn.
#原来的@表示当前的域xuegod.cn.,为方便大家记忆,在此直接写成xuegod.cn.
#设置SOA记录为:dns.xuegod.cn.
#在此配置文件中写域名时,都把根 . 也需要写上。
#域管理邮箱root.xuegod.cn. 由于@有其他含义,所以用“.”代替@。
0 :更新序列号,用于标示数据库的变换,可以在10位以内,如果存在辅助DNS区域,建议每次更新完数据库,手动加1。
1D :刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天。
1H :重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为1小时。
1W :到期,失效时间,超过该时间仍无法更新地址数据库,则不再尝试,默认为一周。
3H :设置无效地址解析记录(该数据库中不存在的地址)默认缓存时间。设置无效记录,最少缓存时间为3小时。
NS @ :域名服务器记录,用于设置当前域的DNS服务器的域名地址,
A 127.0.0.1: 设置域名服务器的A记录,地址为ipv4的地址127.0.0.1,可以设置成192.168.100.102
AAAA ::1:设置域名服务器的A记录,地址为ipv6的地址。
资源记录参数详解:
CNAME 资源记录
别名(CNAME)资源记录用于为某个主机指定一个别名
CNAME 资源记录语法格式:
别名 CNAME 主机名
www1.xuegod.cn. CNAME www.xuegod.cn.
MX 资源记录
MX(邮件交换器)资源记录提供邮件传递信息。该记录会指定区域内的邮件服务器名称。
MX 资源记录语法格式:
mail A 192.168.1.63
MX 192.168.1.63
PTR 资源记录
指针(PTR)资源记录。该记录与A 记录相反,用于查询IP 地址与主机名的对应关系。
根区域是一个较为特殊的区域,记录列出全球根域名服务器信息,域名通常用“.”表示,如表 5-1 所示。
在这里插入图片描述
五、实战-DNS递归查询和搭建DNS转发服务器
1、使用DNS递归查询
修改配置文件:
[root@xuegod130 etc]# vim /etc/named.conf #修改DNS配置文件,修改如下内容。
options {
listen-on port 53 { any ; }; #把原来的127.0.0.1改为any。
listen-on-v6 port 53 { any; }; #把原来的::1,改为any。
directory “/var/named”;
mp-file “/var/named/data/cache_mp.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { any; }; #把原来的localhost,改为any。
recursion yes; #默认是支持递归查询。
#dnssec-enable yes;
#dnssec-validation yes;
#dnssec-lookaside auto;
只需要把以上三条内容注释了,其它内容不用改,这样客户端才能通过这个DNS进行递归查询,把dns加密通讯功能关闭,才可以和根服务器时行迭代查询。:
2、重启DNS服务,使配置文件生效:
[root@xuegod63 ~]# systemctl restart named
3、在xuego140主机上进行测试:
[root@localhost network-scripts]# ping www..com
PING www.a.shifen.com (61.135.169.105) 56(84) bytes of data.
64 bytes from 61.135.169.105: icmp_seq=1 ttl=55 time=318 ms
64 bytes from 61.135.169.105: icmp_seq=3 ttl=55 time=147 ms
4、 搭建DNS转发服务器
[root@xuegod130 ~]# vim /etc/named.conf
options {
listen-on port 53 { any; }; #把原来的127.0.0.1改为any。
listen-on-v6 port 53 { any; }; #把原来的::1,改为any。
directory “/var/named”;
mp-file “/var/named/data/cache_mp.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { any; }; #把原来的localhost,改为any。
recursion yes; #允许递归查询
#dnssec-enable yes; #注释以下三行。
#dnssec-validation yes;
#dnssec-lookaside auto;
zone “xuegod.cn” IN {
#type master; #注释此项
type forward; #添加此项,类型为转发。
#file “xuegod.cn.zone”; #注释此项
forward only ; #仅执行转发操作,only:仅转发,first:先查找本地zone,再转发。
forwarders { 8.8.8.8; }; #指定转发查询请求的DNS服务器列表。
};
重启DNS服务,使配置文件生效:
[root@xuegod63 ~]# systemctl restart named
在xuegod140主机上进行测试:
[root@localhost network-scripts]# ping www..com
PING www.a.shifen.com (61.135.169.105) 56(84) bytes of data.
64 bytes from 61.135.169.105: icmp_seq=1 ttl=55 time=318 ms
64 bytes from 61.135.169.105: icmp_seq=3 ttl=55 time=147 ms
六、实战-搭建DNS主从服务器
1、搭建一个主DNS服务器A,配置内容如下
[root@xuegod63 ~]# vim /etc/named.conf
options {
listen-on port 53 { any; }; #把原来的127.0.0.1改为any。
listen-on-v6 port 53 { any; }; #把原来的::1,改为any。
directory “/var/named”;
mp-file “/var/named/data/cache_mp.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { any; }; #把原来的localhost,改为any。
recursion yes;
#dnssec-enable yes;
#dnssec-validation yes;
#dnssec-lookaside auto;
zone “xuegod.cn” IN {
type master; #指定类型为master。
file “xuegod.cn.zone”; #指定为xuegod.cn.zone。
allow-transfer { 192.168.1.0/24; }; #指定允许哪个网段的从DNS服务器,可以同步主DNS服务器zone文件,不写默认为所有。
};
include “/etc/named.rfc1912.zones”;
重启DNS服务,使配置文件生效:
[root@xuegod63 ~]# systemctl restart named
2、从DNS服务器的配置
要求:主从系统时间一定要保持一致。
‘贰’ DNS工作方式
本文疯狂雷同于此文章 什么是 DNS? | DNS 的工作方式
最近在总结域名解析的流程,越发觉得对DNS的完整流程欠缺成体系的概念,这篇文章让笔者从理论层面得到提升。
域名系统 (DNS) 是互联网的电话簿。人们通过例如 nytimes.com 或 espn.com 等域名在线访问信息。Web 浏览器通过 互联网协议 (IP) 地址进行交互。DNS 将域名转换为 IP 地址,以便浏览器能够加载互联网资源。
连接到 Internet 的每个设备都有一个唯一 IP 地址,其他计算机可使用该 IP 地址查找此设备。DNS 服务器使人们无需存储例如 192.168.1.1(IPv4 中)等 IP 地址或更复杂的较新字母数字 IP 地址,例如 2400:cb00:2048:1::c629:d7a2(IPv6 中)。
DNS 解析过程涉及将主机名(例如 www.example.com )转换为计算机友好的 IP 地址(例如 192.168.1.1)。Internet 上的每个设备都被分配了一个 IP 地址,必须有该地址才能找到相应的 Internet 设备 - 就像使用街道地址来查找特定住所一样。当用户想要加载网页时,用户在 Web 浏览器中键入的内容( example.com )与查找 example.com 网页所需的机器友好地址之间必须进行转换。
为理解 DNS 解析过程,务必了解 DNS 查询必须通过的各种硬件设备。对于 Web 浏览器而言,DNS 查询是“在幕后”发生的,除了初始请求外,不需要从用户的计算机进行任何交互。
DNS解析有可能并不会走DNS解析服务,是因为在电脑或是程序中存在的DNS结果缓存。例如Mac /etc/hosts文件里就可能会被添加一些常用到的域名解析结果。当然这并不是万能的,就好比不能在手机里记录世界上所有人的手机号一样。如果请求的域名超出了本地缓存范围,就需要DNS服务器来帮忙。
大多数情况下,DNS 与正被转换为相应 IP 地址的域名有关。要了解此过程的工作方式,在 DNS 查找从 Web 浏览器经过 DNS 查找过程然后再返回时,跟踪 DNS 查找的路径会有所帮助。我们来看一下这些步骤。
注意:通常,DNS 查找信息将本地缓存在查询计算机内,或者远程缓存在 DNS 基础设施内。DNS 查找通常有 8 个步骤。缓存 DNS 信息时,将从 DNS 查找过程中跳过一些步骤,从而使该过程更快。以下示例概述了不缓存任何内容时的所有 8 个步骤。
DNS 查找的这 8 个步骤返回 example.com 的 IP 地址后,浏览器便能发出对该网页的请求:
典型 DNS 查找中会出现三种类型的查询。通过组合使用这些查询,优化的 DNS 解析过程可缩短传输距离。在理想情况下,可以使用缓存的记录数据,从而使 DNS 域名服务器能够返回非递归查询。
3 种 DNS 查询类型:
在递归查询中,DNS 客户端要求 DNS 服务器(一般为 DNS 递归解析器)将使用所请求的资源记录响应客户端,或者如果解析器无法找到该记录,则返回错误消息。
举个例子,一个A学生遇到难题去请教B同学,B同学也不会就去请教老师,老师把答案告诉B,B再告诉A,这个过程就是递归查询。
在这种情况下,DNS 客户端将允许 DNS 服务器返回其能够给出的最佳应答。如果所查询的 DNS 服务器与查询名称不匹配,则其将返回对较低级别域名空间具有权威性的 DNS 服务器的引用。然后,DNS 客户端将对引用地址进行查询。此过程继续使用查询链中的其他 DNS 服务器,直至发生错误或超时为止。
当 DNS 解析器客户端查询 DNS 服务器以获取其有权访问的记录时通常会进行此查询,因为其对该记录具有权威性,或者该记录存在于其缓存内。DNS 服务器通常会缓存 DNS 记录,以防止更多带宽消耗和上游服务器上的负载。
缓存的目的是将数据临时存储在某个位置,从而提高数据请求的性能和可靠性。DNS 高速缓存涉及将数据存储在更靠近请求客户端的位置,以便能够更早地解析 DNS 查询,并且能够避免在 DNS 查找链中进一步向下的额外查询,从而缩短加载时间并减少带宽/CPU 消耗。DNS 数据可缓存到各种不同的位置上,每个位置均将存储 DNS 记录并保存由 生存时间(TTL) 决定的一段时间。
现代 Web 浏览器设计为默认将 DNS 记录缓存一段时间。目的很明显;越靠近 Web 浏览器进行 DNS 缓存,为检查缓存并向 IP 地址发出正确请求而必须采取的处理步骤就越少。发出对 DNS 记录的请求时,浏览器缓存是针对所请求的记录而检查的第一个位置。
在 Chrome 浏览器中,您可以转到 chrome://net-internals/#dns 查看 DNS 缓存的状态。
操作系统级 DNS 解析器是 DNS 查询离开您计算机前的第二站,也是本地最后一站。操作系统内旨在处理此查询的过程通常称为“存根解析器”或 DNS 客户端。当存根解析器获取来自某个应用程序的请求时,其首先检查自己的缓存,以便查看是否有此记录。如果没有,则将本地网络外部的 DNS 查询(设置了递归标记)发送到 Internet 服务提供商(ISP)内部的 DNS 递归解析器。
与先前所有步骤一样,当 ISP 内的递归解析器收到 DNS 查询时,其还将查看所请求的主机到 IP 地址转换是否已经存储在其本地持久性层中。
根据其缓存中具有的记录类型,递归解析器还具有其他功能:
不知道你有没有类似的经历,就是爱奇艺可以看视频,但却不能打开网页。那是因为爱奇艺在程序内部使用了自己的DoH域名解析服务并作了缓存,可以不使用LocalDNS服务。为了方便说明白问题可以简单理解为爱奇艺内部已经将域名对应的IP放在程序里了。所以电脑访问的DNS服务被劫持或是被污染,不会影响爱奇艺的域名的IP获取。
理解了DNS解析过程,那么无法拿到正确的IP后果就能明白了。DNS劫持和污染的危害可轻可重,前者可能仅仅在目标网页中嵌入广告影响感官,后者可能会将账号密码窃取危害实际利益。
域名劫持或是污染对互联网使用体验影响很大,所以如何防止也是需要关注的。对于企业级可以使用建立自己的域名解析服务,对于私人用户可以切换使用三方DNS解析服务,例如114DNS、网络DNS、阿里DNS、腾讯、openDNS、FreeDNS。这些DNS服务器没有绝对的好与坏,因为所处地区、ISP、设备不一样,域名解析速度都是有差异的。
‘叁’ 5-ipv6服务器之-dns
ubuntu下面安装dns服务器使用dnsmasq
dnsmasq是一个Linux平台下的轻量级DNS 代理软件,我们只将其配置成一个简单的本地DNS Server。另外此软件最新版本含有DHCP Server以及TFTP Server的功能,这些功能默认都是关闭的, 根据依赖关系可能会安装其他包。
(如dnsmasq-base等, 但Ubuntu 10.04 Desktop已默认安装过,但在安装时可能会自动升级dnsmasq-base)。
打开文件/etc/dnsmasq.conf(安装后默认此配置文件内的所有参数都被注释掉), 找到参数resolv-file和addn-hosts, 去掉注释符号#后修改成如下值。
此处resolve-file指定dnsmasq从哪里获取上行DNS Server, 默认是从/etc/resolv.conf获取。
因为dnsmasq本是一个DNS代理软件而非Server, 我们只是利用dnsmasq的缓存功能来实现DNS Server, 故而要将上行server指定为本机地址, 在文件/etc/dnsmasq/dnsmasq.resolv中指定nameserver为127.0.0.1即可。
addn-hosts指定dnsmasq从哪个文件中读取“地址 域名”记录, 默认是系统文件/etc/hosts, 此处我们指定从自定义文件/etc/dnsmasq/dnsmasq.hosts中读取。
创建文件夹/etc/dnsmasq/(这里的文件夹是上一步中地址的两个文件所在目录, 可以自己任意指定, 但要和上一步中的保持一致), 并添加文件/etc/dnsmasq/dnsmasq.resolv和/etc/dnsmasq/dnsmasq.hosts。
添加一行内容到/etc/dnsmasq/dnsmasq.resolv文件中
添加自定义的“地址 域名”记录到文件/etc/dnsmasq/dnsmasq.hosts中, 支持IPv6地址, 例如:
可以任意添加自己的本地DNS Server可解析的“地址 域名”记录, 注意必须重新启动dnsmasq才可以使更新生效(也可以发送信号SIGHUP给dnsmasq进程, 具体请参考dnsmasq帮助文档, Shell命令man dnsmasq)。
实际上dnsmasq是将这些记录读取到内存中缓存起来(默认最多可以记录150条记录, 可以自己在配置文件/etc/dnsmasq.conf中修改), 收到DNS查询请求时从自身的缓存中直接查找答复。
更多功能及设置请参考dnsmasq的帮助文档或者查看配置文件/etc/dnsmasq中的注释说明内容。
如果启动DNS Server失败请查看系统log(/var/log/syslog),
使用nslookup直接测试
ipv4地址
ipv6地址
‘肆’ 5-ipv6基础知识之-域名解析dns
在电脑上面ping www.taobao.com (如果已经访问过需要换一个网址,dns地址会被缓存,有可能不产生dns请求,直接请求ICMP包)
ping域名的过来,会先发送dns请求得到域名的IP,然后再发送ICMP包,测试数据可达性。
DNS有两种报文:查询报文、回答报文,两者有着相同格式,下面就取报文中几个比较重要的字段进行说明
查询报文:
回答报文:
在发送DNS查询数据包的时候,会指定要查的类型,如IPV4地址就是A(使用ping命令),IPV6地址就是AAAA(使用ping6命令)。
Flags中Answer RRs 为3 说明对应的Answers字段中将会出现3项解析结果.
Answers字段可以看成一个List,集合中每项为一个资源记录。
在本地可以使用nslookup查看dns解析后的IPv4地址
IPv6对于DNS的支持是很简单的,只是将IPv4的域名解析和反向域名解析技术直接转换到IPv6环境中而已。
例如IPv6地址为2001:410:1:1:250:3eff:fee4:1,反向查询域名为1.0.0.0.4.e.e.f.f.f.e.3.0.5.2.0.1.0.0.0.1.0.0.0.0.1.4.0.1.0.0.2.IP6.ARPA
在本地可以使用nslookup查看dns解析后的IPv6地址
主机A是一台IPv6IPv4主机,它具有多个接口,每个接口有多个地址。主机A构建并发送了一条或多条“DNS域名查询请求”消息,请求所有与域名web.example.com对应的地址记录。而主机A接收到的“DNS域名查询响应”消息中包含一个IPv4地址记录和多个IPv6地址记录。
根据DNS域名査询响应消息的内容,主机A的IPv6会执行如下操作。
1、使用源地址选择算法来判断出每个目的IPv6地址的最佳源地址
2、使用目的地址选择算法来判断出目的IPv4和IPv6地址的优先顺序。
目的地址的有序组以及它们对应的源地址会被提供给应用程序。然后,应用就会接着尝试每个目的和源地址组合,直至通信建立。
例如,主机A配置了如下地址
LAN接口:
口站点内自动隧道寻址协议( ISATAP)隧道接口:
对于域名web.example.com的DNS域名查询请求消息返回如下地址。
源地址选择算法的结果如下。
目的地址选择算法的结果是按优先级顺序排列的目的地址,如下所示
于是,主机A尝试通过以下几组源和目的地址与web.example.com服务器建立通信。
https://openwrt.org/docs/guide-user/network/ipv6/ipv6.dns
‘伍’ 网络协议之:Domain name service DNS详解
现在是互联网的世界,大家从各种网站中获取各类资源和信息,通常我们只需要牢记一个网站地址即可,至于这个网站后台的服务器在什么地方,我们并不需要关心。当我们的请求指向这个网址之后,接下来就只需要等待请求被转发到该网址的后端服务器上,得到返回的处理结果即可。
这个将网站名称解析成为服务IP地址的服务就是DNS服务,它的全称是Domain Name System,也就是域名解析服务。
那么DNS到底是怎么工作的呢?
有聪明的小伙伴可能会说了,那还不简单,搞一个统一的服务器,把世界上所有的域名对应的IP都存起来,每次需要解析的时候从这个服务去取就行了。确实,在互联网的初期就是这么干的,那时候网站还不多,域名维护的成本还不高,并且最开始还没有域名系统。
作为互联网的技术基础的ARPANET(The Advanced Research Projects Agency Network)是第一个具有分布式控制的广域分组交换网络,也是最早应用 TCP/IP 协议的网络设施。
在ARPANET网络中,每个主机都有一个数字地址,但是这个数字地址明显是反人类记忆模式的,所以科学家们希望能够给这些主机起一些好记的名字,那么就需要维护这些名字和主机之间的映射关系,在这个时候斯坦福研究所(现在被称为SRI International)接下了这个任务,他们维护了一个HOSTS.TXT 的文本文件,在这个文件中描述了主机地址和主机名字之间的映射关系。
如果有人想要更新这个HOST文件,那么需要在工作时间打电话给SRI网络信息中心,由信息中心的工作人员将主机名和地址添加到HOSTS.TXT文件中。当然这样的操作对少量的数据更新来说还可以,但是如果数据量太大的情况下就有问题了。
后面一个叫做Elizabeth Feinler的人在SRI网络信息中心的基础上搭建了WHOIS目录,用于检索有关资源、联系人和实体的信息,并且提出了域名的概念.
最开始的维护都是在一个单一的服务器上进行集中式管理,但是这种维护方式已经不能够满足日益增长的网络需求,于是在1983年Paul Mockapetris在南加州大学创建了DNS系统,并在1983年11月于RFC 882 和 RFC 883发布了相关的原始规范。
后面DNS经过一系列的发展,于1987年11月,RFC 1034和 RFC 1035取代了1983年的DNS规范。
前面我们也提过了,DNS最基本的作用就是将用户提供的域名转换成为服务器的地址。
比如我们现在有个域名叫做 www.flydean.com ,它对应的服务器IPv4地址是42.138.111.201,对应的IPv6地址是fe40::1024:ff:fe10:123f,DNS要做的工作就是将 www.flydean.com 根据需要快速的转换成为IPv4或者IPv6地址。这是DNS的第一个功能也是最重要的功能:提供域名的解析服务。
另外,在具体的应用场景中,域名背后对应的服务器IP可能是会变化的,那么就需要DNS有快速更新的功能,可以快速反映网络的变化情况,而不影响具体用户的访问。
这种操作对用用户来说是友好的,因为用户不需要知道底层服务器的变化,他们只需要知道要访问的域名即可。
最后,现代的网络应用一般都是分布式的,可能会有多个工作节点,不同的工作节点可能会被部署在不同的地方。用户在访问一个域名的时候,为了提升访问速度,应该优先访问离用户最近的那个节点。这时候DNS又承担了优化网络访问的任务,它负责向用户提供最近的服务器节点,所以在现代网络架构中,DNS的作用越来越大。
讲解完DNS的功能之后,让我们来看看DNS的组成,作为一个域名服务,DNS是由域名空间和Name servers两部分组成的。
域名空间描述的是域名的结构和命令规则,而Name servers则是对域名进行解析的服务。接下来我们分别进行讲解。
域名空间,也叫做Domain name space,它是所有域名的集合。下面是维基网络上的域名空间的示意图:
<img src="https://img-blog.csdnimg.cn/.png" style="zoom:67%;" />
从上图可以看出,域名空间其实是一个树形结构,每个节点或者叶子节点都有一个label和RR(esource records记载着和域名相关的有用信息),域名本身由label组成,右边是其父节点的名称,用点分隔。
域名空间可以被划分为多个子空间,每个子空间可以单独进行管理,这样的子空间叫做一个域(zone)。
每个DNS域又可以被划分为一个域,也可能包含许多域和子域,具体取决于域管理器的管理选择。
大家对域名都很熟悉了,但是大家可能不是很明白域名的构成。
事实上域名是由label组成的,各个label是以点连接起来的,比如: www.flydean.com 。
每个label都可以看做是域的一个层级,最右边是顶级域名com,左边的是右边域名的子域名,比如flydean是com的子域名,www是 flydean.com 的子域名,以此类推,总共可以有127个层级结构。
每个label可以包含0到63个字符,总共的域名长度不能超过253个字符。为什么是253个字符而不是255个字符呢?那是因为有2个字符是用来存储长度值的。
一般来说域名的标签是以ASCII字符表示的,通常使用a-z,A-Z,0-9和连字符来表示,这种规则简称为LDH(letters, digits, hyphen)规则。
在域名中,字符串是大小写不敏感的,这就意味着 www.flydean.com 和 www.FLYDEAN.COM 是等价的。
注意,标签不能以连字符开头或者结尾,并且顶级域名不能全为数字。
有朋友可能会问了,不对呀,为什么我听过中文域名呢?
这是因为为了解决域名只能使用ASCII编码的问题,ICANN通过了一个叫做IDNA国际化域名的系统,通过这个系统,用户应用程序(例如Web浏览器)可以使用Punycode将Unicode字符串映射到有效的DNS字符集。
什么是Punycode呢?Punycode是一种使用ASCII字符集来表示Unicode的编码方式。感兴趣的同学可以自行探索,这里就不细讲了。
name servers也被称为名称服务器,是用来解析域名的服务器。名称服务器是一种客户端-服务器的架构,每个名称服务器用于发布有关该域的信息以及管理从属于它的任何域的名称服务器。
这样的名称管理器就构成了层级结构。为了提升域名解析的效率,通常会需要使用缓存来存储域名和服务器地址的对应关系,但是有时候我们需要时效性更高的场景和服务,于是出现了一种特殊的名称服务器,这种服务器叫做权威名称服务器。
为什么叫权威名称服务器呢?这是因为权威名称服务器仅从由原始来源配置的数据中给出DNS查询的答案,而不是通过对另一个名称服务器的查询获得的结果。它是域名服务器查询中的最后一站,如果权威名称服务器中保存有请求的记录,则其会将已请求主机名的IP地址返回到发出初始请求的DNS解析器.
上面讲了那么多概念性的东西,大家可能会有些懵。 没关系,这里我们举一个具体的例子来观察一下DNS查询的整个流程。
假如用户在浏览器中输入 www.flydean.com 想访问这个网站,因为用户输入的是一个域名,所以需要将域名解析成为IP地址,从而发送后续的数据请求包。
因为DNS本身是一个名称服务,所以需要一个客户端来请求DNS,这个客户端就叫做DNS解析器。
一般来说DNS解析器是嵌入在浏览器中的,当用户输入URL来访问网络资源的时候,浏览器会自动调用DNS解析器去对这个URL进行解析。
那么域名解析的第一站是哪里呢?域名解析的第一站就是根服务器,也叫root服务器。
域名解析的请求由root服务器首先响应,但是root服务器并不会直接返回用户要解析的域名地址,而是根据用户访问的域名中的顶级域名的不同,返回顶级域名服务器(TLD)的地址。
比如这里我们要访问的定义域名是.com,那么root服务器会返回.com的顶级域名服务器的地址。
root服务器有多少个呢?世界上的root服务器IP地址只有13个,这是由于早期技术原因的限制导致的。这13个root服务器的IP地址中,1个为主root地址,这个地址是由ICANN负责管理的,其他12地址中9个在美国,2个在欧洲,1个在日本。
虽然root根服务器IP只有13个,但是基于这13个IP地址构建了一个服务器集群,可以有效的保证根服务器的运行稳定性。从而不至于出现根服务器不能访问导致的大规模网络错误。
回到我们的解析过程,root服务器把.com顶级域名服务器的地址返回给了DNS解析器,DNS解析会再次向.com TLD发起解析查询。
.com TLD会再次返回flydean.com的域名服务器地址给DNS解析器。
DNS解析器再次发送请求给 flydean.com 的域名服务器,这里的域名服务器是一个权威域名服务器,因为这里是域名解析的最后一站,存放着域名的真实IP地址,权威域名服务器经过查询得到 www.flydean.com 的真实IP地址,并返回给DNS解析器。
最后DNS解析器将这个IP地址返回给浏览器,供后续的浏览请求使用。
可以看到DNS解析是一个不断递归解析的过程,所以这样的解析器又被称为DNS递归解析器。
从上面的流程可以看到,每次域名的请求都需要经过root域名服务器,那么这样root域名服务器的压力会很大,为了解决这个问题,事实上我们在使用的过程中引入了DNS缓存。
缓存的目的就是将DNS数据放到离自己最近的地方,从而提示数据的处理速度和展示效率。
常见的DNS缓存有浏览器缓存和操作系统DNS缓存。
浏览器缓存就是由浏览器负责维护的DNS缓存,而操作系统DNS缓存是操作系统级的DNS缓存。
如果这两个缓存都不存在的话,那么本地的DNS客户端会将DNS查询发生到ISP(Internet 服务提供商)内部的DNS递归解析器,对于ISP来说,它也会存在DNS缓存,所以如果新增一个域名或者更改一个IP地址,并不是马上生效的,而是需要等待一定的时间来让缓存失效或者缓存刷新。
前面我们提到了DNS命名空间中每个节点都是有label和resource records (RR)组成的,RR存储着资源的描述信息,会在收到DNS查询之后返回。
DNS RR是由一条条的record构成的,下面是一条record的结构:
其中NAME是树中节点的完全限定域名。
TYPE是记录类型。它表示数据的格式和用途,比如A表示用于将域名转换为IPv4地址,NS表示列出了哪些名称服务器可以响应DNS的域查找,MX表示指定用于处理指定域的邮件的邮件服务器在电子邮件地址中。
RDATA是特定类型相关的数据,例如地址记录的IP地址,或MX记录的优先级和主机名。
既然有DNS查询,那么就会有DNS查询的消息结构,DNS消息可以分为两种,分别是查询消息和回复消息。
每一个message都包含了一个消息头和四个其他部分:question, answer, authority和额外空间。
header负责控制其他的4个部分,header包含了这样几个字段: Identification, Flags, Number of questions, Number of answers, Number of authority resource records (RRs)和 Number of additional RRs, 如下表所示:
整个头的标记字段长度是16bits,紧跟着4个16bits,分别表示4个其他部分的长度。
以上就是DNS的结构和DNS工作的基本流程。
‘陆’ 电脑上的ipv4和ipv6断开连接的影响
建议你如果是局域网使用的话,只使用IPV4就可以了,或者更换操作系统为XP,在新的VISTA系统中,ipv4和ipv6已经得到了应用,但是现在很多网络都不支持这种新的协议,
其实解决办法也不难,就是把ipv4和ipv6前面的勾去掉,系统就会默认会以前的TCP/IP协议,或是如果要设置IP的话
右键本地连接图标-打开网络和共享中心-本地连接-属性-TCP/IPV4
具体填什么内容,问服务运营商
右键本地连接图标-诊断和修复
1、检查网络线路连接和网卡是否良好。
2、安装网卡驱动。
(1)右击“我的电脑”----“属性”---“硬件”----“设备管理器”—展开“网络适配器”—看有没有黄色的问号?,有,说明缺网卡驱动,没有,说明该驱动不能正常使用,将其卸载。(注意要记下,这是你使用的网卡型号)。
(2)如果没有适合的光盘,到驱动之家、中关村在线、华军等网站下载驱动软件,下载驱动软件要注意:一是品牌型号要对,二是在什么系统上便用,三是要看该驱动软件公布的时间,最新的未必适合使用,可多下载几个,挑着使。
(3)下载的驱动软件一般有自动安装功能,打开即自动安装。
不能自动安装的,解压后备用,要记下该软件在磁盘中的具体路径,如D:\ ……\……。右击“我的电脑”----“属性”---“硬件”----“设备管理器”,展开“网络适配器”右击网卡,选“更新驱动程序”,打开“硬件更新向导”,去掉“搜索可移动媒体”前的勾,勾选“从列表或指定位置安装”---“下一步”,勾选“在搜索中包括这个位置”,在下拉开列表框中填写要使用的声卡驱动文件夹的路径(D:\……\……---“下一步”,系统即自动搜索并安装你指定位置中的网卡驱动程序。
3、建立ADSL连接。
(1)选择开始->程序->附件->通讯->新建连接向导 ,打开“欢迎使用新建连接向导”界面--“下一步” ;(2)选择“连接到Internet”--“下一步”;
(3)选择“手动设置我的连接”--“下一步”;
(4)选择“用要求用户名和密码的宽带连接来连接”--“下一步”;
(5)在“ISP名称”文本框中输入Internet服务商名称--“下一步”;
(6)在“用户名”文本框中输入所使用的用名称(ADSL账号),在“密码”文本框中输入密码,在“确认密码”文本框中重复输入密码确认,勾选“任何用户从这台计算机连接到Internet使用此帐户名和密码”和“把它做为默认Internet连接”—下一步;(7)勾选“在我的桌面上添加一个到此连接的快捷方式”—单击“完成”后,你会看到桌面上多了个名为“ADSL”的连接图标。
4、设置连接属性
(1)本地连接:开始—连接到—显示所有连接—右击本地连接—属性—常规—点选Internet协议(TCP/IP)--属性—选使用下面的IP地址(这是我的IP地址,你的IP地址网络商会告诉你):
IP地址:192.168.0.2
子网掩码:255.255.255.0
默认网关:192.168.0.1。
使用下面的DNS服务器地址(我的服务器地址,你的去问网络商):
首选:1.1.1.1
备用:24.24.24.24
(2)宽带连接:右击宽带连接—属性—网络—选自动获得IP地址—确定。
5、系统文件丢失,用好使的XP系统盘,修复或重装系统。
6、重装系统后要重新设置或建立网络连接!声音一般要安装声卡驱动程序,但是,有的系统盘如番茄花园v3不要
1、运行CMD命令
2、运行ipconfig,察看你的网关地址
3、运行ping命令,格式为:ping ***.***.***.***(PING你的网关地址),看看TTL是否很衰减,看看连接网关是否超时了,很可能是这样的原因让你网页浏览不顺利。
从你描述的重新连接后,DHCP服务器给你指定了新的IP,网关也会随之改变,因此会改善一段时间。
因此建议你PING下网关,很大可能是网络的配置问题
一、网络设置的问题
这种原因比较多出现于需要手动指定IP、网关、DNS服务器联网方式下,及使用代理服务器上网的。仔细检查计算机的网络设置。
二、DNS服务器的问题
当IE无法浏览网页时,可先尝试用IP地址来访问,如果可以访问,那么应该是DNS的问题,造成DNS的问题可能是连网时获取DNS出错或DNS服务器本身问题,这时你可以手动指定DNS服务(地址可以是你当地ISP提供的DNS服务器地址,也可以用其它地方可正常使用DNS服务器地址。在网络的属性里进行(控制面板—网络和拔号连接—本地连接—右键属性—TCP/IP协议—属性—使用下面的DNS服务器地址)。不同的ISP有不同的DNS地址。有时候则是路由器或网卡的问题,无法与ISP的DNS服务连接,这种情况的话,可把路由器关一会再开,或者重新设置路由器。
还有一种可能,是本地DNS缓存出现了问题。为了提高网站访问速度,系统会自动将已经访问过并获取IP地址的网站存入本地的DNS缓存里,一旦再对这个网站进行访问,则不再通过DNS服务器而直接从本地DNS缓存取出该网站的IP地址进行访问。所以,如果本地DNS缓存出现了问题,会导致网站无法访问。可以在“运行”中执行ipconfig /flushdns来重建本地DNS缓存。
三、IE浏览器本身的问题
当IE浏览器本身出现故障时,自然会影响到浏览了;或者IE被恶意修改破坏也会导致无法浏览网页。这时可以尝试用“上网助手IE修复专家”来修复,或者重新IE(查看本站IE重装技巧)
四、网络防火墙的问题
如果网络防火墙设置不当,如安全等级过高、不小心把IE放进了阻止访问列表、错误的防火墙策略等,可尝试检查策略、降低防火墙安全等级或直接关掉试试是否恢复正常。
五、网络协议和网卡驱动的问题
IE无法浏览,有可能是网络协议(特别是TCP/IP协议)或网卡驱动损坏导致,可尝试重新网卡驱动和网络协议。
六、HOSTS文件的问题
HOSTS文件被修改,也会导致浏览的不正常,解决方法当然是清空HOSTS文件里的内容。
七、系统文件的问题
当与IE有关的系统文件被更换或损坏时,会影响到IE正常的使用,这时可使用SFC命令修复一下,WIN98系统可在“运行”中执行SFC,然后执行扫描;WIN2000/XP/2003则在“运行”中执行sfc /scannow尝试修复(可查询本站WINXP修复技巧)。
其中当只有IE无法浏览网页,而QQ可以上时,则往往由于winsock.dll、wsock32.dll或wsock.vxd(VXD只在WIN9X系统下存在)等文件损坏或丢失造成,Winsock是构成TCP/IP协议的重要组成部分,一般要重装TCP/IP协议。但xp开始集成TCP/IP协议,所以不能像98那样简单卸载后重装,可以使用 netsh 命令重置 TCP/IP协议,使其恢复到初次安装操作系统时的状态。具体操作如下:
点击“开始 运行”,在运行对话框中输入“CMD”命令,弹出命令提示符窗口,接着输入“netsh int ip reset c:\resetlog.txt”命令后会回车即可,其中“resetlog.txt”文件是用来记录命令执行结果的日志文件,该参数选项必须指定,这里指定的日志文件的完整路径是“c:\resetlog.txt”。执行此命令后的结果与删除并重新安装 TCP/IP 协议的效果相同。
小提示:netsh命令是一个基于命令行的脚本编写工具,你可以使用此命令配置和监视Windows 系统,此外它还提供了交互式网络外壳程序接口,netsh命令的使用格式请参看帮助文件(在令提示符窗口中输入“netsh/?”即可)。
第二个解决方法是修复以上文件,WIN9X使用SFC重新提取以上文件,WIN2000/XP/2003使用cmd /c sfc /scannow命令修复文件,当用cmd /c sfc /scannow无法修复时,可试试网上发布的专门针对这个问题的修复工具WinSockFix,可以在网上搜索下载。
八、杀毒软件的实时监控问题
这不是常见,但有时的确跟实时监控有关,因为现在杀毒软件的实时监控都添加了对网页内容的监控。但如果出现IE无法浏览网页时,也要注意检查一下杀毒软件。
九、Application Management服务的问题
出现只能上QQ不能开网页的情况,重新启动后就好了。不过就算重新启动,开7到8个网页后又不能开网页了,只能上QQ。有时电信往往会让你禁用Application Management服务,就能解决了。
十、感染了病毒所致
这种情况往往表现在打开IE时,在IE界面的左下框里提示:正在打开网页,但老半天没响应。在任务管理器里查看进程,(进入方法,把鼠标放在任务栏上,按右键—任务管理器—进程)看看CPU的占用率如何,如果是100%,可以肯定,是感染了病毒,这时你想运行其他程序简直就是受罪。这就要查查是哪个进程贪婪地占用了CPU资源.找到后,最好把名称记录下来,然后点击结束,如果不能结束,则要启动到安全模式下把该东东删除,还要进入注册表里,(方法:开始—运行,输入regedit)在注册表对话框里,点编辑—查找,输入那个程序名,找到后,点鼠标右键删除,然后再进行几次的搜索,往往能彻底删除干净。
很多的病毒,杀毒软件无能为力时,唯一的方法就是手动删除。
十一、无法打开二级链接(或新窗口)
还有一种现象也需特别留意:就是能打开网站的首页,但不能打开二级链接,如果是这样,处理的方法:
方法一、重新注册如下的DLL文件:
在开始—运行里输入:
regsvr32 Shdocvw.dll
regsvr32 Shell32.dll (注意这个命令,先不用输)
regsvr32 Oleaut32.dll
regsvr32 Actxprxy.dll
regsvr32 Mshtml.dll
regsvr32 Urlmon.dll
regsvr32 Msjava.dll
regsvr32 Browseui.dll
注意:每输入一条,按回车。第二个命令可以先不用输,输完这些命令后重新启动windows,如果发现无效,再重新输入一遍,这次输入第二个命令。
方法二:COMCTL32.DLL文件产生的问题。
在升级IE或windows时这个文件可能被替换了,也许新版本的COMCTL32.DLL文件有BUG。找一张windows安装光盘,搜索它,找到一个名为COMCTL32.DL_的文件,把它拷贝出来,用winrar提取 这个文件为COMCTL32.DLL文件,并覆盖现有文件。(我不知道98光盘里有没有这个文件,我用的是2000光盘)
方法三:用方法一重新注册regsvr32 Oleaut32.dll时出错或重新注册后也无效。
在windows光盘里提取Oleaut32.dll文件,在MDAC_IE5.CAB文件包里,也是用winrar提取并覆盖现有。
方法四:DCOM属性设置错误。
详细参见:
1、点击“开始”。
2、输入“Dcomcnfg”。
3、弹出的提示框选“是”。
4、点“默认安全机制”标签。
5、在“默认访问权限”栏点“编辑默认值”。
6、看看“名称”下面的栏里有没有“SYSTEM”和“Interactive”项,如果没有,则添加。
7、点击OK,点击OK。
‘柒’ DNS缓存是啥啊
DNS即域名系统,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
开始时,域名的字符仅限于ASCII字符的一个子集。2008年,ICANN通过一项决议,允许使用其它语言作为互联网顶级域名的字符。
使用基于Punycode码的IDNA系统,可以将Unicode字符串映射为有效的DNS字符集。因此,诸如“XXX.中国”、“XXX.美国”的域名可以在地址栏直接输入并访问,而不需要安装插件。
但是,由于英语的广泛使用,使用其他语言字符作为域名会产生多种问题,例如难以输入,难以在国际推广等。
(7)ipv6dns缓存扩展阅读:
DNS系统中,常见的资源记录类型有:
主机记录(A记录):RFC 1035定义,A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。
别名记录(CNAME记录): RFC 1035定义,CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。
IPv6主机记录(AAAA记录): RFC 3596定义,与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。
服务位置记录(SRV记录): RFC 2782定义,用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。
NAPTR记录:RFC 3403定义,它提供了正则表达式方式去映射一个域名。NAPTR记录非常着名的一个应用是用于ENUM查询。
‘捌’ IP和DNS基本知识
IP 是Internet Protocol(网络通讯协议),但是通常我们说IP的时候,一般都指IP地址。
为什么要使用IP地址呢? IP地址就像身份证号码一样,每台电脑连上网络后会自动分配的一个IP地址,这是唯一的标示,这样你才可以精确的访问到你想访问的终端。
IP地址的组成。 我们平时常见的IP地址是由4组数字用点号隔开的。例如 220.181.38.148。但是真正的IP地址实际是二进制组成的。例如11010010.01001001.10001100.00000110。可是这个不利于阅读,所以转换为十进制容易记忆。
IP地址的类型。 IP地址分为A,B,C,D,E。
A,B,C类是生活中常用的类型。单播地址。
D类:组播地址在路由协议的时候会讲到几个常用的几个,用户组播地址在CCIE中学习。
E类:仅供Internet实验和开发。
公网地址和私网地址:
IPV4和IPV6:
IPv4和IPv6是是目前使用的两种Internet协议版本。平时我们常看,也常用的,都是IPV4,那么IPV6是什么呢?
Pv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写。它的出现是为了解决IPV4地址资源不足。
格式如下:
IPV4的长度只有2*32(4字节),而IPV6是它的4倍,2*128(16字节)
可以看出来在IPV4资源不足的情况下,IPV6更长而且IPV6是加密的,地址不容易被攻击和追查。但是IPV6还是没有普及。有以下几个原因:
1. NAT(Network Address Translation)技术。
可以看到,通过NAT可以组建一个庞大的私网,这样只需要一个公网IP,下面可以带很多个私网IP,很大程度上解决了IPV4资源不足的情况。
2. 目前还是IPV4占主流
当前的情况,IPV4还是被广泛使用的,而IPV6只是小范围使用,如果要推广就会有一个过渡问题。而目前并没有一个很好的解决办法可以平稳的从IPV4转换到IPV6
3. 没有动力
即使在IPV6比IPV4更有优势的前提下,没有足够的商业价值,也很难去推动它。
DNS可以看做IP地址的昵称,可以由有意义的词组来组成,便于人记忆。
DNS采用层次树形结构,以ait.auto.qq.com为例:
可以看出,DNS分为顶级域名和多级子集域名,每层域名都由上一层直接管理,不受上上级影响。而且顶级域名是有自己特点的,例如e是给教育方面的,gov是政府部门使用的,cn和uk这种是地区或者国家专用的。
另外,事实上还有一个根域名。就是所谓的“.”,所以当我们访问ait.auto.qq.com实际上应该是ait.auto.qq.com.。但是一般访问的时候,我们不会输入最后面的这个点。并不影响我们的使用。
DNS的解析流程:
- 当用户访问一个网站的时候,例如im.qq.com,首先会检查自身 浏览器 里的缓存是否存有这个网站的解析IP地址。如果没有,则回去检查host文件里面的配置。
- 如果没有,则会请求 本地DNS服务器 来解析这个域名(步骤①),一般这个服务器距离不会太远,并且存有大约80%的解析结果都缓存在这里。
- 如果没有查到,此时就会去 根DNS服务器 去查找(步骤②), 根DNS服务器 则根据请求,返回对应的 顶级DNS服务器 的地址(步骤③)。这里,根据域名知道是com.下的,就会返回com域的服务器。
- 然后 本地DNS服务器 收到这个地址后,向对应的服务器发送请求(步骤④)。 顶级NDS服务器 根据请求,返回权威DNS服务器的IP地址(步骤⑤),例如访问im.qq.com,则这个服务器就是qq.com权威服务器的IP地址。
- 然后 本地DNS服务器 收到这个地址后,向对应的 权威DNS服务器 发起请求, 权威DNS服务器 根据请求,返回对应服务器的IP地址。所以根据例子,qq.com权威服务器会去检查对应im的服务器,有就返回对应的IP地址。
- 最后 本地DNS服务器 把结果返回给客户端,并且保存到缓存里。
附录:
https://www.cnblogs.com/gk/p/8917292.html
‘玖’ ipv6用不了,老是显示网络出现错误,服务器可能不能用,怎么办
一、网络设置的问题这种原因比较多出现在需要手动指定IP、网关、DNS服务器联网方式下,及使用代理服务器上网的。仔细检查计算机的网络设置。二、DNS服务器的问题当IE无法浏览网页时,可先尝试用IP地址来访问,如果可以访问,那么应该是DNS的问题,造成DNS的问题可能是连网时获取DNS出错或DNS服务器本身问题,这时你可以手动指定DNS服务(地址可以是你当地ISP提供的DNS服务器地址,也可以用其它地方可正常使用DNS服务器地址。)在网络的属性里进行,(控制面板—网络和拔号连接—本地连接—右键属性—TCP/IP协议—属性—使用下面的DNS服务器地址)。不同的ISP有不同的DNS地址。有时候则是路由器或网卡的问题,无法与ISP的DNS服务连接,这种情况的话,可把路由器关一会再开,或者重新设置路由器。还有一种可能,是本地DNS缓存出现了问题。为了提高网站访问速度,系统会自动将已经访问过并获取IP地址的网站存入本地的DNS缓存里,一旦再对这个网站进行访问,则不再通过DNS服务器而直接从本地DNS缓存取出该网站的IP地址进行访问。所以,如果本地DNS缓存出现了问题,会导致网站无法访问。可以在“运行”中执行ipconfig /flushdns来重建本地DNS缓存。三、IE浏览器本身的问题当IE浏览器本身出现故障时,自然会影响到浏览了;或者IE被恶意修改破坏也会导致无法浏览网页。这时可以尝试用“黄山IE修复专家”来修复(建议到安全模式下修复),或者重新IE(如重装IE遇到无法重新的问题,可参考:附一解决无法重装IE)四、网络防火墙的问题如果网络防火墙设置不当,如安全等级过高、不小心把IE放进了阻止访问列表、错误的防火墙策略等,可尝试检查策略、降低防火墙安全等级或直接关掉试试是否恢复正常。五、网络协议和网卡驱动的问题IE无法浏览,有可能是网络协议(特别是TCP/IP协议)或网卡驱动损坏导致,可尝试重新网卡驱动和网络协议。六、HOSTS文件的问题HOSTS文件被修改,也会导致浏览的不正常,解决方法当然是清空HOSTS文件里的内容。七、系统文件的问题当与IE有关的系统文件被更换或损坏时,会影响到IE正常的使用,这时可使用SFC命令修复一下,WIN98系统可在“运行”中执行SFC,然后执行扫描;WIN2000/XP/2003则在“运行”中执行sfc /scannow尝试修复。其中当只有IE无法浏览网页,而QQ可以上时,则往往由于winsock.dll、wsock32.dll或wsock.vxd(VXD只在WIN9X系统下存在)等文件损坏或丢失造成,Winsock是构成TCP/IP协议的重要组成部分,一般要重装TCP/IP协议。但xp开始集成TCP/IP协议,所以不能像98那样简单卸载后重装,可以使用 netsh 命令重置 TCP/IP协议,使其恢复到初次安装操作系统时的状态。具体操作如下:点击“开始 运行”,在运行对话框中输入“CMD”命令,弹出命令提示符窗口,接着输入“netsh int ip reset c:\\\\resetlog.txt”命令后会回车即可,其中“resetlog.txt”文件是用来记录命令执行结果的日志文件,该参数选项必须指定,这里指定的日志文件的完整路径是“c:\\\\resetlog.txt”。执行此命令后的结果与删除并重新安装 TCP/IP 协议的效果相同。小提示:netsh命令是一个基于命令行的脚本编写工具,你可以使用此命令配置和监视Windows 系统,此外它还提供了交互式网络外壳程序接口,netsh命令的使用格式请参看帮助文件(在令提示符窗口中输入“netsh/?”即可)。第二个解决方法是修复以上文件,WIN9X使用SFC重新提取以上文件,WIN2000/XP/2003使用sfc /scannow命令修复文件,当用sfc /scannow无法修复时,可试试网上发布的专门针对这个问题的修复工具WinSockFix,可以在网上搜索下载。八、杀毒软件的实时监控问题这倒不是经常见,但有时的确跟实时监控有关,因为现在杀毒软件的实时监控都添加了对网页内容的监控。举一个实例:KV2005就会在个别的机子上会导致IE无法浏览网页(不少朋友遇到过),其具体表现是只要打开网页监控,一开机上网大约20来分钟后,IE就会无法浏览网页了!
‘拾’ 什么是DNS缓存
DNS缓存是Windows和macOS等操作系统会为调用和解析的地址(DNS缓存)附加的缓存。
这些保存了与名称解析相关的所有信息,每个信息都有一个称为TTL(生存时间)的条目,其中数据在给定时间内保持有效。在这段时间内,直接从缓存中回答相应的查询,而不需要绕道到DNS服务器。
各种应用程序,例如来自互联网服务提供商的Web浏览器或名称服务器,也有自己的DNS缓存,用于加速名称解析。
(10)ipv6dns缓存扩展阅读
DNS缓存中的信息单元或条目称为资源记录(RR),并以ASCII代码(压缩形式)显示。各种 _ 部分可选 _ 组件包括以下内容:
1、资源数据(rdata):描述记录的数据,例如地址或主机名。
2、记录类型:创建的条目的类型,例如“A”:IPv4地址(十进制值:1)或“AAAA”:IPv6地址(十进制值:28)。
3、记录名称(可选):为其创建DNS条目的对象的域名。
4、生存时间(可选):资源记录的有效期(以秒为单位)。
5、类(可选):RR所属的协议组(主要是“IN”用于Internet)。
6、资源数据长度(可选):资源数据长度的值。
7、DNS缓存包含各个域或主机的IP地址以及指定它的其他信息 _ 例如记录的有效期或相应的协议组。