Sự khác biệt giữa địa chỉ localhost 127.0.0.1 và 127.0.1.1 là gì


48

Tôi chỉ đang học bằng Ubuntu và khi tôi cố gắng định cấu hình DNS, tôi cần xử lý một cái gì đó gọi localhost, giao diện loopback. Bất cứ ai có thể giải thích cho tôi sự khác biệt giữa chúng và ý nghĩa của các địa chỉ 127.0.0.1 và 127.0.1.1, khi nào tôi nên sử dụng 127.0.0.1 và khi nào tôi nên sử dụng 127.0.1.1



1
^ ^ Tôi đã gõ câu trả lời của mình và @jv đã đưa nó vào bình luận ...
Madivad

Câu trả lời:


36

Khi máy của bạn được khởi động, nó sẽ cần biết ánh xạ của một số tên máy chủ đến địa chỉ IP trước khi DNS có thể được tham chiếu. Ánh xạ này được giữ trong tệp / etc / hosts. Trong trường hợp không có máy chủ tên, bất kỳ chương trình mạng nào trên hệ thống của bạn đều truy cập tệp này để xác định địa chỉ IP tương ứng với tên máy chủ.

Thiết bị loopback là một giao diện mạng ảo đặc biệt mà máy tính của bạn sử dụng để giao tiếp với chính nó. Nó được sử dụng chủ yếu để chẩn đoán và xử lý sự cố và để kết nối với các máy chủ đang chạy trên máy cục bộ.

loopback là giao diện lo và ip 127.0.0.1 theo mặc định

127.0.0.1 localhost

Debian hơn ubfox chọn định nghĩa 127.0.1.1 để ánh xạ ip của host_name trong trường hợp bạn không có mạng

Host_name khớp với tên máy chủ được xác định trong "/ etc / hostname".

Đối với một hệ thống có địa chỉ IP vĩnh viễn, địa chỉ IP vĩnh viễn đó nên được sử dụng ở đây thay vì 127.0.1.1.

Tên máy chủ 127.0.1.1


1
Tôi hiểu triết lý, nhưng tôi không đồng ý với hình thức của nó trong / etc / hosts.
Anthony Rutledge

21

Nó không thực sự có ý nghĩa gì cả (nó chỉ là một IP khác trong khối 127.0.0.0/8).

Lý do nó được sử dụng làm IP cho tên máy chủ của bạn được giải thích trong Phần 10.4 của Hướng dẫn tham khảo Debian.

Trích dẫn:

Một số phần mềm (ví dụ: Gnome) hy vọng tên máy chủ hệ thống có thể phân giải thành địa chỉ IP với tên miền đủ điều kiện chính tắc. Điều này thực sự không phù hợp vì tên máy chủ hệ thống và tên miền là hai thứ rất khác nhau; Nhưng bạn có nó. Để hỗ trợ phần mềm đó, cần phải đảm bảo rằng tên máy chủ hệ thống có thể được giải quyết. Thông thường, điều này được thực hiện bằng cách đặt một dòng trong / etc / hosts chứa một số địa chỉ IP và tên máy chủ hệ thống. Nếu hệ thống của bạn có một địa chỉ IP vĩnh viễn thì hãy sử dụng địa chỉ đó; mặt khác sử dụng địa chỉ 127.0.1.1.


1

Ảnh chụp màn hình sau đây kể một câu chuyện thú vị.

Ubuntu mặc định / etc / hosts tập tin và đầu ra ifconfig

Thực tế, nó cho thấy đó 127.0.0.1là địa chỉ loopback thực sự. Vì vậy, 127.0.1.1có lý do nào khác ngoài mạng IP cơ bản.

Như @Videonauth đã đề cập, 127.0.1.1dòng này là một cái nạng, một bản sửa lỗi, để làm cho phần mềm tinh vi được hạnh phúc.

Theo quan điểm của tôi, mục loopback hầu như luôn luôn ở trong /etc/hosts. Nếu bạn thay đổi tên máy chủ của mình từ mặc định localhost, sau đó thay đổi tên máy chủ trên 127.0.1.1dòng chứ không phải 127.0.0.1dòng.

Nếu bạn thay đổi tên máy chủ của mình và cung cấp cho máy của bạn một IP tĩnh, hãy thay đổi cả trường tên máy chủ và IP trong dòng 127.0.1.1.

Tóm lại, để lại 127.0.0.1hồ sơ một mình.


Vì vậy, để tổng hợp, nếu bạn đã áp dụng một ip tĩnh nói, 192.168.1.1 thì dòng 127.0.1.1 sẽ được thay thế bằng tên máy chủ 192.168.1.1 . Điều đó có đúng không?
Chris

192.168.1.1 <hostname>Đúng.
Anthony Rutledge

Cảm ơn bạn, tôi không chắc chắn, tôi đã thiết lập một vài vm và các tệp lưu trữ đều có trong đó, tôi hiểu đó là một vòng lặp cho một số ứng dụng nhưng sau đó là 127.0.0.1, vì vậy tôi không chắc liệu nó có ở lại hay không .
Chris
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.