由于 0.0.0.0 匹配任何地址并且 127.0.0.1 是 localhost,当决定是否选择一个或另一个来映射主机文件中不需要的 IP 和域时,什么时候最好?
我在主机文件方面读到,0.0.0.0 映射到所有 ipv4 地址,因此被视为垃圾并被丢弃。那么为什么有人使用 127.0.0.1 代替,前提是您的系统几乎不会用于托管这些域名呢?
由于 0.0.0.0 匹配任何地址并且 127.0.0.1 是 localhost,当决定是否选择一个或另一个来映射主机文件中不需要的 IP 和域时,什么时候最好?
我在主机文件方面读到,0.0.0.0 映射到所有 ipv4 地址,因此被视为垃圾并被丢弃。那么为什么有人使用 127.0.0.1 代替,前提是您的系统几乎不会用于托管这些域名呢?
我已经看到我可以使用主机文件阻止对网页的访问:
127.0.0.1 www.facebook.com
如何阻止所有子域?*.facebook.com
在 CentOS(但可能是其他发行版)中,/etc/hosts有以下注释:
# Auto-generated hostname. Please do not remove this comment.
由于评论本身要求不要被删除,似乎它的目的不仅仅是提供信息。也许一些包检查它的存在。
谷歌搜索这个确切的评论显示许多主机文件包含它,尽管没有一个结果解释评论本身的来源。
编辑:另一个提到此评论的问题指出,它是主机文件在重新启动时被覆盖的原因。这不是我的情况,因为我的主机文件已经有自定义条目并且从未被任意覆盖。我拥有此评论的唯一机器是在生产环境中,因此我无法重新启动或删除评论以进行测试。
这个问题就在这里: 为什么我的主机文件在重新启动时会重置?
此评论的原因是什么,删除它有什么后果?
在 macOS Mojave 10.14.6 的 /etc/hosts 文件中,我有
127.0.0.1 someotherdistraction.com
127.0.0.1 https://www.tinder.com
127.0.0.1 https://tinder.com
127.0.0.1 www.tinder.com
someotherdistraction.com 的重定向工作得很好——为什么不火种?我也尝试过硬刷新/清除缓存无济于事。
我不确定这是否可能。我正在尝试使用 Window 的hosts
文件将地址重定向www.youtube.com
到music.youtube.com
.
当 Iping youtube.com
时,我返回此 IP:
当我ping music.youtube.com
得到这个 IP 时:
在hosts
文件中,我键入以下内容:
172.217.1.206 www.youtube.com
172.217.1.206 music.youtube.com
我想重新定向www.youtube.com
到music.youtube.com
谁的 IP的确切路线172.217.1.206
到目前为止,这让 YouTube 网站可以正常加载www.youtube.com
URL。我希望它在不阻止或限制特定于视频的 YouTube URL的情况下将我music.youtube.com
重定向到。如何使hosts
文件或其他东西以这种方式工作?
(我不在乎是否可以手动访问 YouTube 视频的 URL,我只想重新路由主域名:www.youtube.com
.)
编辑:为了更清楚,我想www.youtube.com
在浏览器中输入这个地址:并被重定向到music.youtube.com
. 如果我输入:https://www.youtube.com/watch?v=dQw4w9WgXcQ它将正常加载 Youtube 而无需重定向。我希望重定向只发生在 URLwww.youtube.com
上。
我的 Mac(Mojave 10.14)无法访问任何具有.dev域名的网站,例如get.dev。我尝试运行$ ping get.dev
并得到以下输出:
PING get.dev (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.044 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.161 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.070 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.166 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.189 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.056 ms
^C
--- get.dev ping statistics ---
6 packets transmitted, 6 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.044/0.114/0.189/0.059 ms
我知道重新映射.dev
到 localhost 很流行,我想我可能在过去的某个时候做过,然后忘记了。但是,当我运行时$ cat /etc/hosts
:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
我不确定在哪里继续解决这个问题。是否有任何其他hosts
文件可能会添加额外的条目?
编辑:根据他们的说明,我的 DNS 设置为使用 1.1.1.1 。
编辑:下面有更多故障排除。
$ dig get.dev
:
; <<>> DiG 9.10.6 <<>> get.dev
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58743
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1452
;; QUESTION SECTION:
;get.dev. IN A
;; ANSWER SECTION:
get.dev. 300 IN A 216.239.32.29
;; Query time: 44 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Wed May 15 14:35:46 CEST 2019
;; MSG SIZE rcvd: 52
curl -v get.dev
:
* Rebuilt URL to: get.dev/
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connection failed
* connect to 127.0.0.1 port 80 failed: Connection refused
* Failed to connect to get.dev port 80: Connection refused
* Closing connection 0
curl: (7) Failed to connect to get.dev port 80: Connection refused
为什么要在返回 216.239.32.29curl
时尝试 127.0.0.1 ?dig