我遇到这个问题是因为 raw.githubusercontent.com 似乎在我的国家被屏蔽了,DNS 服务器是 8.8.8.8 或 1.1.1.1,它被解析为 202.83.21.15,这是我的 ISP 的 IP,而不是 raw.githubusercontent.com
$ dig +dnssec @8.8.8.8 raw.githubusercontent.com
; <<>> DiG 9.18.10 <<>> +dnssec @8.8.8.8 raw.githubusercontent.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33984
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;raw.githubusercontent.com. IN A
;; ANSWER SECTION:
raw.githubusercontent.com. 10 IN A 202.83.21.15
;; Query time: 0 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Fri Jan 06 11:00:10 IST 2023
;; MSG SIZE rcvd: 84
错误 IP 的 Whois
whois -H 202.83.21.15
% [whois.apnic.net]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
% Information related to '202.83.21.0 - 202.83.21.254'
% Abuse contact for '202.83.21.0 - 202.83.21.254' is '[email protected]'
inetnum: 202.83.21.0 - 202.83.21.254
netname: CableLite
descr: Broad Band Internet Service Provider, India
country: IN
geoloc: 12.984080 77.579818
admin-c: IA145-AP
tech-c: IT120-AP
abuse-c: AC1823-AP
status: ALLOCATED NON-PORTABLE
mnt-by: MAINT-IN-ACT
mnt-irt: IRT-CABLELITE-IN
last-modified: 2021-01-15T11:13:16Z
source: APNIC
irt: IRT-CABLELITE-IN
address: Atria Convergence Technologies Pvt Ltd
address: # 1, 2nd Floor, Indian Express Building,
address: Queen's Road, Bangalore - 560 001
e-mail: [email protected]
abuse-mailbox: [email protected]
admin-c: IA145-AP
tech-c: IT120-AP
....
同一个网站,当我通过 DoH 查询时,我得到了正确的 IP
curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=raw.githubusercontent.com&type=A' 2>/dev/null | jq .Answer[0]
{
"name": "raw.githubusercontent.com",
"type": 1,
"TTL": 446,
"data": "185.199.111.133"
}
答案1
从技术上讲他们是如何做到的
定义转发数据包的路由的能力是核心功能路由器,例如 ISP 使用的路由器。通常,ISP 的路由器会通过 BGP 从其他 ISP 学习所有路由,但 ISP 可以轻松定义一条静态路由,将所有“8.8.8.8”数据包转发到不同的方向 - 例如转发到他们已设置并指定 8.8.8.8 作为 IP 地址的本地 DNS 服务器。(您可以在家中使用 来完成此操作ip route add
。)
还有几种其他方法可以做到这一点;例如,路由器可能支持 DNAT(实际上可以更改数据包上的目标 IP 地址)——这就是“端口转发”在家庭网关中的工作方式,但是路由器可以在路径上的任何地方使用相同类型的 DNAT 将发往一个 IP 地址的数据包重定向到另一个 IP 地址(例如,将“8.8.8.8”重写为“9.9.9.9”)。
答案2
从您的回复可以看出,github.com
不使用 dnssec。
因此,答案无需验证,您的 ISP 可以自由地回复他们想要的查询内容。
您可以使用他们的 DNS 服务器、重写来自其他 DNS 服务器的答案或将所有 DNS 流量转移到他们的 DNS 服务器来完成此操作。