it-swarm-vi.com

Định dạng / etc / hosts trên Linux (khác với Windows?)

Dán bên dưới câu hỏi này là một mẫu của /etc/hosts tệp từ Linux (CentOS) và máy Windows. Tệp Linux có hai mục được gắn thẻ sau địa chỉ IP (đó là localhost.localdomain localhost) và Windows chỉ có một. Nếu tôi muốn chỉnh sửa tệp máy chủ trong Windows để có tên máy (etest) thay vì localhost, tôi chỉ cần thay thế localhost Word bằng tên máy tôi muốn. Máy không cần phải là một phần của một miền.

Trong một máy Linux, hai mục localhost.localdomainlocalhost dường như chỉ ra rằng tôi sẽ cần máy là một phần của miền. Điều này có đúng không?

Tôi có thể chỉ cần chỉnh sửa cả hai mục thành etest để nó sẽ đọc:

127.0.0.1       etest etest

hoặc có yêu cầu tôi thay thế một mục nhập bằng một tên miền không?

Ngoài ra, vui lòng cho tôi biết dòng thứ hai của /etc/hosts tập tin trên máy Linux là dành cho.

::1     localhost6.localdomain6 localhost6

hosts tệp trên máy Linux:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6

hosts tệp trên máy tính windows:

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to Host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding Host name.
# The IP address and the Host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client Host

127.0.0.1       localhost
24
Thomas

Bạn luôn muốn địa chỉ 127.0.0.1 giải quyết trước tiên với localhost. Nếu có một tên miền bạn cũng có thể sử dụng tên miền đó, nhưng sau đó hãy chắc chắn rằng localhost được liệt kê thứ hai. Nếu bạn muốn thêm bí danh cho máy của mình sẽ tìm kiếm địa chỉ loopback, bạn có thể tiếp tục thêm chúng dưới dạng các giá trị được phân tách bằng dấu cách trên dòng đó. Chỉ định tên miền ở đây là tùy chọn, nhưng không xóa "localhost" khỏi các tùy chọn.

14
Caleb

Định dạng của /etc/hosts trên Linux và Windows là như nhau:

IP address        hostname [hostalias]...

trong đó dấu ngoặc là cách thông thường để chỉ ra rằng một cái gì đó là tùy chọn (không thực sự nhập chúng) và dấu chấm (...) có nghĩa là có thể có nhiều hơn một.

Bạn không cần phải biến Host thành một phần của tên miền. Hãy thử nó và xem. Nhưng nó sẽ là một ý tưởng tốt để sử dụng .localdomain nếu bạn không có tên miền thực. Nó có thể làm cho độ phân giải tên máy chủ nhanh hơn một chút do tùy chọn ndots trong /etc/resolv.conf .

Lưu ý rằng theo nghĩa này, miền có nghĩa là miền DNS (như google.com hoặc là stackexchange.com), không phải tên miền Windows hay bất cứ thứ gì tương tự.

Dòng bắt đầu bằng ::1 là dành cho IPv6 . ::1 giống như 127.0.0.1 theo sơ đồ địa chỉ mới. Chạy ifconfig lo và bạn sẽ thấy nó có hai địa chỉ. Lưu ý mục nhập bắt đầu bằng inet6.

$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
...

Xem trang máy chủ (5) để biết thêm chi tiết.

23
Mikel

Tôi không thể nói Windows có thể khác với Linux như thế nào, nhưng định dạng của định nghĩa của máy cục bộ ảnh hưởng đến kết quả bạn sẽ nhận được từ lệnh 'tên máy chủ'.

Định dạng tôi thấy hoạt động ổn định nhất là:

127.0.0.1 etest.mydomain.com etest localhost

Điều quan trọng tôi đã tìm thấy là có FQDN trước và các bí danh, theo bất kỳ thứ tự nào, sau nó.

Nếu bạn thử nghiệm sắp xếp lại các tên sau địa chỉ IP và sau đó sử dụng các lệnh 'hostname -s' (tên ngắn) và 'hostname -f' (tên miền đủ điều kiện hoặc FQDN), bạn sẽ thấy ý tôi là gì. Nó sẽ trông giống như thế này:

$ hostname -s
etest

$ hostname -f
etest.mydomain.com

'Tên máy chủ' tự nó sẽ trả về bất kỳ tên nào bạn đã nhập cho Máy chủ lưu trữ trong /etc/conf.d/hostname hoặc/etc/hostname (vị trí của tệp thay đổi theo phân phối, nhưng nên được tìm thấy trong/etc ở đâu đó).

Nếu bạn thay đổi thứ tự của các tên bạn có thể thấy rằng "hostname -f" cung cấp cho bạn các phản hồi như "localhost" hoặc "hostname: system system". Sự sắp xếp duy nhất tôi thấy rằng hoạt động chính xác là đặt FQDN trước.

Tôi luôn đặt dòng địa chỉ IPv6 cục bộ (:: 1) theo cùng một cách, tức là:

::1 etest.mydomain.com etest localhost

Tôi biết một số bản phân phối đặt tên IPv6 thành một cái gì đó như ip6-localhost. Tôi chưa thực sự sử dụng IPv6, vì vậy không thể nhận xét về cài đặt tốt nhất cho dòng này là gì. Tôi chỉ có thể nói rằng trong một mạng IPv4, nó hoạt động để có cả hai dòng có cùng tên.

6
Angelo Babudro

Giữ tập tin máy chủ Slaves như

127.0.0.1 localhost

Giữ tập tin máy chủ chính như

<private ip> master
<private ip> slave1
<private ip> slave2

Làm việc 100%

0
Puneet