最有效修改 dns

windows

工具

修改dns步骤复杂,使用工具修改很方便

蓝奏云:https://javapython.lanzoui.com/iEkg1v8oeqd

脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
@ECHO OFF
@mode con lines=50 cols=100
COLOR 0A
CLS
ECHO #################################################################################
ECHO # 打不开YR系统yrxitong.com时使用,以管理员身份执行,若安全软件拦截,请点允许 #
ECHO #################################################################################
SETLOCAL ENABLEDELAYEDEXPANSION
TITLE 访问YR系统网站最优化DNS设置工具
SET d=www.yrxitong.com
SET b1=114.114.114.114
SET b2=223.5.5.5
SET b3=1.2.4.8
SET b4=180.76.76.76
SET b5=119.29.29.29
SET b6=1.1.1.1
SET b7=8.8.8.8
ECHO 正在检测域名解析,可能需要1~2分钟,请耐心等待...
ECHO .
ECHO ..
FOR /L %%b IN (1,1,7) DO (
SET ip%%b=空
SET t%%b=超时
FOR /F "skip=1 tokens=1,2 delims=: " %%i IN ('nslookup -qt^=a %d% !b%%b! 2^>nul^|findstr "[0-9]$"') DO (
SET ip%%b=%%j
FOR /F "tokens=4 delims== " %%k IN ('ping %%j -n "2" ^| findstr /c:"平均"') DO (
SET t%%b=%%k
)))
SET tmin=10000
SET bmin=!b1!
FOR /L %%b IN (1,1,7) DO (
IF !ip%%b!==空 (
ECHO DNS"!b%%b!" 解析域名"%d%" 失败
) ELSE (
IF !t%%b!==超时 (
ECHO DNS"!b%%b!" 解析域名"%d%" IP为!ip%%b! 连接超时!
) ELSE (
ECHO DNS"!b%%b!" 解析域名"%d%" IP为!ip%%b! 连接时间为!t%%b!
SET /a t%%b=!t%%b:~0,-2!+0
IF !tmin! GEQ !t%%b! (
SET tmin=!t%%b!
SET bmin=!b%%b!
))))
ECHO=
ECHO #####################################################################
ECHO=
SET /P RT=推荐设置DNS为!bmin!,是否设置(y/n)?:
IF %RT%==y (
FOR /F "SKIP=3 TOKENS=*" %%M IN ('NETSH INTERFACE SHOW INTERFACE') DO (
FOR %%T IN (%%M) DO SET E=%%T
NETSH -C INTERFACE IP ADD DNS NAME="!E!" ADDR=!bmin! INDEX=1
ECHO 设置网卡"!E!"为!bmin!完毕
)
IPCONFIG /FLUSHDNS
ECHO 测试域名解析 ping %d%
PING %d%
ECHO #####################################################################
ECHO 设置DNS完毕,按任意键退出...
) ELSE (
IF %RT%==Y (
FOR /F "SKIP=3 TOKENS=*" %%M IN ('NETSH INTERFACE SHOW INTERFACE') DO (
FOR %%T IN (%%M) DO SET E=%%T
NETSH -C INTERFACE IP ADD DNS NAME="!E!" ADDR=!bmin! INDEX=1
ECHO 设置网卡"!E!"为!bmin!完毕
)
IPCONFIG /FLUSHDNS
ECHO 测试域名解析 ping %d%
PING %d%
ECHO #####################################################################
ECHO 设置DNS完毕,按任意键退出...
) ELSE (
ECHO #####################################################################
ECHO 设置DNS失败,按任意键退出...
))
PAUSE>NUL
EXIT

https://javapython.lanzoui.com/i42Ztvp0roh

macOS

networksetup命令适用于所有模糊的现代版本的Mac系统软件。 您将使用-setdnsservers标志,将其指向网络服务,然后包含DNS IP,这可能如下所示:

1
networksetup -setdnsservers (Network Service) (DNS IP)

例如,要将带有wi-fi的Mac设置为8.8.8.8的Google DNS,语法将为:

1
networksetup -setdnsservers Wi-Fi 8.8.8.8

如果需要,您可以设置多个DNS服务器,这将在第一个或第二个服务器无法访问时启用回退。 例如,这将为前两个DNS服务器设置OpenDNS,并将Google DNS设置为第三个后备:

1
networksetup -setdnsservers Wi-Fi 208.67.222.222 208.67.220.220 8.8.8.8

这只是DNS服务器的一个示例,不一定是通用建议。 如果您希望改变自己的状态,那么通过NameBench等应用程序找到最快的DNS服务器是值得的,这些应用程序执行基准测试以确定哪个DNS对您的特定位置最快。

清除所有DNS服务器

这与刷新DNS缓存不同,这只是删除任何现有的自定义DNS服务器设置。 如果您想要从路由器,调制解调器或类似情况回退到DHCP提供的DNS,这可能会有所帮助:

1
networksetup -setdnsservers Wi-Fi

与设置DNS一样,删除DNS可能需要您在进行调整后刷新DNS缓存,具体取决于您尝试执行的操作。

检查DNS设置

您还可以使用带有networksetup的-getdnsservers标志来检查现有的DNS设置,这将报告当前的DNS设置,如果有的话:

1
networksetup -getdnsservers Wi-Fi8.8.8.8

在许多其他情况下,更改和自定义DNS可以有多种用途,从加速查找,查找更可靠的服务器,到更改到备用提供程序以在传播期间执行详细查找。

Linux

修改网卡配置文件指定DNS服务器通过命令行查询当前服务器的网卡名称

1
[root@zcwyou ~]# ip addr

可以看到本服务器上各网卡的配置情况,其中第二列表示网卡名称,比如loeth1,或者ens33等等。

国内服务器推荐使用阿里DNS服务器223.5.5.5和223.6.6.6

假设你的网卡名称是xxx

1
[root@zcwyou ~]# vi /etc/sysconfig/network-scripts/ifcfg-xxx

设置主DNS,即DNS1为223.5.5.5,设置备用DNS,即DNS1为223.6.6.6,添加以下内容

1
2
DNS1="223.5.5.5"
DNS2="223.6.6.6"

如果需要修改DNS服务器地址,请使用vi/vim编辑器。
vi/vim编辑器教程请看这里:
vi和vim命令视频教程

重启网络生效:
CentOS 6 重启网络命令:

1
[root@zcwyou ~]# service network start

该命令同样适用于RHEL 6

CentOS 7 重启网络命令:

1
[root@zcwyou ~]# systemctl restart network.service

该命令同样适用于RHEL 7

CentOS 8 重启网络命令:

1
[root@zcwyou ~]# nmcli c up xxx

该命令同样适用于RHEL 8

查看设置是否生效

1
[root@zcwyou ~]# cat /etc/resolv.conf 

参考

Dns Jumper v2.2 - A Free DNS Changer (sordum.org)

关于远程桌面中的 networksetup - Apple 支持