找回密码
 立即注册
查看: 23|回复: 2

[技术分享] 「bwg」搬瓦工之DNS配置

[复制链接]

1

主题

0

回帖

11

积分

新手上路

积分
11
xiaoliang 发表于 12 小时前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
搬瓦工的默认DNS是这样的:

  1. nameserver 172.31.255.x
  2. nameserver 8.8.8.8
  3. nameserver 1.1.1.1
复制代码


无论你是直接用搬瓦工控制面板里的默认系统,还是自己dd系统(dd系统:脚本重装系统),都会通过 DHCP 传播污染 DNS 配置。

后果是什么?
答:后果就是部分网站ip解析会绕路,比如下面ping谷歌的结果。

  1. ➜  ~ ping google.com
  2. PING google.com (64.233.185.113) 56(84) bytes of data.
  3. 64 bytes from yb-in-f113.1e100.net (64.233.185.113): icmp_seq=1 ttl=107 time=49.4 ms
  4. 64 bytes from yb-in-f113.1e100.net (64.233.185.113): icmp_seq=2 ttl=107 time=48.9 ms
  5. 64 bytes from yb-in-f113.1e100.net (64.233.185.113): icmp_seq=3 ttl=107 time=48.7 ms
  6. 64 bytes from yb-in-f113.1e100.net (64.233.185.113): icmp_seq=4 ttl=107 time=49.2 ms
  7. 64 bytes from yb-in-f113.1e100.net (64.233.185.113): icmp_seq=5 ttl=107 time=48.6 ms
复制代码


搬瓦工为什么要这样做?
因为历史遗留问题,原来有的搬瓦工机器没法解锁 DNS,部分流媒体和 gpt 有地区限制。因此瓦工默认做了 DNS 解锁。但是现在已经不需要这样做了。

如果你手动修改 /etc/resolv.conf 中的配置,那么每次重启后,都会自动被 DHCP 污染 DNS。每次重启都要修改一遍很麻烦。

今天介绍一种简单的方法,来避免这种情况:
一句话命令:

  1. sudo bash -c 'chattr -i /etc/resolv.conf 2>/dev/null || true; rm -f /etc/resolv.conf; printf "nameserver 1.1.1.1\nnameserver 8.8.8.8\nnameserver 2606:4700:4700::1111\nnameserver 2001:4860:4860::8888\n" > /etc/resolv.conf; chattr +i /etc/resolv.conf'
复制代码


作用是将dns配置修改为:

  1. nameserver 1.1.1.1
  2. nameserver 8.8.8.8
  3. nameserver 2606:4700:4700::1111
  4. nameserver 2001:4860:4860::8888
复制代码


修改后再尝试 ping google:

  1. ➜  ~ ping google.com                                                                                                                       
  2. PING google.com (142.250.176.14) 56(84) bytes of data.
  3. 64 bytes from lax17s51-in-f14.1e100.net (142.250.176.14): icmp_seq=1 ttl=120 time=0.640 ms
  4. 64 bytes from lax17s51-in-f14.1e100.net (142.250.176.14): icmp_seq=2 ttl=120 time=0.599 ms
  5. 64 bytes from lax17s51-in-f14.1e100.net (142.250.176.14): icmp_seq=3 ttl=120 time=0.443 ms
复制代码


可以看到,延迟下降了许多。并且之后再重启机器也无需重新修改了。

对于dhcp,我尝试通过下面的方法覆盖,理论上应该有效果,但是实际上不生效。

  1. echo 'supersede domain-name-servers 1.1.1.1, 8.8.8.8, 2606:4700:4700::1111, 2001:4860:4860::8888;' | sudo tee -a /etc/dhcp/dhclient.conf
复制代码
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
sdtakklb 发表于 12 小时前 | 显示全部楼层
感谢分享教程
回复 支持 反对

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
goto 发表于 12 小时前 | 显示全部楼层
装个 systemd-resolved 就好了,就可以用 systemd-resolved 来配置 dns
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|IDCeve

GMT+8, 2025-11-15 23:44 , Processed in 0.046337 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表