加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

为什么我不能ping linux上的前导或尾随下划线的地址

发布时间:2020-12-13 18:53:02 所属栏目:Linux 来源:网络整理
导读:在Windows上: 在浏览器中访问_.github.com nslookup _.github.com有效 ping _.github.com有效 在Linux上(在两个独立的网络上测试): 在浏览器中访问_.github.com host _.github.com有效 ping _.github.com没有 python -c“import requests; requests.get(_.

在Windows上:

>在浏览器中访问_.github.com
> nslookup _.github.com有效
> ping _.github.com有效

在Linux上(在两个独立的网络上测试):

>在浏览器中访问_.github.com
> host _.github.com有效
> ping _.github.com没有
> python -c“import requests; requests.get(‘_.github.com’)”没有

这里发生了什么?

最佳答案
因为Linux(更具体地说,它的一些组件,如libresolv甚至ping本身)都在尊重RFC.主机名中不允许使用下划线,使用ping时主机名是您正在查找的内容. (在其他类型的DNS记录中允许使用下划线,例如SRV记录,TXT记录,例如用于DKIM的记录……)

请参阅RFC 1123第2.1节和第RFC 952节.以下是讨论此主题的一些其他链接:

Stack Overflow – Can (hostname) subdomains have an underscore “_” in it?

Domainkey – Underscores in DNS

Quora – Why are underscores not allowed in DNS host names?

更新:正如一些人在评论中指出的那样,Linux ping对a_a.github.com很满意.再做一些测试(本例中为CentOS 7):

ping: unknown host _.github.com
ping: unknown host a_.github.com
ping: unknown host _a.github.com

$ping a_a.github.com
PING github.map.fastly.net (23.235.40.133) 56(84) bytes of data.
64 bytes from 23.235.40.133: icmp_seq=1 ttl=59 time=29.7 ms

所以看起来Linux ping并没有完全拒绝下划线,但它似乎不允许它是主机名原子中的第一个或最后一个字符(或者,因此是唯一的字符).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读