Цель:
1) иметь в консоли перед вводом команды, что-то типа [jd@jd ~]
2) при проверке имени хоста по ip (gethostbyaddr) показывать, что-то типа jd.fed.contact
Имею до редактирования конфигов:
1) в консоли [jd@audit-seo ~]
2) при выполнении gethostbyaddr — audit-seo.ru
Что делаю: задаю имя хоста (jd.fed.contact) в файлах: /etc/hostname /etc/hosts /etc/sysconfig/network /proc/sys/kernel/hostname /proc/sys/kernel/domainname
Перезапускаю консоль и имею вид, типа: [jd@jd ~] так и надо, так и хочу. Но стоит систему перегрузить и снова появляется изначальный hostname. А gethostbyaddr и до, и после перезагрузки системы так же возвращает audit-seo.ru
После перезагрузки в kernel/hostname и kernel/domainname появляются начальные значения.
Читал, что hostname должен состоять из [a-z0-9-]… Так и писал, без точки, результат тот же.
Ещё читал, что значение gethostbyaddr — это именно от ip зависит и за именем хоста надо обращаться к хостеру.
Так ли это?
В hostnamectl пытался изменить постоянное значение, но был посла нафиг, так как говорит, что либо постоянное, либо временное должно быть установлено.
В общем, вопросы:
1) Как задать имя хоста, которое бы возвращалось при выполнении gethostbyaddr?
2) Как задать хостнэим, чтобы в консоли отображалось именно оно и после ребута не сбрасывалось?
3) Почему именно audit-seo.ru? Откуда оно взялось? Как от него избавиться навсегда?
Если нет шаманства на стороне хостинг-провайдера, то
Посмотреть
hostnamectl
Задать имя
hostnamectl set-hostname domain.com
2) при проверке имени хоста по ip (gethostbyaddr) показывать, что-то типа jd.fed.contact
Это обратная запись DNS (PTR). Смотрите в панеле управления, в настройках сети, IP адреса. Или напишите в поддержку. Иногда хостер это делает сам, по запросу.
Насчёт первого: да, это я всё делал уже, и в файлах писал, и в конфигах, типа /usr/lib/sysctl.d/*.conf, и в командах. После ребута всё слетает.
А на счёт второго — получилось, спасибо) в SolusVM, в блоке «network» ввёл в ячейку «Reverse DNS» домен, который имеет А-запись на мой IP, перезагрузил прям с SolusVM и всё стало хорошо… касаемо gethostbyaddr.
Но вот в консоли до сих пор этот audit-seo. Где ещё можно найти это? Я так понял, после ребута заново создаются файлы kernel/hostname (туда вписывается audit-seo.ru) и kernel/domainname (туда вписывается (none)), так как только в них меняется значение. В остальных файлах /etc/hostname, /etc/hosts, /etc/sysconfig/network всё остаётся так, как указываю до ребута.
Сделал слегка иначе:
Директории cloud в etc у меня не было. Пошёл почитал об этом cloud, пришёл к тому, что можно обойтись одним cloud-init. Создал директорию cloud, там создал файл cloud.cfg, вписал туда
Я ток в одном тут слегка запутался… хостнэим ведь должен быть без точек? Но в Википедии почитал, что fqdn — это полностью определённое доменное имя, включая точку в конце. Или fqdn в конфиге cloud-init — это не совсем fqdn? Не в курсе?
John Didact, fqdn это доменное имя, как пишите в браузере. Точка в конце обычно используется в DNS записях. Где без точки это поддомен зоны, с точной полный домен.
С случае, если точка в конце FQDN не указана, обработка может быть следующей:
пропущенная точка автоматически ставится в конце большинством браузеров и другими пользовательскими программами;
доменное имя считается относительным, т.е. дополнением к имени существующего домена
Sanes, ну я не про то)
Утверждения:
1) В хостнэим должно записываться имя махины, без точек всяких, слэшей и прочего;
2) В fqdn должно быть указано полное доменное имя (fqdn — Fully Qualified Domain Name, «полностью определённое доменное имя»).
Если я пишу в fqdn полное доменное имя, то потом это же полное имя записывается в файл /proc/sys/kernel/hostname, чем нарушает первое утверждение. Или я где-то что-то не так понял?
Имелось в виду «не частная» или всё же «нечестная?»
VPS брал на fozzy, ~ $19 в месяц. Если там указано, что это Линукс VPS, то именно это и должно же быть, именно VPS, а не контейнер, да? Иначе, меня лоханули? Или норм, так и должно быть?
[jd@audit-seo ~]$ ls -l /var/log | grep cloud
[jd@audit-seo ~]$ sudo journalctl -u cloud-final
-- No entries --
Нет, пусто.
Насчёт обратного dns направили… прям носом ткнули, куда надо, вопрос с gethostbyaddr решён. Спасибо. Осталось теперь мне понять, что я делаю не так с hostname, который в консоли отображается.