/ etc / hosts bị ghi đè


14

Cách chỉnh sửa chính xác là /etc/hostsgì? Tôi muốn thêm một số địa chỉ IP và tên máy chủ lưu trữ vào đó. Nó hoạt động trong một thời gian (một vài giờ) và sau đó nó được hoàn nguyên về phiên bản gốc. Có quá trình kiểm tra trạng thái /etc/hostsvà hoàn nguyên nó không?

Tôi đang học MBA với Mountain Lion.


FWIW, điều này không xảy ra với tôi. Tôi có một mục trong / etc / hosts đến một máy tính trong mạng riêng của tôi (địa chỉ 10.0.0.2) chưa được hệ thống xóa. Nhưng có lẽ nó để lại địa chỉ trong các mạng cục bộ (10/8, 172.16 / 12 và 192.168 / 16 - xem RFC 1918 ) và xóa địa chỉ trỏ đến địa chỉ IPv4 toàn cầu? </speculation>
Harald Hanche-Olsen

Trên thực tế, tôi đã thêm một số mục một thời gian trở lại và họ ở lại. Những cái mới đang được gỡ bỏ. Cả hai đều trong các mạng con tương tự.
Mohammad Moghimi

Bạn đã có thể xác định quá trình nào đang thay đổi tập tin? Một công cụ như fseventer có thể giúp bạn hiểu những gì đang chỉnh sửa tệp. Vì nó thường được sở hữu bởi root: wheel - danh sách các chương trình có thể chỉnh sửa tệp nên khá nhỏ. Bạn cũng có thể chỉ cần đặt cờ bất biến trên tệp và tránh cần phải hoàn nguyên các thay đổi.
bmike

Câu trả lời:


10

Là một công cụ giúp bạn tìm ra thủ phạm, đây là một oneliner dtrace in pid và tên của bất kỳ quy trình nào mở tệp để viết, cùng với tên tệp:

dtrace -qn 'syscall::open*:entry /arg1&3/ { printf("%d %s %s\n", pid, execname, copyinstr(arg0)); }'

Nó cần phải được chạy như root (ví dụ, với sudo). Đưa nó vào grep hostsđể tránh chết đuối đầu ra và bỏ lỡ những gì bạn đang tìm kiếm:

sudo dtrace -qn 'syscall::open*:entry /arg1&3/ { printf("%d %s %s\n", pid, execname, copyinstr(arg0)); }' | grep hosts

Hy vọng, điều này sẽ cho bạn biết quá trình ghi đè tập tin. Chỉ cần để nó chạy trong một cửa sổ đầu cuối cho đến khi nó kích hoạt.


12

Nếu bạn đang sử dụng máy khách Juno Pulse VPN, /etc/hostssẽ bị ghi đè bởi/etc/jnpr-pulse-hosts.bak


8

Bạn có sử dụng máy khách AnyConnect VPN của Cisco không? Nếu vậy, bạn cần chỉnh sửa /etc/hosts.ac và để nó sao chép nó vào tệp trực tiếp. Xem bài viết MacOSXH gợi ý này và những câu hỏi trước đây .

EDIT: Tôi không thể tìm thấy bất cứ điều gì cụ thể về Janos Pulse, nhưng Network Connect của Junip lộn xộn với / etc / hosts và tôi nghi ngờ Pulse có thể làm điều tương tự. Theo bài đăng trên blog này , nếu bạn thực hiện các thay đổi trong khi được kết nối, chúng sẽ được hoàn nguyên khi bạn ngắt kết nối, nhưng những thay đổi được thực hiện trong khi ngắt kết nối sẽ dính vào.


Không, tôi không sử dụng AnyConnect, cũng không có /etc/hosts.ac. Tuy nhiên, tôi đang sử dụng một phần mềm proxy khác: Junos Pulse
Mohammad Moghimi

1
Tôi có thể xác nhận hành vi này với Junos Pulse 5.1.8. Thay đổi /etc/hostsphải được thực hiện trong khi ngắt kết nối hoặc bạn sẽ mất chúng.
MisterEd

8

Đối với tôi nó trong tập tin

/etc/pulse-hosts.bak

Bạn phải chỉnh sửa tệp này để tùy chỉnh các chỉ thị máy chủ của bạn

Khi bạn sẽ kết nối lại / kết nối bằng Pulse Secure VPN, nó sẽ hợp nhất các chỉ thị từ

/etc/pulse-hosts.bak

với nội dung từ các chỉ thị của Pulse và tạo ra

/etc/hosts

Cập nhật 2018

Với phiên bản mới hơn của Pulse Secure, bạn phải thoát khỏi chương trình trước (kiểm tra quy trình hoạt động của bạn).

Sửa đổi máy chủ của bạn (/ etc / hosts) và sau đó khởi động lại Pulse Secure.


-1

Tôi không thể sử dụng VM khởi động nhanh sau khi vào VPN. Để giải quyết vấn đề này, tôi làm theo các bước dưới đây.

Bước 1: Thêm mục nhập trong /private/etc/hostsví dụ:

127.0.0.1 quickstart.cloudera

Bước 2: Nhập vào VPN, ví dụ: Tôi đang sử dụng F5 VPN

Bước 3: Xác minh mục được đề cập ở trên /etc/hostsbằng cách sử dụng lệnh bên dưới

mèo / etc / host

Tôi hy vọng rằng nó sẽ hữu ích.


Làm thế nào để giải quyết vấn đề được mô tả trong câu hỏi, cụ thể là "cái gì đó" ghi đè /etc/hosts?
nohillside

Xin chào @nohillside, tôi đã thêm 127.0.0.1 quickstart.clouderamục nhập vào /etc/hoststệp của mình nhưng nó đã bị xóa / ghi đè khi tôi đang kết nối với VPN. Để thêm 127.0.0.1 quickstart.clouderamục vĩnh viễn, tôi đã thêm nó trong /private/etc/hoststập tin. Bên trong bất cứ khi nào bạn cố gắng kết nối với VPN, nó sẽ sao chép tất cả các mục từ /private/etc/hostsđến /etc/hosts. Tôi hy vọng rằng nó có ý nghĩa bây giờ.
Shreyash Limbhetwala

Xin chào @nohillside, Chỉ cần FYI ... tôi đang sử dụng ứng dụng khách F5 Big-IP Edge và tôi có hệ điều hành mac.
Shreyash Limbhetwala

Trên macOS /etclà một liên kết tượng trưng cho private/etcnhư vậy /etc/hosts/private/etc/hoststhực sự là cùng một tệp (chạy ls -li /etc/hosts /private/etc/hostsđể kiểm tra).
nohillside

1
Bạn đúng @nohillside, nhưng sau khi thêm mục vào /private/etc/hostsvấn đề của tôi đã được giải quyết và sau khi kết nối với VPN cũng như mục nhập của tôi không bị xóa / ghi đè.
Shreyash Limbhetwala

-1

Khi thay đổi tệp / etc / hosts, hãy đảm bảo rằng bạn KHÔNG được kết nối với VPN (ít nhất là nếu bạn đang sử dụng Kết nối mạng của Juniper Networks.)

Như được mô tả trong https://mcphersonz.wordpress.com/2009/11/12/etchosts-file-is-reverting-to-a-preingly-state-in-os-x/


1
Câu hỏi này có một câu trả lời được chấp nhận từ sáu năm trước. Bài viết gốc không đề cập đến VPN đang sử dụng. Mặc dù câu hỏi của bạn có thể hữu ích cho những người dùng khác gặp phải vấn đề này trong khi sử dụng VPN (đặc biệt là một từ Jupiter Networks) nhưng nó không liên quan nhiều đến bài đăng gốc.
IconDaemon

@IconDaemon Cảm ơn bạn đã chào đón nồng nhiệt. Điều đó đã được 6 năm trước là không liên quan, bởi vì trang vẫn là lần truy cập đầu tiên trong công cụ tìm kiếm. Ngoài ra, 4 câu trả lời khác đã đề cập rằng VPN có thể gây ra chính xác cùng một vấn đề (như trong trường hợp của riêng tôi), ngay cả khi câu trả lời được chấp nhận dường như đã giải quyết được vấn đề cho OP. Tuy nhiên, ngay cả anh ta cũng thừa nhận trong một bình luận với Gordon rằng anh ta đã sử dụng VPN (Junos Pulse). Có lẽ bạn đã đúng khi bỏ phiếu trả lời của tôi, vì việc vô hiệu hóa VPN đã được đề cập trong bản cập nhật câu trả lời của Stanislas (nhưng đó không phải là những gì bạn nói).
Michel
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.