Как установить доменное имя в GNU /Linux

Как я могу изменить имя_хоста Exim4 на коробке Debian?

Какой-то удаленный SMTP-сервер, на который я пытаюсь доставить почту, отказывается принимать HELO с моего сервера:

504 5.5.2 : Helo command rejected: need fully-qualified hostname

По-видимому, мой сервер Exim4 отправляет в localhost качестве своего полного доменного имени. Поиск в сети и куча файлов конфигурации, я узнал, что значение, отправленное как FQDN во время HELO, берется из primary_hostname переменной конфигурации.

Мой вопрос: как правильно изменить эту переменную в системе Debian? Я предполагаю, что я могу просто жестко закодировать значение в одном из файлов конфигурации Exim4, но, по-моему, это будет иметь больше смысла, если значение автоматически соответствует /etc/mailname или какой-либо другой централизованной конфигурации имени.

У меня есть ощущение, что ответ на мой вопрос можно найти в этом тексте в вики Debian :

Имя, используемое exim в EHLO / HELO, извлекается из опции конфигурации primary_hostname . Конфигурация Debian exim4 по умолчанию не установлена primary_hostname . Затем exim по умолчанию использует uname (), чтобы найти имя хоста. Если этот вызов возвращает только один компонент, gethostbyname () или getipnodebyname () используется для получения полного имени хоста.

Если ваш exim HELOs называется localhost.localdomain, то, скорее всего, у вас неправильно настроен / etc / hosts, созданный некоторыми версиями установщика Debian. В этом случае, пожалуйста, исправьте ваш / etc / hosts.

К сожалению, я недостаточно знаком с администрацией Linux-сервера, чтобы точно знать, что все это значит 🙁

Ваш файл / etc / hosts должен содержать как минимум две записи. Первая запись должна иметь вид:

второй должен иметь вид:

Вы также должны убедиться, что ваш файл / etc / hostname содержит полное доменное имя сервера и что при запуске hostname -f возвращается полное доменное имя сервера. Если вы убедитесь, что все это правильно, и перезапустите exim, вы должны начать видеть его HELO должным образом.

Я изменил / etc / hostname с локального имени компьютера на полное доменное имя. hostname -f все еще сообщает «localhost». Часть о / etc / hosts в вашем ответе выглядит ошибочной — как должна выглядеть первая запись?

Хотя по- hostname -f прежнему выдается сообщение «localhost», похоже, что смена / etc / hostname сделала свое дело — теперь я могу доставить свою почту. Я все еще хотел бы видеть недостающую часть вашего поста, хотя 🙂

/etc/hostname обычно не содержит полного доменного имени в системах Debian, только краткое имя хоста.

Ну, первая строка /etc/hosts может быть 127.0.0.2 mydomain.com myhostname ( 127.0.0.2 работает так же, как 127.0.0.1 , поскольку loopback является сетью класса A). Возможно, вы можете объединить две строки в одну 127.0.0.1 mydomain.com myhostname localhost , но localhost это каноническое имя хоста 127.0.0.1 , не так ли? Это все, учитывая, что у вас есть имя хоста, а не FQDN в качестве вашего имени хоста. Кроме того, изменение /etc/hostname не вступает в силу немедленно, вы должны hostname myhostname . Или перезапустите сервер.

Если вы используете один файл конфигурации, задайте для переменной PRIMARY_HOST_NAME желаемое имя:

Например, в /etc/exim4/exim4.conf:

или установите MAIN_HARDCODE_PRIMARY_HOSTNAME в update-exim4.conf.conf, если вы используете разделенную конфигурацию файла.

Чтобы быть в безопасности, перезапустите exim.

Просто обратите внимание, что указанный хост не может быть в кавычках, иначе exim отправляет, HELO ‘mybox.mydomain.com’ что прерывает отправку почты в Google, возможно, другим.

Я не могу найти упоминания об этом имени переменной «PRIMARY_HOST_NAME» в документации. Где ты нашел это?

В Debian вы должны запустить update-exim4.conf после изменения конфигурации. И перезагрузка вообще не нужна после этого.

. ну в exim общем похоже замечают изменения в конфиге без перезагрузки. Но, возможно, перезагрузить безопаснее, так как я полагаю, что сам демон не перечитывает конфигурацию до перезагрузки. Затем вы заставляете его звучать так, как будто он /etc/exim4/exim4.conf может содержать только строку выше , но в тот момент, когда вы создаете файл, он /var/lib/exim4/config.autogenerated игнорируется .

. «Разветвленные процессы, которые exim запускает для получения SMTP или запуска очереди, будут использовать новый файл конфигурации, в то время как исходный главный exim-daemon будет по-прежнему использовать старый файл конфигурации». Таким образом, для отдельного файла конфигурации лучше всего использовать /etc/exim4/exim4.conf.localmacros для разделения /etc/exim4/conf.d/main/000_localmacros (файлы в main dir обрабатываются в первую очередь). И запустить update-exim4.conf + systemctl reload exim4 после внесения изменений.

Первичное имя хоста запрашивается во время установки exim4. Вы можете запустить команду

пройти через подсказки снова.

Насколько я знаю, если вы уже используете «разделенную конфигурацию» (много маленьких файлов в /etc/exim4/conf.d) и решили придерживаться этого при появлении запроса, dpkg -configure не должен перезаписывать ни один из ваши существующие изменения конфигурации, отличные от настроек, которые он запрашивает, но, как всегда, вы должны сначала сделать резервную копию, чтобы быть в безопасности.

Похоже, он только запрашивает «почтовое имя [которое] должно быть единственным полным доменным именем (FQDN)». Тем не менее, эта настройка уже верна, и HELO по-прежнему говорит «localhost».

То, о чем вы говорите, — это почтовое имя, к которому приходит сюрприз, сюрприз /etc/mailname . По умолчанию он используется для определения неквалифицированных адресов . Те, которые состоят только из имени пользователя. Добавляя доменное имя из /etc/mailname . Полученный адрес используется в From заголовке.

primary_hostname Переменная заполняется в соответствии с полным доменным именем (FQDN) системы. В Debian и связанных с ними систем это , как правило , формируется с использованием содержимого из /etc/hostname и /etc/hosts файлов. Файл имени хоста должен содержать краткое имя хоста (например foo ), а файл хостов должен содержать запись, разрешающую foo в foo.bar.baz , то есть имя хоста с суффиксом домена (обычно совпадающее с записью DNS).

Вывод команды hostname (без каких-либо параметров) вернет первое, а hostname -f вывод вернет второе.

Файл имени хоста, как правило, заполняется после установки, и файл хостов может быть отредактирован так, чтобы в нем была еще одна запись, кроме записей localhost по умолчанию, — она ​​должна иметь форму:

Три столбца должны быть разделены пробелами или табуляцией, это не имеет значения. IP-адрес может быть 127.0.0.1, как и localhost, но часть имени хоста совпадает с именем хоста системы, а средняя часть должна быть FQDN, то есть именем хоста с суффиксом домена.

Чтобы убедиться, что линия работает, просто запустите hostname -f и убедитесь, что она возвращает полное доменное имя вашего сервера.

Наконец, перезапустите exim, например, с помощью:

После этого вы должны начать видеть это привет. Его переменную можно проверить, запустив:

(Примечание: изначально я делал это как редактирование ответа от 2009 года, но он был отклонен. Первоначально я исправлял то, что не нужно было повторять запись по умолчанию на локальном хосте, просто объясните, каким должно быть добавление; объясните, какой Можно использовать IP-адрес; объяснить, что такое полное доменное имя; объяснить, как проверить сам exim.)

/usr/sbin/exim4 -bP primary_hostname не работает Вы можете проверить имя хоста HELO, отправив тестовое электронное письмо либо на проверку подлинности port25 , либо на любой другой почтовый ящик, где вы можете увидеть оригинал. Подробнее об этом здесь . Рассмотрите возможность обновления вашего ответа.

Он отлично работает на моей стабильной машине Debian (растяжка). Можете ли вы объяснить, точно, это не работает для вас? Обратите внимание, что в документации по exim.org/exim-html-current/doc/html/spec_html/… четко сказано, что по умолчанию helo_data это $primary_hostname . В системах Debian вы можете переопределить его, используя REMOTE_SMTP_HELO_DATA переменную, но если вы просто правильно указали свое основное имя хоста, это не обязательно.

Я полагаю, что пытался, и он жаловался на то, что не принял аргумент. Но не могу воспроизвести это сейчас, так что не бери в голову, мой плохой. Что касается «если вы просто правильно задали основное имя хоста», то обычно не принято, что имя хоста должно разрешаться во что-либо. Итак, давайте скажем «если вы зададите имя хоста так, как вас ожидает exim . » и оставите это на этом 🙂

Извините, но я не думаю, что было бы разумно делать какие-либо специальные выводы из долгой дискуссии на уровне Debian более десяти лет назад за чистую монету. Было бы более полезно, если бы вы указали на какой-то программный документ относительно такой вещи.

Это лучшее, что я мог найти. Если вы можете найти что-нибудь лучше или доказательство ваших слов, я был бы рад, если вы скажете мне. Пока все, что я могу сказать, это то, что даже в эти дни есть люди, которые не ставят имя хоста /etc/hosts . И все, что я прошу, это не называть должным то, что не принято.

после добавления той же строки в / etc / hosts, hostname -f вернет ваше полное доменное имя

Другими словами, myhostname идет /etc/hostname (сопровождается hostname myhostname ). И 127.0.0.1 mydomain.com myhostname.com localhost идет в /etc/hosts . Плюс перезагрузите на exim всякий случай.

У меня та же проблема. Мне нужно изменить имя хоста почты, потому что некоторые письма не работают, когда они были отправлены. С этой ошибкой:

Поэтому я изменяю его в /etc/exim.config параметре primary_hostname

Некоторый код этого файла:

в WHM перейдите в Exim Configuration Manager -> Расширенный редактор

прокрутите вниз, пока не найдете «Добавить дополнительные параметры конфигурации» (большая синяя кнопка) и щелкните по нему.

Как установить доменное имя в GNU /Linux?

Аналогично имени хоста, которое можно изменить по-разному:

  • временно используя команду hostname
  • с помощью /etc/hostname (или /etc/sysconfig/network или /etc/HOSTNAME , эти файлы используются сценариями инициализации)

Я хочу изменить свое доменное имя. Я могу использовать команду domainname , но есть ли способ сделать ее постоянной при перезагрузках? Я думаю, что его можно настроить в /etc/resolv.conf , но этот файл обычно генерируется, и я точно не знаю разницу между search и domain . И в какое время именно информация передается программе domainname для установки имени домена?

У вас есть идеи по этому поводу?

Я хотел бы быть в основном совместимым между дистрибутивами. Поэтому, если у кого-то есть указатели на разные дистрибутивы, я с радостью принимаю их.

2 thoughts on “ ? Как правильно изменить имя пользователя на Linux ”

  • ? Как отложить запуск службы systemd
  • ? Как изменить цвет вывода команд в системах Linux
  • ?️ Решение ошибки unzip unsupported compression method 99
  • ? Как создать пользовательскую страницу ошибки 404 в NGINX
  • ? Примеры команд runlevel в системах Linux

Форум русскоязычного сообщества Ubuntu

*

Страница сгенерирована за 0.122 секунд. Запросов: 25.

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Как изменить имя домена Debian Linux

я никогда не был в состоянии полностью понять, как изменить Linux имя хоста и имя домена, и теперь он возвращается и кусает меня снова — мой Linux имя домена пустое ( domainname дает (none) ) и я просто не могу изменить его обратно:

я перезагружался несколько раз, и мое доменное имя все еще пустое. Выше после нескольких перезагрузок.

  1. использование псевдонима имя хоста в /etc/hosts для конкретного полного доменного имени однако, чтобы быть правильным ответом, я уже сделал это, см. выше localhost.my.domain.org запись. Я не поставил свое имя хоста (Коралл) в /etc/hosts потому что я не хочу, чтобы мое имя хозяина разрешить 127.0.0.1 но на реальный IP, который я получил с моего DNS сервера.
  2. я отследил hostname -f , но не может понять любую проблему из журнала. Я могу поставить его здесь, если кому интересно.

как следствие, существует обширная (сетевая) задержка запуска и остановки sendmail сервер.

обновление:

сегодня hostname -f , hostname -d & dnsdomainname все работает нормально. Я ничего не делал, кроме того, что снова отследил hostname -f . Я должен был отследить новый файл, но не сделал этого. Так что сейчас он работает, и я до сих пор не знаю, почему он работает сейчас, и почему он не работал раньше. Более того, даже когда все работает, мой sysctl kernel.domainname по-прежнему (none) . Это так странно и запутанно.

и вышеуказанная (сетевая) задержка подключения к моему серверу sendmail также исчезла. Поэтому мой вывод таков все, что я делал, было правильно, но каким-то образом это мистически занимает большое количество времени для моего Ubuntu 17.04 понял это.

во всяком случае, я приму ответ Якегулда, поскольку у него есть что-то новое в том, как использовать sysctl и kernel.hostname .

Спасибо всем, кто помог!

Изменяем имя компьютера в Linux

Для работы в сети компьютерам присваивают разные имена, для того чтобы их было легче идентифицировать в сети. И, как правило, это делается во время установки системы. А если мы решили его изменить после установки, что тогда.
В виндовс мы знаем как сменить имя компьютера (Компьютер — Свойства — Имя компьютера), как же это сделать в линукс?
Для начала нужно отредактировать файл /etc/hosts и /etc/hostname. Открывать их нужно с правами администратора, всё таки системные файлы.
Как это сделать в линукс минт?

Кликаем правой кнопкой мыши на нужный файл и выбираем из контекстного меню Открыть как администратор.

host

Правим имя выделенное красным прямоугольником на любое новое и сохраняем файлы.

hosts

Изменяем имя компьютера в этих файлах

После этого выполняем перезагрузку системы. Вот и всё!

:)

Если всё ещё не понятно, то смотрим видео

С уважением, Сергей Фомин.

Дорогой читатель! Вы посмотрели статью до конца. Получили вы ответ на свой вопрос? Напишите в комментариях пару слов. Если ответа не нашли, укажите что искали или откройте содержание блога.

ОЧЕНЬ ВАЖНО! Оцени лайком или дизлайком статью!

Как стать блогером

старый планшет вторая жизнь

Планшеты уходят в прошлое. Смартфоны стремительно заняли лидирующие позиции. Причина проста. В смартфонах стали

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector