在我的 Mac(运行 OS 10.6.8)上,我可以使用 编辑我的 hosts 文件sudo vi /etc/hosts
,但我所做的更改似乎无法在重新启动或从睡眠模式唤醒后保留。
有没有办法让这些变化持续下去?
以下是为 www.example.com 添加覆盖的示例更改:
$ 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
fe80::1%lo0 localhost
1.2.3.4 www.example.com
更新:我也在使用 Cisco AnyConnect VPN 软件,而这恰恰是线索。请参阅下面 Daniel 的回答。
更新2013-05-20:思科在 2013 年春季发布的 AnyConnect v3.0.5080(或更高版本)中修复/更改了此行为。发行说明- 搜索hosts.ac
。
答案1
您正在使用 Cisco AnyConnect 软件,它将用 覆盖/private/etc/hosts
。/private/etc/hosts.ac
只需编辑那文件。
答案2
我遇到过同样的问题。我使用的是 F5 VPN 客户端。您不应该/etc/hosts
在 VPN 客户端运行时进行编辑,因为关闭 VPN 客户端时这些更改将被删除。要使更改永久生效,请/etc/hosts
在启动 VPN 客户端之前编辑文件。
答案3
我在使用 Pulse Secure VPN 客户端时也遇到了这个问题,它会生成一个文件 /etc/pulse-hosts.bak,你也应该编辑它。在启动 Pulse 之前编辑 /etc/hosts 也可以。
答案4
大多数 VPN 客户端在您启动 VPN 时都会创建 /etc/host 的备份文件。
要永久保存您的更改,只需更改主机文件即可,无需 VPN 连接。
一旦启动 VPN,就会创建包含您所做的更改的备份文件,并且任何覆盖主机文件的 VPN 客户端仍会保留您的更改。
客户端常用的备份文件名:
- Pulse 安全客户端 - pulse-hosts.bak
- Cisco Any Connect - hosts.ac