Làm cách nào để đặt tên miền trên GNU / Linux?


27

Tương tự như tên máy chủ có thể được thay đổi theo các cách khác nhau:

  • tạm thời sử dụng hostnamelệnh
  • sử dụng vĩnh viễn /etc/hostname(hoặc /etc/sysconfig/networkhoặc /etc/HOSTNAME, các tệp này được sử dụng bởi các tập lệnh init)

Tôi muốn thay đổi tên miền của tôi. Tôi có thể sử dụng domainnamelệnh, nhưng có cách nào để làm cho nó vĩnh viễn trên các lần khởi động lại không? Tôi nghĩ rằng nó có thể được cấu hình /etc/resolv.confnhưng tập tin này thường được tạo và tôi không biết chính xác sự khác biệt giữa searchdomainchỉ thị. Và tại thời điểm nào chính xác thông tin được chuyển đến domainnamechương trình để đặt tên miền?

Bạn có ý tưởng nào về điều đó không?

Tôi muốn tương thích hầu hết trên các bản phân phối. Vì vậy, nếu bất cứ ai có con trỏ về các hương vị phân phối khác nhau, tôi sẵn sàng chấp nhận chúng.


Mỗi phân phối làm điều này khác nhau. Những cái nào bạn quan tâm? Và bạn đã đọc tài liệu của họ?
Michael Hampton

Chủ yếu là hương vị RedHat và Debian. Và tôi không thể tìm thấy thông tin liên quan trong tài liệu. Nhưng có lẽ tôi đã không nhìn đủ cứng, tôi thừa nhận tôi không biết chính xác nó có thể ở đâu trong tài liệu (hoặc ngay cả khi nó có trong tài liệu).
Mildred

1
Điều đó công bằng. Trong tài liệu của Red Hat, nó được chôn trong một phụ lục . Mặc dù trong Debian, nó không bị chôn vùi trong một phụ lục , nhưng điều đó thật khó hiểu ...
Michael Hampton

1
@Michael Liên kết này trong danh sách gửi thư của debian hầu hết rất hữu ích, đặc biệt là để cuối cùng trả lời câu hỏi của bạn, bạn định cấu hình FQDN của mình bất cứ nơi nào bạn muốn đặt tên. Nếu bạn muốn nó trong các tệp trên hộp, thì nó sẽ vào / etc / hosts. Nếu bạn chạy máy chủ tên của riêng bạn như tôi (tôi chạy dnsmasq cho đơn giản) thì bạn chỉ phải ghi lại thông tin trong
Mildred

Trên mũ đỏ 7 và các hệ thống dẫn xuất, bạn nên sử dụng hostnamectl để thiết lập tên máy chủ. cyberciti.biz/faq/rhel-redhat-centos-7-change-hostname-command/ từ
X lượn

Câu trả lời:


42

Đặt FQDN

Tôi đang sử dụng Debian 7 và đây là thứ giúp tôi làm việc; cảm ơn Fernando Ribeiro .

sudoedit / etc / tên máy chủ

server # here's where you put the server's host name

kích hoạt tên máy chủ

tên máy chủ sudo -F / etc / tên máy chủ

thêm tên miền và địa chỉ vào máy chủ

sudoedit / etc / hosts

192.168.1.2   server.domain server

KIỂM CHỨNG

> hostname --short
server

> hostname --domain
domain

> hostname --fqdn
server.domain

> hostname --ip-address
192.168.1.2

sau khi thay đổi tên máy chủ trong /etc/hostnamebạn có thể không thể chỉnh sửa /etc/hosts. Trong trường hợp này, bạn phải sử dụng xauth addnhư đã nêu trong câu trả lời này stackoverflow.com/questions/20611783/ Khăn
Junior M

1
bạn không nên sử dụng sudo vim. thiết lập $EDITORvà sử dụng sudoedit.
törzsmókus

5

Khi bạn sử dụng redhat-basecác hệ thống, linux sử dụng /etc/sysconfig/networktệp và bạn nên đặt biến HOSTNAMEthành FQDN, khi bạn sử dụng FQDN, linuxchính nó sẽ xác định tên miền.

Ví dụ:

HOSTNAME=web.mydomain.com

Nhưng khi bạn sử dụng debian-basehệ thống, bạn nên điền vào /etc/hostnametệp FQDN:

web.mydomain.com

LƯU Ý: nếu bạn muốn đặt domain namechắc chắn được đặt FQDN(Tên miền được giải thích đầy đủ)

Khi bạn đặt, hostname -dhiển thị cho bạn domain name.


1
Cảm ơn bạn, nhưng tôi có ấn tượng rằng các tệp này chỉ nên chứa tên máy chủ mà không có phần tên miền. Nếu tôi làm những gì bạn đề xuất, tên máy chủ sẽ trả về fqdn trực tiếp (không có sự khác biệt giữa hostnamehostname -f).
Mildred

Nhân tiện, tôi quên nói rằng bạn nên đặt tên máy chủ bằng tay hostname web.mydomain.comsau khi định cấu hình tệp của mình. bởi vì khi bạn định cấu hình bộ nhớ tệp của mình không thể áp dụng các thay đổi. (nếu nó hữu ích, đừng quên cờ hữu ích)
tiếng

4

man hostname, được trích dẫn từ đầu đến cuối

FILES
       /etc/hostname  Historically  this file was supposed to only contain the hostname and not the full canonical
       FQDN. Nowadays most software is able to cope with a full FQDN here. This file is read at boot time  by  the
       system initialization scripts to set the hostname.

       /etc/hosts Usually, this is where one sets the domain name by aliasing the host name to the FQDN.

Giáo dục

   THE FQDN
       The  FQDN (Fully Qualified Domain Name) of the system is the name that the resolver(3) returns for the host
       name, such as, ursula.example.com.  It is usually the hostname followed by the DNS domain  name  (the  part
       after the first dot).  You can check the FQDN using hostname --fqdn or the domain name using dnsdomainname.

       You cannot change the FQDN with hostname or dnsdomainname.

       The recommended method of setting the FQDN is to make the hostname be an alias for the fully qualified name
       using /etc/hosts, DNS, or NIS. For example, if the  hostname  was  "ursula",  one  might  have  a  line  in
       /etc/hosts which reads

              127.0.1.1    ursula.example.com ursula

       Technically: The FQDN is the name getaddrinfo(3) returns for the host name returned by gethostname(2).  The
       DNS domain name is the part after the first dot.

       Therefore it depends on the configuration of the resolver (usually in /etc/host.conf) how  you  can  change
       it.  Usually  the  hosts  file  is  parsed  before  DNS  or NIS, so it is most common to change the FQDN in
       /etc/hosts.

       If a machine has multiple network interfaces/addresses or is used in a  mobile  environment,  then  it  may
       either  have  multiple  FQDNs/domain  names or none at all. Therefore avoid using hostname --fqdn, hostname
       --domain and dnsdomainname.  hostname --ip-address is subject to the  same  limitations  so  it  should  be
       avoided as well.

Tôi muốn nói rằng nó mô tả toàn bộ sự việc.

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.