~$ dig facebook.com
; <<>> DiG 9.9.2-P1 <<>> facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6625
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;facebook.com. IN A
;; ANSWER SECTION:
facebook.com. 205 IN A 173.252.110.27
;; Query time: 291 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Oct 6 17:55:52 …Run Code Online (Sandbox Code Playgroud) 如何知道somename我可以知道的某些主机的 IP 地址ssh?如果我nslookup在这个主机上做,它会说“没有答案”。那么如何ssh解析它的名字呢?
既/etc/hosts没有.ssh/config解释也没有奏效。
对不起somename是完全合格的。
ssh somename.somedomain
Run Code Online (Sandbox Code Playgroud)
工作,而
ping somename.somedomain
Run Code Online (Sandbox Code Playgroud)
和
nslookup somename.somedomain
Run Code Online (Sandbox Code Playgroud)
别
我有一个主bind9DNS 服务器和 2 个在 IPv4(Debian Jessie)上运行的从服务器,使用/etc/bind/named.conf:
listen-on-v6 { none; };
Run Code Online (Sandbox Code Playgroud)
当我尝试从不同的服务器连接时,每个连接至少需要 5 秒(我使用Joseph 的时间信息进行调试):
$ curl -w "@curl-format.txt" -o /dev/null -s https://example.com
time_namelookup: 5.512
time_connect: 5.512
time_appconnect: 5.529
time_pretransfer: 5.529
time_redirect: 0.000
time_starttransfer: 5.531
----------
time_total: 5.531
Run Code Online (Sandbox Code Playgroud)
根据curl,查找需要大部分时间,但是标准nslookup非常快:
$ time nslookup example.com > /dev/null 2>&1
real 0m0.018s
user 0m0.016s
sys 0m0.000s
Run Code Online (Sandbox Code Playgroud)
强制curl使用 IPv4 后,情况变得更好:
$ curl -4 -w "@curl-format.txt" -o /dev/null -s https://example.com
time_namelookup: 0.004
time_connect: 0.005
time_appconnect: …Run Code Online (Sandbox Code Playgroud) nslookup 和 host 命令都只返回 IPv4 地址。如何使用终端检索网站的 IPv6 地址?
(我已经谷歌搜索,不幸的是我找不到任何有用的东西)
我正在试验在 minwinpc.local 上运行 Web 界面的 Win10 IoT 板。这在浏览器中工作正常,当我使用 ping 时也是如此。
但是,当我使用 dig 或 nslookup 时,我无法解决问题。
如果更基本的工具无法解析,ping 和浏览器如何获取 IP?
设置只是一个带有 Win10 IoT Core 的 DragonBoard,连接到 iPhone 热点。尝试连接的客户端正在运行 macOS Sierra。没有调整特殊的主机或解析文件。
平
$ping minwinpc.local
PING minwinpc.local (172.20.10.3): 56 data bytes
64 bytes from 172.20.10.3: icmp_seq=0 ttl=128 time=6.539 ms
Run Code Online (Sandbox Code Playgroud)
挖
$ dig minwinpc.local any @172.20.10.1
; <<>> DiG 9.8.3-P1 <<>> minwinpc.local any @172.20.10.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 61796
;; flags: qr rd ra; QUERY: …Run Code Online (Sandbox Code Playgroud) 我在 CentOS7 服务器 ( dns01.local.lab)上设置了一个运行 DNS 的实验室。该local.lab结构域被定义在named.conf:
zone "local.lab" IN {
type master;
file "local.lab.zone";
allow-update { none; };
};
Run Code Online (Sandbox Code Playgroud)
我也有一个反向区域,但据我所知,这对这个问题并不重要。
区域文件如下所示:
$TTL 86400
@ IN SOA dns01.local.lab. root.local.lab. (
1 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
@ IN NS dns01.local.lab.
@ IN A 192.168.122.100
@ IN A 192.168.122.1
dns01 IN A 192.168.122.100
virt-host IN A 192.168.122.1
Run Code Online (Sandbox Code Playgroud)
如果我nslookup只使用主机名,我会得到一个解析的 IP:
[root@dns01 ~]# nslookup dns01 …Run Code Online (Sandbox Code Playgroud) 在某些网络上,我可以用来nslookup解析指向私有 IP 地址的域名:
@work> nslookup my192.ddns.net
Server: 10.1.2.3
Address: 10.1.2.3#53
Non-authoritative answer:
Name: my192.ddns.net
Address: 192.168.20.20
Run Code Online (Sandbox Code Playgroud)
但是,在我的家庭网络上,同样的查询失败了:
@home> nslookup my192.ddns.net
Server: 192.168.0.1
Address: 192.168.0.1#53
Non-authoritative answer:
*** Can't find my192.ddns.net: No answer
Run Code Online (Sandbox Code Playgroud)
我发现如果我更改 A 记录以my192.ddns.net使其指向公共 IP 范围,它将正常工作:
@home> nslookup my192.ddns.net
Server: 192.168.0.1
Address: 192.168.0.1#53
Non-authoritative answer:
Name: my192.ddns.net
Address: 172.217.12.238
Run Code Online (Sandbox Code Playgroud)
在家里,如果我为 nslookup 指定 DNS 服务器,或者nslookup按预期将我的笔记本电脑的 DNS 服务器设置为 Google 的工作:
@home> nslookup my192.ddns.net 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: my192.ddns.net
Address: …Run Code Online (Sandbox Code Playgroud) 我试图了解将主机名解析为 IP 地址的行为nslookup和ping解析时的差异。我的困惑总结为我终端的这个片段:
lllamnyp@lllamnyp:~/.ssh$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.221.131
nameserver 127.0.0.53
Run Code Online (Sandbox Code Playgroud)
lllamnyp@lllamnyp:~/.ssh$ nslookup ingress-vpn.do.company.com
;; Got recursion not available from 192.168.221.131, trying next server
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find ingress-vpn.do.company.com: NXDOMAIN
Run Code Online (Sandbox Code Playgroud)
lllamnyp@lllamnyp:~/.ssh$ nslookup ingress-vpn.do.company.com 192.168.221.131
Server: 192.168.221.131
Address: 192.168.221.131#53
Name: ingress-vpn.do.company.com
Address: 192.168.234.130
Run Code Online (Sandbox Code Playgroud)
lllamnyp@lllamnyp:~/.ssh$ ping ingress-vpn.do.company.com
PING ingress-vpn.do.company.com (192.168.234.130) 56(84) bytes of data.
^C
--- ingress-vpn.do.company.com ping statistics ---
Run Code Online (Sandbox Code Playgroud)
根据要求,这里也是输出dig。有用:
lllamnyp@lllamnyp:~/.ssh$ dig ingress-vpn.do.company.com
; <<>> DiG 9.11.3-1ubuntu1.14-Ubuntu <<>> …Run Code Online (Sandbox Code Playgroud) 我收到了几个有趣的 :) 来自无法识别国家和所有者(互联网提供商)的 IP 地址的电子邮件,这是举例
10.180.221.97
10.220.113.130
10.52.135.39
Run Code Online (Sandbox Code Playgroud)
我尝试了几种 IP 查找服务,但都没有成功。请你能帮帮我吗?IP 是否可能没有国家/地区标识?