importrequestsdefsend_request_via_proxy(*args,**kwargs):baidu_proxy='cloudnproxy.baidu.com:443'kwargs['proxies']={'http':baidu_proxy,'https':baidu_proxy}if'headers'notinkwargs:kwargs['headers']={}if'User-Agent'notinkwargs['headers']:kwargs['headers']['User-Agent']='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ' \
'(KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'kwargs['headers']['User-Agent']+=' baiduboxapp/13.10.0.10'# kwargs['headers']['X-T5-Auth'] = '196289709'resp=requests.request(*args,**kwargs)returnrespif__name__=='__main__':api='https://pubstatic.b0.upaiyun.com/?_upnode'ip_info=send_request_via_proxy('GET',api).json()print(ip_info['remote_addr'])print(ip_info['remote_addr_location'])
www.example.com600 IN A10.0.0.1
www.example.com600 IN A10.0.0.2
www.example.com600 IN AAAA ::1
www.example.com 600 IN AAAA ::2
sub.example.com 600 IN LINK www.example.com
IP 地址就是 DNS 缓存服务器地址(如果你开启了 EDNS Client Subnet,且缓存服务器支持,那么就是自己的 IP,但是如果使用 8.8.8.8,那么会看到自己的 IP 最后一位是 0),如果你在本地指定了从你自己的服务器查,那就直接返回你自己的 IP 地址。由于我只安装了国家数据库,所以除了洲和国家之外其余都是 Unknown。
进阶使用
建立分布式 DNS
一般情况下,是一个 Master 和一个 Slave 的 DNS 解析服务器,但是这样的话对 DNSSEC 可能有问题,于是我就建立了两个 Master 服务器,自动同步记录,并设置了相同的 DNSSEC Private Key,好像并没有什么错误发生(毕竟包括 SOA 在内的所有记录也都是完全一样的),我的服务器目前的配置
实用正好需要,好像还差几个国别域代码?
慢慢补全