我dig
通过安装pacman -S bind
,启动时它挂起dig
:
# dig google.com
; <<>> DiG 9.16.25 <<>> google.com
;; global options: +cmd
;; connection timed out; no servers could be reached
不过,DNS 解析是有效的:
# ping google.com
PING google.com (216.58.214.174) 56(84) bytes of data.
64 bytes from mad01s26-in-f174.1e100.net (216.58.214.174): icmp_seq=1 ttl=116 time=2.76 ms
64 bytes from mad01s26-in-f14.1e100.net (216.58.214.174): icmp_seq=2 ttl=116 time=2.91 ms
# dig @192.168.10.3 google.com
; <<>> DiG 9.16.25 <<>> @192.168.10.3 google.com
(...)
;; ANSWER SECTION:
google.com. 180 IN A 216.58.214.174
;; Query time: 0 msec
;; SERVER: 192.168.10.3#53(192.168.10.3)
;; WHEN: Sat Feb 05 21:12:14 CET 2022
;; MSG SIZE rcvd: 55
似乎dig
无法使用本地 DNS 配置 - 除了安装之外我还应该做些什么吗?
编辑:根据评论请求:
- 我控制防火墙并且它是开放的
/etc/resolv.conf
为空,/etc/systemd/resolved.conf
有DNS=192.168.10.3
和FallbackDNS=8.8.8.8 1.1.1.
1dig google.com @8.8.8.8
给出与上面相同的结果(由于地理定位而具有不同的 IP)traceroute -p 53 -n 8.8.8.8
穿过去
答案1
Arch/etc/resolv.conf
没有模拟/run/systemd/resolve/resolv.conf
并dig
使用前者。
# rm /etc/resolv.conf && ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
解决了问题,但是这个似乎是一个错误是 Arch 故意选择的(请参阅下面的编辑)如何在 Arch 中设置分辨率(例如 Ubuntu 提供了一个/etc/resolv.conf
链接)。
编辑: 作为@穆鲁评论中提到,这是有记录的在 Arch 中,建议的解决方案是
ln -rfs /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf