在 Linux 的 /etc/resolv.conf 裡可以設定你 Linux 本機 DNS 查詢是用那台 server

# cat /etc/resolv.conf 
nameserver 8.8.8.8
nameserver 8.8.4.4
# dig ssorc.tw

(省略)

;; Query time: 18 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Dec 15 08:32:34 CST 2024
;; MSG SIZE rcvd: 69

一般情況下,會先從 8.8.8.8 這台去查,當查不到時,再去查 8.8.4.4

 

不過現在我要讓它輪替,交替查詢

在 /etc/resolv.conf 加入 options rotate

# cat /etc/resolv.conf 
nameserver 8.8.8.8
nameserver 8.8.4.4
options rotate

 

再這樣子去驗證

strace -e trace=connect,sendto getent hosts ssorc.tw

結果 ↓ 會看到 inet_addr 的位址有在作變化

connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("8.8.8.8")}, 16) = 0
sendto(3, "\4\210\1\0\0\1\0\0\0\0\0\0\5ssorc\2tw\0\0\34\0\1", 26, MSG_NOSIGNAL, NULL, 0) = 26
2606:4700:3035::6815:34f8 ssorc.tw
2606:4700:3033::ac43:ce0f ssorc.tw
+++ exited with 0 +++
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("8.8.8.8")}, 16) = 0
sendto(3, "\227\220\1\0\0\1\0\0\0\0\0\0\5ssorc\2tw\0\0\34\0\1", 26, MSG_NOSIGNAL, NULL, 0) = 26
2606:4700:3033::ac43:ce0f ssorc.tw
2606:4700:3035::6815:34f8 ssorc.tw
+++ exited with 0 +++
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("8.8.4.4")}, 16) = 0
sendto(3, "\362\355\1\0\0\1\0\0\0\0\0\0\5ssorc\2tw\0\0\34\0\1", 26, MSG_NOSIGNAL, NULL, 0) = 26
2606:4700:3033::ac43:ce0f ssorc.tw
2606:4700:3035::6815:34f8 ssorc.tw
+++ exited with 0 +++
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("8.8.8.8")}, 16) = 0
sendto(3, "\261\346\1\0\0\1\0\0\0\0\0\0\5ssorc\2tw\0\0\34\0\1", 26, MSG_NOSIGNAL, NULL, 0) = 26
2606:4700:3035::6815:34f8 ssorc.tw
2606:4700:3033::ac43:ce0f ssorc.tw

 

Related posts 相關文章
DNSSEC sign 簽錯了,導致 DNS 查詢失敗
More...
現在 clickFix 會搭配 nslookup DNS
More...
dnscrypt-proxy 讓 DNS 查詢加密
More...
DNS BIND 9.16.50 最後一個版本已釋出
More...

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。