Windows与Linux配置DNS
发布于2024-12-08 00:40:25,更新于2024-12-12 16:15:58,标签:devops 文章会持续修订,转载请注明来源地址:https://meethigher.top/blogDNS服务的主要作用是将域名解析为对应的IP地址。但是很多时候,域名的地址变动时,有些DNS更新的没那么及时,导致解析结果不正确,所以此时需要我们自己手动更换DNS服务。
本文基于以下操作系统
- Windows11
- CentOS7
DNS的默认端口是53,我们在配置DNS时,如果没有单独考虑DNS,就是使用了默认的53端口。
域名解析通过UDP,区域传输通过TCP。所以网络策略需要开通TCP和UDP
一、配置DNS
1.1 Windows
对于Windows配置DNS,就相对简单了,直接控制面板\网络和 Internet\网络和共享中心
,选择网络后左键,选择属性,进入Internet协议版本4(TCP/IPv4)
,修改DNS服务器地址即可。
常见的DNS地址为114.114.114.114
,其中还有阿里DNS、腾讯DNS等,这个要根据实际情况来选择。比如阿里DNS,可以直接访问阿里云网站运维检测平台,选择一个解析域名最快的DNS。
1.2 Linux
修改DNS有两种方式
/etc/resolv.conf
- 说明1:该文件是 DNS 配置的最终生效文件,一经修改直接生效,不需要其他比如重启的操作。
- 说明2:该文件会被网络管理服务动态生成,原配置会被覆盖。
/etc/sysconfig/network-scripts/网卡配置文件
- 说明1:一台机器存在多个网卡。我们可以通过网卡命令,来定位其配置文件。比如
ip addr
查询到存在两个网卡lo
和ens33
,在CentOS7中,对应的网卡配置文件分别为ifcfg-lo
和ifcfg-ens33
。 - 说明2:该文件内部,若指定了DNS服务,在配置更新时,会自动更新到
/etc/resolv.conf
。
- 说明1:一台机器存在多个网卡。我们可以通过网卡命令,来定位其配置文件。比如
我们可以通过第2种方式进行DNS的配置。添加
1 | DNS1="114.114.114.114" |
然后重启网络服务
1 | systemctl restart network |
此时查看/etc/resolv.conf
发现已经被覆盖了。
二、解析域名
2.1 Windows
Windows支持两种方式
- ping
- nslookup
- curl
- 说明:若目标方是HTTP服务,可以使用该方式
curl -v http://domain
- 说明:若目标方是HTTP服务,可以使用该方式
1 | # 可以知道域名解析后的IP地址,但无法知道使用哪个DNS服务进行的解析 |
ping命令在Windows中是默认开启的。
若nslookup命令跟telnet命令一样不存在,那就是需要手动开启的。直接控制面板\程序
,选择启用或关闭Windows功能
,找相关的DNS即可。一般默认是存在的。
2.2 Linux
Linux也支持两种方式
- ping
- nslookup
- curl
- 说明:若目标方是HTTP服务,可以使用该方式
curl -v http://domain
- 说明:若目标方是HTTP服务,可以使用该方式
使用方式与Windows一致,此处不多赘述。
ping命令是Linux自带的,但是nslookup是需要安装的。
在CentOS7中,执行如下命令即可。
1 | sudo yum install -y bind-util |
三、暴力大法-写死域名对应的IP地址
这是一种不值得推荐的做法,而且后期也经常需要人工维护。
但不得不承认,在某些有网络限制的应用场景中,是有其存在价值的。这也算是存在即合理的一种论据了吧。
3.1 Windows
以管理员模式编辑C:\Windows\System32\drivers\etc\hosts
文件,按照如下格式添加域名对应的IP地址
1 | 127.0.0.1 meethigher.top |
一旦写入,立即生效。
3.2 Linux
以管理员模式编辑/etc/hosts
文件,按照如下格式添加域名对应的IP地址
1 | 127.0.0.1 meethigher.top |
一旦写入,立即生效。