简而言之:一旦数据包离开您的网络,您将无法真正控制数据包所采用的路径。虽然这可能通过 IP 源路由或分段路由实现,但实际上 Internet 上的任何网络都不允许此功能。
但是,对于您关于能够识别处理您的请求的 DNS 服务器的最后一个问题:这可以通过 EDNS0 扩展“NSID”来实现。当在查询中请求并得到服务器的支持时,它允许服务器嵌入一些用于识别它的任意字节。
但是,不幸的是,8.8.8.8 服务似乎不支持 NSID。但是,您可以在其他服务中看到它,例如 9.9.9.9(“Quad9”)。
例如(注意从“res210.ams.rrdns.pch.net”标记的响应):
jof@oak ~ % dig +nsid @9.9.9.9 jof.io
; <<>> DiG 9.11.5-P4-5.1+deb10u1-Debian <<>> +nsid @9.9.9.9 jof.io
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43627
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; NSID: 72 65 73 32 31 30 2e 61 6d 73 2e 72 72 64 6e 73 2e 70 63 68 2e 6e 65 74 ("res210.ams.rrdns.pch.net")
;; QUESTION SECTION:
;jof.io. IN A
;; ANSWER SECTION:
jof.io. 300 IN A 104.31.81.242
jof.io. 300 IN A 104.31.80.242
jof.io. 300 IN A 172.67.161.78
;; Query time: 13 msec
;; SERVER: 9.9.9.9#53(9.9.9.9)
;; WHEN: Mon Aug 10 20:13:45 UTC 2020
;; MSG SIZE rcvd: 111