Alias host что это
hostname в CentOS
Введение
Имя хоста — это уникальная метка, которая идентифицирует машину в сети.
Должна существовать таблица соответствия между hostname и IP адресом это нужно для для маршрутизации пакетов.
Хост может иметь несколько имён, но предпочтительным является вариант, когда имя одно.
Так как CentOS 7 поддреживает только Fully Qualified Domain Names (FQDNs), советую тщательно проверить hostname, который вы планируете использовать.
Узнать имя своего хоста
Существует несоколько способов узнать имя своего хоста.
Часто для этого достаточно просто посмотреть в терминал
Пример моего терминала
[andrei@ localhost Downloads]$
Посмотреть порядок можно выполнив
Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 35e254eda578c54084b96e06d5f285cf Boot ID: afb44fef8d764f30bb89550849b02fde Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.36.2.el7.x86_64
Изменить имя хоста
С помощью команды hostname
hostname dns-server
hostname
Если заново открыть терминал изменения будут видны в командной строке.
Это имя хоста сохранится только до перезагрузки системы
Если выполнить hostnamectl видно, что помянелось только динамическое имя хоста
Static hostname: localhost.localdomain Transient hostname: dns-server Icon name: computer-vm Chassis: vm Machine ID: cff8a80b9c356243b5238452511a8ade Boot ID: 64d9ddab85ec4c219ac46c6a2940e628 Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.42.2.el7.x86_64 Architecture: x86-64
С помощью hostnamectl
hostnamectl set-hostname dns-server.andrei.com
hostname
Это постоянное изменение. Т.е. новое имя хоста имеет класс persistent.
pretty name
Чтобы задать pretty name нужно воспользоваться кавычками
hostnamectl set-hostname «andrei’s.host.com»
hostnamectl
Static hostname: andreis.host.com Pretty hostname: andrei’s.host.com Icon name: computer-vm Chassis: vm Machine ID: cff8a80b9c356243b5238452511a8ade Boot ID: 64d9ddab85ec4c219ac46c6a2940e628 Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.42.2.el7.x86_64 Architecture: x86-64
В /etc/hostname отображается только static hostname
pretty hostname можно увидеть в файле /etc/machine-info
hosts
Изучить информацию об именах других хостов можно в файле hosts
В моём примере в сети есть два хоста:
dns-server.andrei.com с IP адресом 192.168.56.149
host113.andrei.com с IP адресом 192.168.56.113
Зайдём на него с помощью ssh и посмотрим, есть ли у него записи об именах других хостов в сети.
Для наглядности я теперь буду показываеть приглашение терминала чтобы было видно имя хоста.
Выполним ping по IP
По IP пингуется успешно
И ping по hostname
ping: dns-server.andrei.com: Name or service not known
host113 не знает как разрешить имя dns-server.andrei.com
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Добавим запись о dns-server.andrei.com
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.149 dns-server.andrei.com
Теперь всё работает
alias
Чтобы не писать длинные имена хостов можно придумать alias
192.168.56.149 dns-server.andrei.com vbdns
Обратите внимание на dns-server.andrei.com
Хоть пинг и был по алиасу, ответ идёт как от static fqdn
Если поменять порядок так, что vbdns идёт первым а FQDN dns-server.andrei.com вторым, но dns-server.andrei.com будет считаться алиасом
192.168.56.149 vbdns dns-server.andrei.com
В таком случае ответ будет идти от vbdns
Это может стать важным при работе с сертификатами
Что такое алиас домена и как его создать
Сейчас подробно изложу, зачем использовать алиасы, чем они отличаются от обычной переадресации и как сделать свой алиас, конечно. Обо всем по порядку.
Как работает основной домен
Канонический домен — это ваш сайт. Набор файлов и ресурсов, которыми вы делитесь с потенциальным посетителем. Считайте, что это главная страница. Та, что вы создали первой после приобретения доменного имени. Пусть будет apple.com. Она индексируется поисковыми службами. На ее данные ссылаются алиасы, все поддомены и привязанные сайты.
Что такое алиас домена и зачем он нужен?
Алиас — это дополнительный ресурс, который предоставляет посетителю доступ ко всему контенту с основного домена без переадресации. Допустим, человек хотел зайти на ваш сайт moysait.com, но не вспомнил суффикс и написал moysait.org. В случае с алиасом произойдет одно из двух:
Типы алиасов
Вебмастеры создают связанные адреса нескольких типов в зависимости от поставленных задач. Вот некоторые из них:
Справедливости ради, отмечу, что ya.ru отличается от страницы yandex.ru визуально и отражает сокращенное название в минималистичном дизайне без дополнительных функций. То есть это не стандартный алиас.
Недостатки и неудобства, связанные с алиасами
Синонимы настроить легче, чем переадресацию, но переадресация полезнее для индексации в поисковиках. При наличии одной работающей ссылки весь трафик будет проходить через нее и позитивно влиять на ранжирование сайта. Алиасы же могут перетягивать одеяло на себя.
А еще при наличии рабочих алиасов с опечатками у пользователей могут возникнуть лишние вопросы. Увидев какой-нибудь taimweb.com, он, вероятно, засомневается в том, что это официальный ресурс.
Чем отличается синоним от переадресации
Несмотря на то, что алиас и переадресация (редирект) приводят к одному и тому же сценарию для пользователя, технически они отличаются. Как я уже писал выше, алиасы показывают контент с основной страницы на разных адресах. Редирект же меняет ссылку и фактически отправляет человека на другой сайт.
Переадресация автоматически срабатывает при попытке ввести название популярного сайта с ошибкой. К примеру, facbook.com автоматически перенаправит на официальную страницу соцсети, то есть на facebook.com. А вот как работает переадресация Pinterest:
А еще редирект отправляет поисковой системе код 301 или 302 в зависимости от настроек сервера. Так он дает понять поисковику, стоит ли индексировать адрес, с которого сработало перенаправление (301), или его можно удалить (302).
Как создать алиас домена на VDS в TimeWeb
Чтобы добавить синоним домена, надо отредактировать конфигурационные файлы Nginx и Apache.
Сначала настраиваем Nginx. Поочередно открываем файлы:
nano /etc/nginx/site_available/название—сайта.conf
Ищем там строчку server_name и прописываем названия синонимов через пробел от канонического домена. Например:
server_name timeweb.com taimweb.com timeweb.ru
Потом открываем конфигурационный Apache:
nano /etc/nginx/site_available/название—сайта.conf
Находим внутри строку ServerAlias и после основного домена через пробел прописываем дополнительные. Например:
ServerAlias www.timeweb.com timeweb.ru
Затем проверяем внесенные изменения и перезапускаем серверы.
Склейка сайтов
Если у вас уже есть несколько сайтов, то их можно «склеить» в один для корректной индексации со стороны поисковых систем. В зависимости от выбранного поисковика процесс склейки может отличаться.
Это все, чем я хочу с вами поделиться. Теперь вам известно, что такое алиас домена и как его создать. Известно, как с ним работать и чем он отличается от редиректа. Необходимый базис получен.
Что такое алиас сайта
При использовании алиаса можно увеличить трафик интернет-площадки. Но его неправильные параметры приведут к блокировке сайта. Что такое алиас, как его определить и правильно настроить — в нашей статье.
Алиас сайта — что это
Алиас (с англ. alias — псевдоним) — это варианты написания адреса интернет-ресурса (домена) в строке браузера. Его второе название — зеркало. Сайт-двойник полностью отражает содержание и функционал основного сайта, отличие лишь в URL-адресе. То есть сайт www.site.ru и site.ru (без www) будут идентичны.
Менее распространены зеркала с сокращенным названием веб-ресурса. Например, домен bestsite.ru, а его упрощенная версия bstst.ru.
Для чего нужен алиас сайта
Разработчики используют алиасы, чтобы:
Алиасы применяют и в создании дополнительных адресов электронной почты. Их можно использовать, если основное имя ящика слишком длинное. Адрес будет легче назвать по телефону или разместить на визитке. Все письма объединяются в основном ящике.
Алиас сайта: хорошо или плохо
Среди положительных характеристик можно назвать следующие:
У алиаса, который настроен неправильно, есть минусы:
Как определить алиас сайта
Чтобы определить какой домен является основным, воспользуйтесь одним из сервисов:
Алгоритм действий на всех ресурсах одинаков: вводите url сайта и кликайте на кнопку «Проверить». Рядом с полем ввода появится информация о домене и алиасах по запрашиваемой ссылке.
Также информация о редиректах находится в панели вебмастера Яндекса или Google. При помощи сервисов домен можно назначить основным или зеркалом.
Особенности индексации
Индексация сайта — это внесение в базу данных поисковых систем информации о всех характеристиках сайта (его контенте, дизайне, домене и др.). Индексация важна для поискового продвижения, ведь от этого будет зависеть посещаемость сайта.
Директива « host » указывает поисковым системам, какой домен считать основным.
Заключение
Правильная настройка и применение алиаса повышают посещаемость ресурса. Использовать зеркало с « www » без перенаправления нельзя. Яндекс и Google наложат штрафные санкции. В результате пессимизации сайт потеряет ранее занимаемые позиции и количество переходов из поисковых систем.
DON’T PANIC!
HOSTALIASES for IP
HOSTALIASES
Трюк будет работать только если удовлетворяются два условия для работы программы:
используется getaddrinfo(3) или gethostbyname(3) для резолвинга имён;
Второе условия интересное, к примеру ping имеет установленный setuid бит для пользователя root, поэтому хосты, описанные через HOSTALIASES с ним работать не будут.
Но в наш век тотального интернета на любой чих уже придуман свой сервис. Логика простая: если мы не можем указать IP, то мы должны указать доменное имя, да такое, что бы оно раскрылось в нужный нам IP.
С ним всё очень просто: скрываем IP адрес в виде под-домена и весь этот под-домен резолвится в нужный нам адрес. Трудно для восприятия? Поэтому вот простой пример:
На сайте приведены и другие форматы имени, можете поиграться с любыми.
Последнюю строчку можно добавить в стартовые скрипты, что бы не вводить каждый раз. После чего можно запустить, допустим, Firefox:
SSH, удалённая отладка и все все все
Теперь вопрос, а для чего это может пригодится?
У меня, как обычно, возникла необходимость удалённой отладки (в этот раз не сильно) через Qt Creator. Для доступа к устройству используется SSH, но с достаточно хитрой конфигурацией, все параметры которой нельзя передать через диалог настройки устройства в QtC. Да и доступ этот нужен через консоль, для того же ssh, scp. Я всегда такие хитрые настройки выношу в
В диалоге настройки QtC для Generic Linux Device можно указывать короткое SSH имя и SSH часть это прекрасно поймёт, но как только дойдёт время до запуска отладчика, то ничего путнего вы не получите: тот же самый синоним используется как имя хоста для подключения к gdb-server на удалённом хосте, про который система разрешения доменных имён понятия не имеет.
/.ssh/config и запись:
Более сложный вариант
Для более сложного варианта не нужен трюк с сервисами типа xip.io/nip.io, но всё же.
подключиться к внешнему хосту;
с него подключиться к внутреннему хосту.
Конфигурация ssh для такого подключения может выглядеть так:
Здесь хоть и наворочено, но при детальном разборе всё достаточно просто и логично. Для подключения достаточно набрать:
Вопрос: а что записать в
Но понятным он от этого не становится 🙂 Дело в том, что достучаться по IP, без VPN (можно поднять SSH VPN) к dev_remote мы ни при каких условиях не сможем, поэтому, самый простой способ, это использовать тот же самый SSH и пробросить отладочный порт gdb-server на localhost и направлять gdb на него.
И именно тут кроется небольшое ограничение: в настройках QtC для устройства нужно указать ОДИН отладочный порт (Free Ports в настройках Generic Linux Device в QtC) и именно его пробросить (номер порта локального и удалённого должны быть идентичны):
Команду нужно запускать заново после перезагрузки удалённой машины.
Устройство в локальной сети, но нет интернета
Или нет доступа к сервисам xip.io/nip.io (с роскомпозором станется).
Тут, как обычно, варианта два:
или использовать тот же подход, что и для удалённого сервера, с алиасом на localhost и пробросом порта вручную.
Вместо заключения
В копилку возможностей удалённой отладки прибыло. Доступ через “бастион” можно расширить, когда совсем ничего нет, сеть, допустим, домашняя, нет белого IP, пусть даже динамического, но есть возможность запустить Any Desk. Да, пусть это закрытое коммерческое решение, но оно позволяет пробрасывать порты. А этого уже достаточно для организации SSH доступа на удалённую машину и запуска отладки.
Posted by Alexander Drozdov Dec 24, 2020 Tags: Linux Soft hosts programming remote debug
Is it possible to alias a hostname in Linux?
Is it possible to alias a hostname in Linux?
It has been asked by jmillikin at various Ubuntu forums as follows:
7 Answers 7
For those who don’t have an account on the forums (or don’t wish to login):
if your main issue is not to ping but to ssh, you can create/edit your
/.ssh/config adding lines like these:
Linux supports aliasing by setting the HOSTALIASES env variable.
N.B. ping requires you to set this up as root, but you can do it as any user for any application that runs as that user. ping suids to root.
You can setup this on your DNS server, CNAME records allow a machine to be known by more than one hostname. So add CNAME records to your DNS server like that :
I often do this with environment variables. I know this only works for the command line, but it is where I am most often craving hostname aliases (I worked with several supercomputer accounts, all with long URLs). Here’s an example, if you’re using BASH. In
export fakehost=»long.ass.annoying.url.org»
then, in a fresh shell:
ssh christopher@$fakehost
The only way this can be done is if you have your own local dns server.
You’ll need an dyndns server that will map your current IP address to a hostname. You’ll tell this server about your current IP address whenever you login, and it will update your hostname record.
The use of /etc/hosts.aliases is a standard feature of the bind resolver libraries. It’s more robust than adding entries to /etc/hosts and can be used if you can not add CNAMES to your DNS (don’t have access to it).
In general the best practice is to use CNAMES in the DNS with appropriate SEARCH defined in /etc/resolv.conf.
Updating /etc/hosts is not very robust as entries have to be kept in sync with IP changes. This only really works on a small scale or when you are using a name service to distribute the hosts map (eg via ldap).