在我的 Mac(運行 OS 10.6.8)上,我可以使用 編輯主機文件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 軟體,這就是線索。請參閱下面丹尼爾的回答。
2013年5月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-hosts.bak
- Cisco Any Connect-hosts.ac