Không thể giải quyết localhost trên Mac OS X Server


9

Tôi có một máy chủ đang chạy OS X Server 10.5 và nó không thể phân giải localhost thành 127.0.0.1.

Khi tôi thử ping, đây là những gì xảy ra:

> ping localhost
ping: không thể giải quyết localhost: Máy chủ không xác định

SSH và trình duyệt web có kết quả tương tự (máy chủ uknown). Nếu tôi thử sử dụng 127.0.0.1 hoặc địa chỉ IP được gán trên mạng LAN thì tất cả các công việc trên.

Đây là nội dung của tập tin / etc / hosts của tôi:

> mèo / etc / host
##
# Cơ sở dữ liệu máy chủ
#
# localhost được sử dụng để định cấu hình giao diện loopback
# khi hệ thống khởi động. Không thay đổi mục này.
##
127.0.0.1 localhost
255.255.255.255 Broadcasthost
:: 1 localhost 
fe80 :: 1% lo0 localhost

Tôi không có dịch vụ DNS cục bộ đang chạy.

Có ai có bất cứ ý tưởng tại sao điều này có thể xảy ra hoặc làm thế nào tôi có thể sửa chữa nó?


1
Đổi tên / etc / hosts thành /etc/hosts.justworks
ta.speot.is

Cài đặt DNS của bạn trên hộp máy chủ của bạn là gì? Bạn đang chạy một dịch vụ DNS?
Ếch xù

Câu trả lời:


6

Tôi gặp vấn đề tương tự với Mountain Lion (10.8.2). Tôi đã giải quyết nó bằng cách vô hiệu hóa "Chế độ ẩn" trong Bảo mật & quyền riêng tư -> Tường lửa -> Tùy chọn tường lửa.


Cũng cố định vấn đề với El Capitan 10.11
suspectus

3

Điều này có thể không liên quan đến câu hỏi ban đầu của bạn, nhưng có một vấn đề khác có thể ảnh hưởng đến việc tra cứu DNS trong Mac OS X Lion, cụ thể localhosthoặc bất kỳ mục nào khác bạn có thể có /etc/hosts.

Rõ ràng /etc/hoststệp không còn hỗ trợ nhiều tên miền trên mỗi dòng trong tệp, vì vậy mỗi bản ghi cần có dòng riêng:

127.0.0.1 localhost
127.0.0.1 some.site.local
127.0.0.1 some.site.dev

Tìm thấy điều này thông qua blog của Justin Carmony . Anh ấy tiếp tục mô tả một số hành vi "thú vị" khác nếu bạn đang sử dụng /etc/hosts, vì vậy hãy đọc nếu bạn vẫn gặp sự cố.


1

Tôi biết rằng hơi muộn, nhưng trong trường hợp của tôi, việc thay đổi kết thúc dòng thành UNIX, thay thế các tab bằng khoảng trắng và lưu tệp dưới dạng UTF-8 đã khiến nó hoạt động trên Mountain Lion (10.8.2)

Hy vọng công việc này cho người khác.


1

Mã hóa có thể là một vấn đề, tôi đã chỉnh sửa / etc / hosts bằng Sublime Text khiến tôi gặp vấn đề khi sử dụng lại nó bằng cách sử dụng vi đã khắc phục vấn đề. đảm bảo rằng catđầu ra nội dung.


điều này đã xảy ra với tôi cảm ơn tôi đã phát điên
Asgaroth 3/2/2015

1

Trên máy tính của tôi (cùng một triệu chứng), /etc/hoststập tin của tôi đã được sử dụng để kết thúc dòng Macintosh (CR Rõ ràng 0x13) thay vì kết thúc dòng Unix (LF 0x10.). Các tập tin đã chính xác.

Giải pháp của tôi là:

brew install dos2unix
sudo dos2unix -c mac /etc/hosts

0

Tôi có cùng một vấn đề. Tôi vừa thiết lập một máy tính xách tay mac mới và nó đã hoạt động cho đến khi tôi di chuyển từ máy tính cũ. Bây giờ ping localhost không thể giải quyết. Phải là một số cài đặt tôi đã thay đổi ở đâu đó, nhưng tôi không biết ở đâu ...

Tôi đã phát hiện ra rằng "ping localhost." làm. Việc thêm một dấu chấm có nghĩa là bỏ qua việc tìm kiếm tên "localhost" trong các miền tìm kiếm khác. Điều đó thật tuyệt, nhưng tôi vẫn không hiểu tại sao mục / etc / hosts không hoạt động ...

chỉnh sửa: Đã giải quyết.

bash-3.2# dscl . read /Hosts/localhost    
AppleMetaNodeLocation: /Local/Default
RecordName: localhost
RecordType: dsRecTypeStandard:Hosts
bash-3.2# ping localhost
ping: cannot resolve localhost: Unknown host
bash-3.2# dscl . append /Hosts/localhost IPAddress 127.0.0.1
bash-3.2# dscl . read /Hosts/localhost
AppleMetaNodeLocation: /Local/Default
IPAddress: 127.0.0.1
RecordName: localhost
RecordType: dsRecTypeStandard:Hosts
bash-3.2# ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.083 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.140 ms

thì đấy!

Bằng cách nào đó, bản ghi dịch vụ thư mục không đồng bộ với tệp / etc / hosts. Và khi không có địa chỉ IP trong cấu hình dịch vụ thư mục, cố gắng giải quyết tên sau đó đi đến mDNSResponder để hỏi DNS.


0

Cuối cùng, nó chỉ bắt đầu hoạt động trở lại. Tôi đã tìm thấy một số cấu hình DNS không chính thống (và không cần thiết) trên máy chủ và thay đổi nó thành những gì nó cần phải có, và có lẽ điều đó đã giải quyết vấn đề? Mặc dù vậy, tôi không thể chắc chắn vì lúc đó tôi không cố gắng giải quyết vấn đề localhost và vì vậy tôi đã không kiểm tra localhost trước và sau.


0

Tôi đã chỉnh sửa / etc / hosts của mình bằng Sublime Text và gặp vấn đề tương tự, cố gắng chỉnh sửa và lưu tệp / etc / hosts của bạn bằng vi hoặc nano, đã sửa nó cho tôi ...


0

Luôn đảm bảo đọc nhật ký lỗi của Apache, vì không phải tất cả các lỗi đều bị ném trong bảng điều khiển khi khởi động dịch vụ. Có thể có vấn đề, ngay cả khi cú pháp là ok.

Theo mặc định, chúng nên được lưu trữ trong / var / log / apache2 / và tệp nhật ký là error.log.

Tôi có cùng một vấn đề, đó là máy chủ có thể được giải quyết và apache không cho biết bất kỳ vấn đề nào trong bảng điều khiển. "Vấn đề" đơn giản là, error.log đã xác định cấu hình vhost của tôi không thể được tạo sau khi hoán đổi ổ đĩa ngoài.


-1

Xóa tập tin máy chủ của bạn và xem những gì xảy ra sau đó. Cũng khởi động lại mà không kết nối với bất kỳ mạng.


Tôi không thích xóa / etc / hosts vì nó giống hệt như các tập tin / etc / hosts trên các máy Mac khác của tôi (và chúng có thể giải quyết localhost). Ngoài ra, đây là máy chủ sản xuất của chúng tôi ... Tôi đã thử khởi động lại mà không kết nối với bất kỳ mạng nào nhưng nó vẫn không thể giải quyết localhost.
iainbeeston

Trên một máy mac khác (không có vấn đề này) Tôi chỉ thử đổi tên / etc / hosts thành thứ khác và khởi động lại. Nó không tạo ra bất kỳ sự khác biệt rõ ràng nào, nhưng os x đã không thay thế / etc / hosts bằng một bản sao mới. Vì vậy, một lần nữa, tôi không muốn xóa tệp trừ khi HĐH sẽ tạo lại nó.
iainbeeston

Nếu đây là một máy chủ sản xuất thì bạn nên có các bản sao lưu gần đây. Khôi phục từ bản sao lưu.
Josh K

Tôi sợ đó không phải là vấn đề gần đây - nó đã xảy ra như vậy trong hơn một năm (miễn là tôi đã làm việc). Vì vậy, khôi phục từ bản sao lưu sẽ khó khăn. Trong mọi trường hợp, tôi đã hy vọng tìm ra nguyên nhân của vấn đề, không chỉ làm mờ mọi thứ với hy vọng nó sẽ bắt đầu hoạt động trở lại!
iainbeeston

Bạn không "làm mờ" mọi thứ, đó là quy trình chuẩn, đặc biệt là với các máy chủ. Nếu bạn nhận thấy một vấn đề và không thể tìm thấy nguồn , phương pháp dễ nhấtđược sử dụng phổ biến nhất để giải quyết vấn đề sẽ là khôi phục từ bản sao lưu. Điều đầu tiên tôi làm trong công việc sẽ là sửa nó. Để những vấn đề khó khăn không làm họ biến mất.
Josh K
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.