Linux dns etc hosts

Linux dns etc hosts

NAME

hosts - static table lookup for hostnames

SYNOPSIS

DESCRIPTION

This manual page describes the format of the /etc/hosts file. This file is a simple text file that associates IP addresses with hostnames, one line per IP address. For each host a single line should be present with the following information: IP_address canonical_hostname [aliases. ] Fields of the entry are separated by any number of blanks and/or tab characters. Text from a "#" character until the end of the line is a comment, and is ignored. Host names may contain only alphanumeric characters, minus signs ("-"), and periods ("."). They must begin with an alphabetic character and end with an alphanumeric character. Optional aliases provide for name changes, alternate spellings, shorter hostnames, or generic hostnames (for example, localhost). The Berkeley Internet Name Domain (BIND) Server implements the Internet name server for UNIX systems. It augments or replaces the /etc/hosts file or hostname lookup, and frees a host from relying on /etc/hosts being up to date and complete. In modern systems, even though the host table has been superseded by DNS, it is still widely used for: bootstrapping Most systems have a small host table containing the name and address information for important hosts on the local network. This is useful when DNS is not running, for example during system bootup. NIS Sites that use NIS use the host table as input to the NIS host database. Even though NIS can be used with DNS, most NIS sites still use the host table with an entry for all local hosts as a backup. isolated nodes Very small sites that are isolated from the network use the host table instead of DNS. If the local information rarely changes, and the network is not connected to the Internet, DNS offers little advantage.

FILES

NOTES

Modifications to this file normally take effect immediately, except in cases where the file is cached by applications. Historical notes RFC 952 gave the original format for the host table, though it has since changed. Before the advent of DNS, the host table was the only way of resolving hostnames on the fledgling Internet. Indeed, this file could be created from the official host data base maintained at the Network Information Control Center (NIC), though local changes were often required to bring it up to date regarding unofficial aliases and/or unknown hosts. The NIC no longer maintains the hosts.txt files, though looking around at the time of writing (circa 2000), there are historical hosts.txt files on the WWW. I just found three, from 92, 94, and 95.

EXAMPLE

127.0.0.1 localhost 192.168.1.10 foo.mydomain.org foo 192.168.1.13 bar.mydomain.org bar 146.82.138.7 master.debian.org master 209.237.226.90 www.opensource.org

SEE ALSO

hostname(1), resolver(3), resolver(5), hostname(7), named(8) Internet RFC 952

Источник

Читайте также:  Debian install linux source

Как настроить локальный DNS с помощью файла /etc/hosts в Linux

DNS (Система доменных имен или служба) – это иерархическая децентрализованная система/служба именования, которая преобразует доменные имена в IP-адреса в Интернете или частной сети, а также сервер, предоставляющий такие служба называется DNS-сервером.

В этой статье объясняется, как настроить локальный DNS с помощью файла hosts (/etc/hosts) в системах Linux для разрешения локального домена или тестирования веб-сайта перед запуском.

Например, вы можете захотеть протестировать веб-сайт локально с собственным доменным именем, прежде чем сделать его общедоступным, изменив файл /etc/hosts в вашей локальной системе, чтобы указать доменное имя на IP-адрес локальный DNS-сервер, который вы настроили.

/etc/hosts – это файл операционной системы, в котором имена хостов или доменные имена преобразуются в IP-адреса. Это полезно для тестирования изменений веб-сайтов или настройки SSL, прежде чем сделать веб-сайт общедоступным.

Внимание: этот метод будет работать, только если хосты имеют статический IP-адрес. Поэтому убедитесь, что вы установили статические IP-адреса для ваших хостов Linux или узлов, работающих под управлением других операционных систем.

Для целей этой статьи мы будем использовать следующие домен, имена хостов и IP-адреса (используйте значения, которые относятся к вашим локальным настройкам).

Domain: tecmint.lan Host 1: ubuntu.tecmint.lan 192.168.56.1 Host 2: centos.tecmint.lan 192.168.56.10

Понимание переключателя службы имен в Linux

Прежде чем двигаться дальше, вы должны кое-что понять о другом важном файле — /etc/nsswitch.conf. Он предоставляет функцию Переключение службы имен, которая управляет порядком, в котором запрашиваются службы для поиска службы имен.

Конфигурация основана на заказе; если файлы находятся перед DNS, это означает, что система будет запрашивать файл /etc/hosts перед проверкой DNS на наличие запросов службы имен. Но если DNS находится перед файлами, то процесс поиска домена сначала будет обращаться к DNS перед любыми другими соответствующими службами или файлами.

В этом сценарии мы хотим запросить службу \files”. Чтобы проверить порядок, введите.

$ cat /etc/nsswitch.conf OR $ grep hosts /etc/nsswitch.conf

Локальная настройка DNS с помощью файла /etc/hosts в Linux

Теперь откройте файл /etc/hosts в выбранном вами редакторе следующим образом.

Затем добавьте строки ниже в конец файла, как показано на снимке экрана ниже.

192.168.56.1 ubuntu.tecmint.lan 192.168.56.10 centos.tecmint.lan

Затем проверьте, все ли работает должным образом, используя команду ping с хост 1, вы можете пропинговать хост 2, используя его доменное имя, например так.

$ ping -c 4 centos.tecmint.lan OR $ ping -c 4 centos

На Host 2 мы настроили HTTP-сервер Apache. Таким образом, мы также можем проверить, работает ли служба перевода имен следующим образом, перейдя по URL-адресу http://centos.tecmint.lan.

Важно: чтобы использовать доменные имена на любом хосте в сети, вы должны настроить указанные выше параметры в его /etc/hosts. файл.

Что это значит? В приведенном выше примере мы настроили файл hosts только для Host 1 и можем использовать только доменные имена на нем. Чтобы использовать те же имена на Host 2, мы также должны добавить адреса и имена в его файл hosts.

Читайте также:  Linux системы для разработки

Наконец, вы должны использовать команду nslookup, чтобы проверить, действительно ли работает служба преобразования имен, эти команды только запрашивают DNS и игнорируют любые конфигурации в /etc/hosts и /etc/nsswitch.conf файлы.

Вы также можете прочитать следующие статьи по теме.

  1. Установка и настройка кэширующего DNS-сервера в RHEL/CentOS 7
  2. Настройка базового DNS-сервера с рекурсивным кэшированием и настройка зон для домена
  3. 8 команд Linux Nslookup для устранения неполадок DNS (сервера доменных имен)
  4. Полезные примеры команд host для запросов DNS-запросов

Вот и все! Поделитесь с нами любыми дополнительными мыслями или вопросами по этой теме в разделе комментариев ниже.

Источник

How to Setup Local DNS Using /etc/hosts File in Linux

DNS (Domain Name System or Service) is a hierarchical decentralized naming system/service that translates domain names into IP addresses on the Internet or a private network and a server that provides such a service is called a DNS server.

This article explains, how to setup a local DNS using the hosts file (/etc/hosts) in Linux systems for local domain resolution or testing the website before taking live.

For example, you may want to test a website locally with a custom domain name before going live publicly by modifying the /etc/hosts file on your local system to point the domain name to the IP address of the local DNS server you configured.

The /etc/hosts is an operating system file that translate hostnames or domain names to IP addresses. This is useful for testing websites changes or the SSL setup before taking a website publicly live.

Attention: This method will only work if the hosts have a static IP address. Therefore ensure that you have set static IP addresses for your Linux hosts or nodes running other operating systems.

For the purpose of this article, we will be using the following domain, hostnames and IP addresses (use values that apply to your local setting).

Domain: tecmint.lan Host 1: ubuntu.tecmint.lan 192.168.56.1 Host 2: centos.tecmint.lan 192.168.56.10

Understanding Name Service Switch in Linux

Before moving any further, you should understand a few things about another important file that is /etc/nsswitch.conf. It provides Name Service Switch functionality which controls the order in which services are queried for name service lookups.

The configuration is based on order; if files is before dns it means the system will query the /etc/hosts file before checking DNS for name service requests. But if DNS is before files then the domain lookup process will consult DNS first before any other appropriate services or files.

In this scenario, we want to query the “files” service. To check the order, type.

$ cat /etc/nsswitch.conf OR $ grep hosts /etc/nsswitch.conf

Check Name Service Switch

Configure DNS Locally Using /etc/hosts File in Linux

Now open the /etc/hosts file using your editor of choice as follows

Then add the lines below to the end of the file as shown in the screen shot below.

192.168.56.1 ubuntu.tecmint.lan 192.168.56.10 centos.tecmint.lan

Next, test if everything is working well as expected, using the ping command from Host 1, you can ping Host 2 using it domain name like so.

$ ping -c 4 centos.tecmint.lan OR $ ping -c 4 centos

Ping Domain Locally

On the Host 2, we have setup Apache HTTP server. So we can also test if the name translation service is working as follows by going to URL http://centos.tecmint.lan.

Читайте также:  Linux глобальный поиск файла

Check Domain Locally

Important: To use the domain names on any host on the network, you must configure the above settings in its /etc/hosts file.

What does this mean, in the above example, we only configured the hosts file of Host 1 and we can only use the domain names on it. To use the same names on Host 2, we have to add the addresses and names to its hosts file as well.

Lastly, you should use host command or nslookup command to test if the name translation service is actually working, these commands only query DNS and overlook any configurations in /etc/hosts and /etc/nsswitch.conf files.

You may also like to read these following related articles.

That’s it! Do share any additional thoughts or questions about this topic with us, via the comment section below.

Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Install Dnsmasq on CentOS

Install Bind DNS Server on RHEL 8

Setup Cache-Only DNS in RHEL and CentOS 7

Install PowerDNS and PowerAdmin in CentOS

Setup Cahing DNS Server in CentOS 7

Cache Only DNS Setup in CentOS

3 thoughts on “How to Setup Local DNS Using /etc/hosts File in Linux”

Linux does provide the bind RPM package to allow an administrative domain to configure and maintain its own DNS service, but frequently the size of the local network is only a few hosts and makes justifying the effort of maintaining a DNS service unwarranted. Reply

Please refer to https://unix.stackexchange.com/questions/421491/what-is-the-purpose-of-etc-hosts . Reply

Hello Aaron, I’m sad to say that in above article you did not describe DNS at all. You instead described how to configure local name resolution on a Linux host through /etc/hosts. In this scenario, DNS is not involved at all. Think of OS name resolution like an umbrella. In nsswitch.conf the sysadmin configures what name resolution services for this system should be. Files usually come first (means /etc/hosts), DNS is one of them – it usually follows files but there are a lot more different name resolution services and strategies available. “getent hosts ” query the OS to resolve according to configured name resolution services in that order (and usually checks /etc/hosts firsts and then maybe DNS, but always does what’s written in nsswitch.conf behind “hosts:”) “host” explicitly asks DNS service to resolve. This won’t resolve hostnames that only /etc/hosts can resolve – to demonstrate the difference. Please read the man pages of “getent” and “hosts“. I suggest completely overhaul this article or take it off-line. Greetings,
Joerg Reply

Источник

Оцените статью
Adblock
detector