DNS и доменные имена. Команды Linux Подстановка локального домена
Хочу рассказать о несколько нестандартном способе с помощью которого можно открывать в браузере сайты, используя короткие имена. Например, вместо того чтобы набирать в браузере «yandex.ru» можно просто набрать одну букву «y». Поможет нам в этом файл /etc/hosts.
Файл /etc/hosts
В файле /etc/hosts задаются соответствия между IP адресом и именем хоста (hostname, домен), а также их псевдонимами (также называются, синонимами, алиасами). Когда вы обращаетесь к какому-нибудь адресу в сети, например, http://yandex.ru, то для доступа к сайту системе требуется вначале преобразовать адрес сайта в соответствующий ему IP адрес, для этого система запрашивает IP адрес у DNS сервера. Если в файле /etc/hosts прописано соответствие между yandex.ru и IP адресом, тогда система будет использовать именно этот IP адрес. А так как мы можем в файле /etc/hosts указать еще и псевдоним, по которому будет доступен конкретный IP адрес, то мы можем указать, например, для yandex.ru псевдоним «y». Соответственно, при запросе «y» в своем браузере, система прочитает IP адрес в файле /etc/hosts и откроет сайт yandex.ru. То есть /etc/hosts, это своего рода локальный DNS сервер.
Как узнать IP адрес сайта
Теперь нам нужно определить IP адреса сайтов, которые мы хотим добавить в /etc/hosts. Стоит отметить, что не все сайты имеют отдельный выделенный IP адрес и получить к ним доступ только по IP адресу нельзя. Но почти все крупные сайты и порталы имеют свой выделенный IP адрес. Простой способ узнать IP адрес сайта это использовать командну ping:
На экране отобразится процесс пинга (чтобы прервать нажмите Ctrl+C). Итак, мы получим вывод команды ping вида:
PING yandex.ru (87.250.250.11) 56(84) bytes of data. 64 bytes from yandex.ru (87.250.250.11): icmp_seq=1 ttl=57 time=3.57 ms .
Здесь видно, что yandex.ru соответствует IP адресу 87.250.250.11. Аналогично, выполняем для других сайтов.
Редактирование файла /etc/hosts
Редактировать файл /etc/hosts нужно осторожно, чтобы ничего не испортить, так как это системный файл и важно не нарушать его синтаксис. Откройте файл для редактирования, для этого выполните в командной строке:
Sudo gedit /etc/hosts
Содержимое файла выглядит примерно следующим образом:
127.0.0.1 localhost::1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # The following lines are desirable for IPv6 capable hosts::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet .
Синтаксис у файла /etc/hosts очень простой:
IP-адрес имя-хоста [псевдонимы, . ]
Добавим в файл новые строки для разных сайтов:
74.125.232.19 google.ru g 94.100.191.203 mail.ru m 194.186.36.211 rbc.ru r 87.250.250.11 yandex.ru y
Сохраните и закройте файл. Мы прописали соответствия между IP адресами, именами сайтов и их псевдонимами. Теперь перейдите в браузер и в адресной строке введите просто «g», должен открыться сайт google.ru. Чтобы открыть mail.ru введите просто «m», для rbc.ru — просто «r», yandex.ru — «y».
Еще один метод преобразования имен заключается в использовании локальной базы данных имен хостов, подобно тому, как это делалось на заре сети Internet. Файл /etc/hosts содержит список имен хостов с соответствующими IP-адресами. В листинге 4.3 приводится пример файла /etc/hosts для клиента на базе ОС Linux. В нем должны содержаться имя вашей машины и ее IP-адрес, а также IP-адрес петли 127.0.0.1 для служебных целей. Кроме того, если имеются какие-либо удаленные хосты, к которым периодически подключается ваш сервер на ОС Linux, их IP-адреса также желательно указать в файле /etc/hosts . Теперь при каждом обращении к этим хостам у Linux-сервера уже будут их IP-адреса; таким образом, необходимость в выполнении DNS-запросов отпадает. К тому же это намного ускоряет установление соединения.
1 127.0.0.1 localhost 2 192.168.0.1 shadrach.smallorg.org 3 10.0.0.1 mail1.isp.net 4 10.0.0.2 mail2.isp.net 5 10.0.0.3 fred.otherplace.com Листинг 4.3. Пример файла /etc/hosts
В первой и второй строках указываются IP-адреса для локального Linux-сервера. В строках 3–5 представлены IP-адреса для наиболее часто запрашиваемых машин вашей сети. Благодаря этому ускоряется доступ к ним c сервера на базе ОС Linux, по сравнению с использованием системы DNS.
Имя localhost
Во всех компьютерах с ОС Linux осуществляется поддержка имени localhost . Этому имени всегда соответствует IP-адрес 127.0.0.1 , который присваивается специальному сетевому устройству типа «петля». Эти имя и адрес позволяют внутренним процессам взаимодействовать с другими процессами в этой же системе по сетевым протоколам. Многие программы даже сконфигурированы на использование имени localhost . Изменение этого имени или соответствующего ему IP-адреса может повлиять на работу этих программ.
Файл преобразования DNS
В файле /etc/host.conf определяются методы и порядок преобразования имен ОС Linux. В листинге 4.4 показан пример файла /etc/host.conf .
1 order hosts,bind 2 multi on Листинг 4.4. Пример файла /etc/host.conf
В первой строке указывается порядок преобразования имен хостов. Здесь операционной системе Linux указывается, что в первую очередь она должна обращаться к файлу /etc/hosts и искать хост там, а затем попытаться преобразовать имя с помощью системы DNS (bind), если не удалось этого сделать с помощью /etc/hosts .
Утилиты клиента DNS в ОС Linux
В помощь системному администратору для ОС Linux было написано множество утилит, призванных облегчить для DNS поиск информации об удаленных хостах и сетях. Для UNIX-систем организацией Internet Software Consortium был создан программный пакет Berkeley Internet Name Domain (BIND), в который вошли три наиболее полезные, с точки зрения автора, и широко используемые утилиты: host , nslookup и dig . Эти программы распространяются совместно с программным обеспечением, входящим в большинство дистрибутивов ОС Linux. В Red Hat и Mandrake Linux эти программы поставляются в виде пакетов RPM.
При решении возможных проблем, связанных с работой электронной почты в Internet, эти утилиты весьма полезны. Часто отправитель допускает ошибки в адресе получателя электронной почты, и письма не принимаются. Естественно, он будет совершено уверен, что использовал правильный адрес, и вину за возвращаемые сообщения возложит на вас. Однако после небольшого общения с DNS можно сделать однозначные выводы о правильности или ошибочности адреса электронной почты.
Утилита host
Программа host производит простейшее преобразование имени с помощью DNS. Формат команды host следующий:
host [-l] [-v] [-w] [-r] [-d] [-t querytype] [-a] host
По умолчанию команда host пытается получить IP-адрес для имени, указанного как host , с помощью DNS-сервера, определенного в файле /etc/resolv.conf . Если в командной строке указан server , то по умолчанию команда host будет использовать его в качестве DNS-сервера. Добавляя дополнительные параметры в командной строке, можно модифицировать работу команды host . Все эти параметры указаны в табл. 4.5 .
Параметр | Описание |
---|---|
-l | Показывает полную информацию о домене |
-v | Использует подробный формат при выводе результатов |
-w | Заставляет команду host ожидать ответа |
-r | Выключает режим рекурсии |
-d | Включает режим отладки |
-t querytype | Определяет тип запроса |
-a | Восстанавливает все записи в DNS |
Параметр -l может использоваться для поиска информации обо всех хостах в домене. Очень часто вместе с ним используется параметр -t для того, чтобы отфильтровать информацию по типу (например, -t MX возвращает только записи МХ для домена). К сожалению, в настоящее время из соображений безопасности использование параметра -l затруднено, так как большинство DNS-серверов отказывает в предоставлении информации о хостах из своих баз данных. Если же информация запрашивается от удаленного или загруженного DNS-сервера (или через низкоскоростное соединение), то можно использовать параметр -w . С его помощью программа host принудительно ожидает ответа на запрос. По умолчанию время ожидания составляет около минуты.
Один из наиболее полезных параметров -r . Он указывает DNS-серверу возвращать только ту информацию, которая содержится в его локальной базе данных. В таком случае DNS-сервер не обращается за информацией к другим DNS-серверам.
Это весьма удобно при определении того, правильно ли ваш DNS-сервер кэширует ответы DNS. Во-первых, попытайтесь задать параметр -r . Если никакой информации об имени хоста нет, то от локального DNS-сервера ответ не будет получен. Затем задайте команду без параметра -r . Здесь должен быть получен нормальный ответ, так как локальному DNS-серверу разрешено получать данные от других серверов DNS. Далее еще раз попробуйте команду host с опцией -r . Теперь полученная информация должна в точности совпадать с данными, полученными в результате предыдущей попытки. Это означает, что DNS-сервер на этот раз почерпнул из кэша информацию, которая относилась к предыдущей попытке. Если никакой информации не получено, значит, локальный DNS-сервер не скэшировал предыдущий ответ. Тогда вы должны заметить значительное замедление при получении ответа на запрос, так как он делается по сети, а не берется из кэша.
По умолчанию команда host попытается вывести результаты своей работы в удобном для чтения формате. Например, как это показано в листинге 4.5. Если же задана опция -v , то вывод имеет вид исходных записей DNS. При отладке работы системы DNS это может оказаться полезным.
1 $host www.linux.org 2 www.linux.org has address 198.182.196.56 3 www.linux.org mail is handled (pri=2O) by router.invlogic.com 4 www.linux.org mail is handled (pri=30) by border-ai.invlogic.com 5 www.linux.org mail is handled (pri=10) by mail.linux.org 6 $ Листинг 4.5. Пример выполнения команды host
В строке 1 показан основной формат команды host — просто добавьте имя хоста, о котором требуется получить информацию. Строки 2–5 представляют собой результаты работы команды. Строка 2 показывает, что DNS-сервер смог преобразовать имя заданного хоста в его IP-адрес. Далее в строках 3-5 показаны три компьютера, которые могут принимать электронную почту для заданного хоста согласно записям МХ . Заметим, что команда host показывает даже весовые коэффициенты (или приоритеты) для каждого почтового сервера. Если почта была послана пользователю указанного хоста, то сначала ее доставкой займется сервер с приоритетом 10 (mail.linux.org ). Если же команда host не выполняется, то можно послать запрос через другой DNS-сервер, указав его адрес после адреса хоста в командной строке. Это весьма эффективно, если вы считаете, что локальный DNS-сервер ведет себя не совсем правильно.
Вопрос. Как я могу добавить пользователя в группу в Linux?
Ответ. Вы можете использовать команды useradd илиusermod для добавления пользователя в группу. Команда useradd создает нового пользователя или обновляет информацию у существующего. Команда usermod модифицирует существуюего пользователя. Вся информация о пользователях и группах храниться в файлах /etc/passwd, /etc/shadow и /etc/group.
Пример использования useradd — Добавляем нового пользователя в вторичную группу
Используем команду useradd для добавления нового пользователя в существующую группу. Если группа не существует создайте её. Синтаксис:
Useradd -G username
Создадим пользователя vivek и добавим его в группу developers. Залогиньтесь как пользователь root и убедитесь что группа developers существует:
# grep developers /etc/group
Если группы нет, используйте команду groupadd для создания новой группы developers:
Затем добавьте пользователя vivek в группу developers:
# useradd -G developers vivek
Установите пароль пользователю vivek:
Убедитесь что пользователь добавлен в группу developers:
# id vivek Output:
Uid=1122(vivek) gid=1125(vivek) groups=1125(vivek),1124(developers)
Опция -G позволяет добавить пользователю группу. Группы можно перечислять через запятую. К примеру, добавим пользователя jerry в группы
admins, ftp, www, and developers, введя:
# useradd -G admins,ftp,www,developers jerry
Пример использования useradd — Добавляем нового пользователя в основную группу
Для добавления пользователя tony в группу developers используем следующую команду:
# useradd -g developers tony
uid=1123(tony) gid=1124(developers) groups=1124(developers)
Опция -g позволяет добавить пользователя в основную группу. Группа должна существовать.
Пример использования usermod — Добавляем существующего пользователя в существующую группу
Добавляем существующего пользователя tony в вторичную группу ftp:
# usermod -a -G ftp tony
Изменяем существующему пользователю tony первучную группу на www:
# usermod -g www tony
Для второй вышки заказал реферат на сайте «Студинформ». Стыдно конечно, но времени делать самому совсем нет. Заказ выполнили очень быстро и качественно. Рекомендую!
Для своей машины сейчас думаю какие шины ставить. Очень задумался о шипованных шинах . По отзывам, насколько я почитал, разница тормозного пути лучших шипованных шин и лучших моделей без шипов составила 10 метров! Есть над чем подумать.
Version of host .
Description
In the syntax listed below, name is the domain name that is to be looked up. The name can also be a dotted-decimal IPv4 address or a colon-delimited IPv6 address, in which case host will by default perform a reverse lookup for that address. The server is an optional argument that is either the name or IP address of the name server that host should query instead of the server or servers listed in /etc/resolv.conf .
Syntax
host [-aCdlnrsTwv] [-c class ] [-N ndots ] [-R number ] [-t type ] [-W wait ] [-m flag ] [-4] [-6] name > [server ]
Options
The -a (all ) option is equivalent to setting the -v option and asking host to make a query of type ANY.
When the -C option is used, host will attempt to display the SOA records for zone name from all the listed authoritative name servers for that zone. The list of name servers is defined by the NS records that are found for the zone.
-c class
The -c option instructs host to make a DNS query of class class . This can be used to lookup Hesiod or Chaosnet class resource records. The default class is IN (Internet).
Verbose output is generated by host when the -d or -v option is used. The two options are equivalent. They have been provided for backward compatibility . In previous versions, the -d option switched on debugging traces and -v enabled verbose output.
List mode is selected by the -l option. This makes host perform a zone transfer for zone name. Transfer the zone printing out the NS, PTR, and address records (A/AAAA). If combined with -a all records will be printed.
The -i option specifies that reverse lookups of IPv6 addresses should use the IP6.INT domain as defined in RFC1886. The default is to use IP6.ARPA.
-N ndots
The -N option sets the number of dots that have to be in name for it to be considered absolute. The default value is that defined using the ndots statement in /etc/resolv.conf , or 1 if no ndots statement is present. Names with fewer dots are interpreted as relative names and will be searched for in the domains listed in the search or domain directive in /etc/resolv.conf .
-R number
The -s option tells host not to send the query to the next nameserver if any server responds with a SERVFAIL response, which is the reverse of normal stub resolver behavior.
-m flag
The -m can be used to set the memory usage debugging flags record, usage and trace.
Examples
host 204.228.150.3
This command performs a reverse lookup on the IP address 204.228.150.3 , which results in the output:
3.150.228.204.in-addr.arpa domain name pointer www.сайт.
Related commands
dig — DNS lookup utility.
nslookup — Query a name server for information about a remote host.
ping — Send ICMP ECHO_REQUEST packets to network hosts.
Эта статья расскажет вам о команде host. Утилита host предназначена для выполнения запросов к DNS-серверам.
[Алексей Выскубов]
Эта статья расскажет вам о команде host .
Примеры работы приводятся в операционных системах Linux 2.2.17 (Debian unstable, «woody») и FreeBSD 4.2.
Утилита host предназначена для выполнения запросов к DNS-серверам.
По умолчанию она просто находит IP-адрес, соответствующий заданному имени хоста, например:
Www.сайт A 195.5.132.10
Www.сайт has address 195.5.132.10
Как вы видите, в случае Linux утилита выдает DNS-запись типа A, а FreeBSD просто сообщает адрес хоста, используя английский язык. Следует отметить, что DNS-запись, выдаваемая Linux, непригодна для непосредственного помещения в базу данных DNS-сервера, так как имя хоста не заканчивается точкой; указание точки после имени хоста при вызове host также не помогает.
Кроме того, не хватает IN между именем хоста и A. Если вам нужно получить запись, которую можно было бы непосредственно поместить в базу DNS, в Linux вы можете использовать параметр -Z :
$ host -Z slashdot.org
Slashdot.org. 3600 IN A 64.28.67.48
В FreeBSD такая возможность отсутствует.
Аналогичная ситуация возникает, когда указанное имя является алиасом — Linux выводит строчку со словом CNAME, а FreeBSD использует конструкцию «xxx.yyy.zzz is a nickname for aaa.bbb.ccc» :
Admin1.piter-press.ru CNAME ns.piter-press.ru
Ns.piter-press.ru A 195.239.142.33
Admin1.piter-press.ru is a nickname for ns.piter-press.ru
Ns.piter-press.ru has address 195.239.142.33
Следует отметить, что после имени хоста в команде host может быть указано имя сервера, который вы хотите опросить. Если имя сервера не указано (как в наших примерах), то производится опрос одного из DNS-серверов для данной зоны.
Если host получает на вход не имя хоста, а IP-адрес, то производится обратное преобразование — в FQDN.
33.142.239.195.IN-ADDR.ARPA domain name pointer ns.piter-press.ru
На этот раз в случае Linux приведена обычная текстовая информация (хотя, казалось бы, почему не вывести DNS-запись типа PTR?). FreeBSD поступает логичнее — IP-адрес преобразован в соответствующее ему имя хоста в зоне IN-ADDR.ARPA, для которого и выведена информация — опять же, при помощи английского языка.
Подстановка локального домена
Еще одно важное отличие версий host в Linux и FreeBSD заключается в том, что FreeBSD в том случае, если имя хоста не заканчивается точкой, пытается подставить для него локальный домен, чего Linux не делает (возможно, это баг, поскольку man-страница утверждает обратное):
Woe does not exist (Authoritative answer)
Как мы видим, spb.ru является локальным доменом, хост woe.spb.ru существует, но команда host woe не выдает желаемого результата. Следует отметить, что наличие в файле /etc/resolv.conf строки search spb.ru (или domain spb.ru) решило бы проблему. Под FreeBSD поведение host иное:
Alv.home has address 192.168.1.1
Локальный домен был подставлен только в первом случае, так как имя не заканчивалось точкой. Наличие строк search и/или domain в resolv.conf не обязательно.
Подробная информация: параметр -v
Полезным параметром является -v (verbose). И в Linux, и во FreeBSD его действие практически одинаково: выводится дополнительная информация о зоне.
$ host -v www.spb.ru
Query about www.spb.ru for record types A
Query done, 1 answer, status: no error
Www.spb.ru 2134 IN A 195.190.101.3
Www.spb.ru 48235 IN NS ns.nevalink.ru
Www.spb.ru 48235 IN NS ns1.gldn.net
Www.spb.ru 48235 IN NS ns2.gldn.net
Ns.nevalink.ru 54275 IN A 195.190.100.28
Ns1.gldn.net 10978 IN A 194.67.2.108
Ns2.gldn.net 10972 IN A 195.218.218.8
$ host -v www.spb.ru.
Rcode = 0 (Success), ancount=1
The following answer is not authoritative:
The following answer is not verified as authentic by the server:
Www.spb.ru 2053 IN A 195.190.101.3
For authoritative answers, see:
Www.spb.ru 48154 IN NS ns.nevalink.ru
Www.spb.ru 48154 IN NS ns1.gldn.net
Www.spb.ru 48154 IN NS ns2.gldn.net
Ns.nevalink.ru 51480 IN A 195.190.100.28
Ns1.gldn.net 10348 IN A 194.67.2.108
Ns2.gldn.net 10342 IN A 195.218.218.8
Пояснений требует числовое поле, появившееся в ответе host . Вызвав host несколько раз, можно заметить, что его значение постоянно уменьшается, что не удивительно, так как это поле содержит TTL — время жизни записи в зоне.
Под Linux вы можете использовать параметр -vv , вызывающий вывод информации о процессе получения DNS-записей.
Выбор типов записей: параметры -a и -t
Еще два важных параметра команды host — -a и -t . Параметр -a означает -t ANY в Linux и -v -t any во FreeBSD, поэтому разберем значение параметра -t .
Этот параметр используется для задания типа DNS-записей, которые вас интересуют. Поддерживаются типы записей A, NS, MD, MF, CNAME, SOA, MB, MG, MR, NULL, WKS, PTR, HINFO, INFO, MX, UINFO, UID, GID, UNSPEC. Обратите внимание, что в Linux тип записи можно указвать в любом регистре, а во FreeBSD — только строчными буквами (a, ns, cname и т. п.). Если параметр -t не указан, то Linux по умолчанию производит поиск записей типа A, если указан параметр -l (см. ниже) — то типов A, NS, PTR. FreeBSD при неуказанном параметре -t производит поиск записей типов A и MX, при указанном параметре -l — еще и PTR и NS. Linux-версия host также поддерживает тип записи MAILB, означающий любой тип из MB, MR, MG или MINFO. Вместо указания параметра -t MAILB можно указать параметр -m ; в этом случае также будет произведено рекурсивное раскрытие записей типов MR и MG до MB. Листинг зоны: параметр -l При помощи команды host с параметром -l можно получить листинг целой зоны. Для указания типов записей, которые вас интересуют, используйте параметры -a и -t . Имейте в виду, что листинг зоны генерируется при помощи запроса AXFR на передачу зоны и выделения нужной информации из полученной. Это означает, что параметр -l создает дополнительную нагрузку на сеть и DNS-сервера, поэтому использовать его следует как можно реже. Кроме того, многие системные администраторы так настраивают свои DNS-сервера, что они не отдают зону «кому попало», отказывая в обработке запроса AXFR (при этом FreeBSD-версия host даже не потрудится внятно объяснить вам, что произошло):
$ host -l slashdot.org
Slashdot.org AXFR record query refused by ns2.andover.net
Slashdot.org AXFR record query refused by ns3.andover.net
Slashdot.org AXFR record query refused by ns1.andover.net
No nameservers for slashdot.org responded
$ host -l slashdot.org
Server failed: Query refused
Под Linux вы можете создать полную копию зоны, пригодную для «скармливания» bind, при помощи команды host -Z -a -l (и записать ее в файл, добавив -f имя_файла).
Прочие параметры
Как известно, DNS представляет собой рекурсивную систему. Если DNS-сервер не находит информацию, запрошенную у него, он инициирует рекурсивный запрос к «вышестоящему» серверу.
Команда host имеет возможность для предотвращения этого: параметр -r запрещает производить рекурсивные запросы: опрашивается только DNS-сервер по умолчанию. Этот параметр работает практически одинаково и под Linux, и под FreeBSD, но вывод команды в том случае, когда запись не найдена, слегка отличается:
$ host -r www.spb.ru
Www.spb.ru A record currently not present
$ host -r www.spb.ru
Как видно, FreeBSD просто ничего не выводит.
Команда host , в принципе, может использоваться не только в сети Интернет. Параметр -c позволяет задать класс записей, которые нас интересуют. Поддерживаются классы записей IN, CHAOS, HS, HESIOD (по умолчанию используется IN). Под Linux также поддерживаются классы INTERNET, CS, CSNET, CH. Для указания всех классов можно использовать ключевое слово ANY (под Linux также можно использовать символ *, только не забудьте заэкранировать его от шелла).
Для вывода отладочной информации используйте параметр -d (под Linux его можно продублировать — -dd — для увеличения количества отладочной информации).
В FreeBSD-версии host ключ -s используется для работы с DNSSEC (Linux-версия не работает с DNSSEC, ключ -s используется для указания тайм-аута DNS-сервера в секундах).
Параметры, описанные в этом разделе, специфичны для Linux-версии host.
Рекурсивные листинги: параметр -L Парамер -L задает уровень рекурсии при выводе листинга зоны. Например, команда:
$ host -l -a -L 1 some.zone
Выведет листинг зоны some.zone, а также всех ее делегированных зон.
Увеличение уровня рекурсии увеличивает глубину просмотра делегированных зон. Все, сказанное о нежелательности применения параметра -l , имеет еще большее значение при применении комбинации -L -l .
Статистика: параметр -S Указание параметра -S при получении листинга зоны выводит статистическую информацию о числе найденных записей различных типов, количестве хостов различных типов, количестве делегированных зон и т. п.:
$ host -l -a -S freshmeat.net
Freshmeat.net. SOA freshmeat.net. dns-admin.freshmeat.net.
Использование определенных DNS-серверов: параметры -p и -P
Параметр -p указывает при получении листинга зоны использовать только основной (primary) DNS-сервер. Имя основного DNS-сервера определяется при помощи записи SOA рассматриваемой зоны.
Параметр -P позволяет указать список предпочтительных доменов (через запятую). Будет использоваться DNS-сервер, имеющий наибольшее число совпадений компонентов имени с одним из указанных доменов. Использование этих параметров видно на следующем примере:
$ host -vv -p -l piter.com
Trying server 195.239.142.33 (ns.piter.com) .
$ host -vv -P hellix.piter.com -l piter.com
Finding nameservers for piter.com .
Query done, 2 answers, status: no error
The following answer is not authoritative:
Piter.com 3308 IN NS ns.piter.com
Piter.com 3308 IN NS hellix.piter.com
Ns.piter.com 85293 IN A 195.239.142.33
Hellix.piter.com 3308 IN A 193.125.199.13
Found 1 address for ns.piter.com
Found 1 address for hellix.piter.com
Trying server 193.125.199.13 (hellix.piter.com) .
Пропуск зон: параметр -N
Параметр -N позволяет указать список зон (через запятую), информация о которых не требуется. Обычно он применяется совместно с параметром -L .
Linux: расширенный синтаксис Задав параметр -x , вы можете использовать так называемый расширенный синтаксис команды host , передавая ей не одно, а несколько имен хостов. Поскольку каждое имя в этом случае трактуется как имя хоста, информацию о котором необходио получить, то для указания DNS-сервера, который нужно опрашивать, используется параметр -X . Если указан параметр -X , то -x подразумевается.
Расширенный синтаксис позволяет запустить host вообще без имен хостов, передавая их впоследствии на стандартный вход программы. Одна строка может содержать несколько имен хостов, но если в строке появляется символ # или;, то ее остаток игнорируется.
Linux: специальные режимы
Одним из специальных режимов, поддерживаемых утилитой host, является режим передачи зоны, активируемый параметром -l . В Linux-версии утилиты имеется еще несколько специальных режимов, все из которых, за исключением одного, являются вариациями режима -l .
Вариации режима передачи зоны
Параметр -C аналогичен параметру -l , но вызывает различные проверки зоны, в частности, проверяется, действительно ли каждый из DNS-серверов, перечисленных в NS-записях для зоны, способен дать авторитетный (authoritative) ответ на запрос о зоне. Выполняются также прочие проверки корректности зоны.
Параметр -H также аналогичен параметру -l , вызывая передачу зоны, хотя он не выводит информации о записях. Вместо этого производится подсчет количества A-записей в зоне. Принимаются специальные меры (см. man 1 host) для того, чтобы принимать во внимание только «настоящие» хосты. Сочетание параметров -H -S позволяет получить подробную статистику зоны:
$ host -H -S freshmeat.net
Found 34 A records within freshmeat.net
Found 4 NS records within freshmeat.net
Found 9 CNAME records within freshmeat.net
Found 2 SOA records within freshmeat.net
Found 4 MX records within freshmeat.net
Found 32 hosts within freshmeat.net
Found 9 duplicate hosts within freshmeat.net
Found 12 extrazone hosts within freshmeat.net
Found 1 gateway host within freshmeat.net
Found 0 delegated zones within freshmeat.net
Параметры -G , -D , -E выводят имена соответственно хостов-шлюзов (gateway), дублирующихся хостов и внезонных (extrazone) хостов. При этом под шлюзом понимается хост, имеющий более одного IP-адреса, под дублирующимся хостом понимается хост с ровно одним IP-адресом, которому также соответствует несколько имен (возможно, из разных зон — это может означать ошибку в зоне). Под внезонным хостом для зоны some.zone понимается хост вида host.something.some.zone, где something.some.zone не является делегированной зоной.
Режим проверки адресов
Последний не разобранный нами режим Linux-версии утилиты host — режим проверки адресов, инициируемый параметром -A . При этом производятся следующие действия:
* Если в качестве аргумента было указано имя хоста, то определяется его адрес, по которому определяется имя хоста, и проверяется на совпадение с исходным именем.
* Если в качестве аргумента был указан IP-адрес, то определяется соответствующее ему имя хоста, после чего проверяется, входит ли исходный IP-адрес в список IP-адресов для найденного имени хоста.
* Если параметр задан совместно с параметром -l , то описанные действия производятся для каждой A-записи в зоне.
Алексей Выскубов ,
Как узнать имя компьютера (hostname) в Linux
Нужно узнать Hostname компьютера. Как это можно сделать в Linux?
Способ 1 (hostname)
Узнать имя компьютера можно используя команду hostname. Выполните в терминале команду:
hostname
В результате отобразится имя компьютера, например:
$ hostname pingvinus
Способ 2 (hostnamectl)
Еще один способ, это использование команды hostnamectl. Выполните в терминале:
hostnamectl
Будет выведена информация о системе, включая hostname (см. первую строку Static hostname):
$ hostname Static hostname: pingvinus Icon name: computer-desktop Chassis: desktop Machine ID: … Boot ID: … Operating System: Ubuntu 1.2.3 Kernel: Linux 4.15.0-33-generic Architecture: x86-64
Способ 3 (cat ..)
cat /proc/sys/kernel/hostname
Способ 4 (uname)
uname -n
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы ставить лайки
Другие вопросы и ответы
- Лена скачивает дистрибутив ОС Linux (задача по информатике)
- Denwer для Linux
- Какой командой можно изменить прокси для всей системы?
- Как узнать информацию по оперативной памяти (ОЗУ, оперативку) в Ubuntu Linux?
- Как изменить меню GRUB (граб)?
Категории вопросов:
- Ubuntu
- Интернет и сети
- Командная строка
- Работа с файлами
- Оборудование и драйвера
- Программы и игры
Форум
по Linux
Руководство
по Ubuntu
Аналоги программ
Windows vs Linux
Новое в галерее
Комментарии
Комментариев пока не было.
Как узнать имя домена linux
hostname — вывести или установить системное имя хоста
domainname — вывести или установить NIS/YP доменное имя
dnsdomainname — вывести DNS доменное имя
nisdomainname — вывести или установить NIS/YP доменное имя
ypdomainname — вывести или установить NIS/YP доменное имя
СИНТАКСИС
hostname [ -v ] [ -a ] [ —alias ] [ -d ] [ —domain ] [ -f ] [ —fqdn ] [ -i ] [ —ip-address ] [ —long ] [ -s ] [ —short ] [ -y ] [ —yp ] [ —nis ]
hostname [ -v ] [ -F имя_файла ] [ —file имя_файла ] [ имя_файла ]
domainname [ -v ] [ -F имя_файла ] [ —file имя_файла ] [ имя ]
hostname [ -v ] [ -h ] [ —help ] [ -V ] [ —version ]
ОПИСАНИЕ
Hostname — это программа, предназначенная для вывода либо установки текущего имени машины или домена системы. Это имя используется множеством сетевых программ для идентификации машины. Доменное имя также используется системами NIS/YP.
При запуске без аргументов, программы выводят следующие текущие имена: When called without any arguments, the program displays the current names:
hostname выводит имя системы, возвращаемое функцией gethostname(2) .
domainname, nisdomainname, ypdomainname выводит имя системы, возвращаемое функцией getdomainname(2) . Это имя также называется YP/NIS доменным именем системы.
dnsdomainname выводит доменную часть FQDN (Fully Qualified Domain Name, Полностью Определенное Доменное Имя). Полное FQDN имя системы возвращается командой hostname —fqdn .
При запуске с одним аргументом или опцией —file , программы устанавливают имя машины или NIS/YP доменное имя.
Заметьте, что только суперпользователь может изменять эти имена.
С помощью команды dnsdomainname невозможно установить FQDN имя или доменное имя DNS (см. FQDN ниже).
Имя машины обычно устанавливается один раз при старте системы в скриптах /etc/rc.d/rc.inet1 или /etc/init.d/boot (как правило, оно считывается из соответствующего файла, содержащего это имя, например /etc/hostname ).
С помощью этих команд нельзя сменить FQDN имя (возвращаемое hostname —fqdn ) или доменное имя DNS (возвращаемое dnsdomainname ). FQDN имя системы — это имя, возвращаемое системой разрешения имен (резолвер, resolver(3) ) для имени машины.
Технически это выглядит так: FQDN — это имя, возвращаемое функцией gethostbyname(2) для имени машины, возвращаемого функцией gethostname(2) . Доменное имя DNS системы — это часть вышеопределенного имени, следующая за первой точкой.
Поэтому способ смены имен сильно зависит от конфигурации (задаваемой обычно в файле /etc/host.conf ). Как правило (если файл со списком имен машин обрабатывается до запуска DNS или NIS) они могут быть изменены в файле /etc/hosts .
ОПЦИИ
Вывести псевдоним хоста (если он есть).
Вывести имя домена DNS. Не используйте для этого команду domainname , поскольку она выводит имя домена NIS, а не DNS. Вместо нее используйте команду dnsdomainname .
-F, —file имя_файла
Прочитать имя хоста из указанного файла. Строки, начинающиеся символом `#’, считаются комментариями и игнорируются.
Вывести FQDN (Fully Qualified Domain Name, Полностью Определенное Доменное Имя). FQDN состоит из короткого имени машины и имени домена DNS. Если Вы не используете BIND или NIS для поиска хостов, Вы можете изменить FQDN и имя домена DNS (являющееся частью FQDN) в файле /etc/hosts .
Вывести краткую подсказку и завершиться.
Вывести IP адрес хоста.
Вывести короткое имя хоста. Это имя машины до первой точки.
Вывести информацию о версии на стандартный вывод и успешно завершиться.
Выводить дополнительную информацию.
Вывести доменное имя NIS. Если при этом задан параметр имя (либо задана опция —file имя_файла ), то суперпользователь может также задать новое доменное имя NIS.
ФАЙЛЫ
АВТОР(Ы)
Bernd Eckenfels, < net-tools@lina.inka.de > (NIS и страница руководства).
Index
Закладки на сайте Проследить за страницей | Created 1996-2023 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |
Помощь
Основные сетевые команды Unix-подобных операционных систем: соединение, домены
Для любой команды, которая существует на Unix-системах, вы можете просмотреть справку с полным описанием синтаксиса и всех допустимых параметров. Для этого в командной строке выполните команду:
man где - это название той команды, по которой вы хотите получить справку.
man ping
Для завершения выполнения любой команды, если она не завершилась автоматически, используйте сочетание клавиш “Ctrl+C”.
Все утилиты, приведенные ниже, должны быть установлены на вашу операционную систему прежде, чем использовать вызывающие их команды. В некоторых случаях они устанавливаются по умолчанию на ОС. Например, для использования whois на ОС CentOS нужно предварительно выполнить команду установки этой утилиты:
#yum install jwhois
Соединение с сервером
Используйте следующие команды для проверки соединения с сервером.
ping — проверяет есть ли связь с удаленным компьютером, посылает ему так называемый ICMP ECHO_REQUEST.
Самый простой синтаксис:
ping
где — IP уддаленного компьютера, с которым вы хотите установить связь.
Если DNS работает корректно, то вместо IP_адреса допустимо использовать имя удаленного хоста. Например,
ping gmail.com
nmap — утилита для сканирования портов и исследования сети.
Эту команду можно использовать для проверки, открыты ли порты на удаленном хосте. Например,
nmap -p10-100
проверяет, открыты и порты на хосте с IP-адресом ip в диапазоне от 10 до 100.
mtr — утилита для трассировки соединения с удаленным хостом. Например,
mtr google.com
выводит следующий результат:
Сведения о домене
whois — утилита для получения подробной информации о домене. Например,
whois google.com
выведет всю открытую информацию о домене google.com. Если эти сведения избыточны, используйте команду с параметрами. Например,
whois google.com | grep -iE ‘nserver|status|nameser|state’
man whois
для получения сведений обо всех параметрах утилиты.
dig — утилита, которая дает возможность обращаться из командной строки к серверу DNS.
Самый простой синтаксис команды:
dig ya.ru
Команда выведет общую информацию о сервере имен домена ya.ru
Опросите определенный DNS сервер командой с параметром
dig @ns1.yandex.ru ya.ru
В полученном ответе к общей информации добавляются секции AUTHORITY SECTION и ADDITIONAL SECTION. В них содержатся имена и IP-адреса серверов, которые обрабатывали запрос, соответственно.
Для просмотра всех ресурсных записей DNS сервера используйте следующий синтаксис команды
dig ANY
dig any google.com
Для получения сведений о конкретной ресурсной записи используйте синтаксис
dig где - название ресурсной записи, - имя домена.
dig mx google.com
выдаст информацию об mx-записях домена google.com
Запросить данные о полной зоне домена можно, используя параметр AXFR. Например,
dig AXFR ya.ru @ns1.yandex.ru
Результатом последней команды может быть ошибка, поскольку в домене ya.ru эта информация конфиденциальна.
dig +trace
для трассировки маршрута к домену через все промежуточные серверы имен.
host — утилита для выполнения разных запросов к DNS-серверу. Обычно используется для получения IP-адресов по имени домена. Например,
host google.com
выдаст все возможные IP-адреса домена google.com.
Более подробная информация об использовании host содержится в справке man host.
Перезапуск сервисов
Используйте следующую команду для перезапуска сервиса на любой unix-подобной операционной системе:
systemctl start/restart/stop где - имя сервиса.