Эффективный способ развернуть собственное ядро ​​на нескольких хостах

Прошло очень много времени с тех пор, как я работал с sendmailи postfix, поэтому я не могу дать вам квалифицированный совет по настройке вашего MTA.

Насколько я могу судить, ваше доменное имя в интернете - ironfi.st (см. which ironfi.st), которое также является именем вашего HTTP сервера при доступе из интернета (host ironfi.st), с (как минимум) дополнительным именем/алиасом www.ironfi.st.

Существует также MX-запись для ironfi.st, указывающая на mx-caprica.easydns.com, поэтому почта может быть доставлена на адрес someone@ironfi.st. Все эти сведения общедоступны при запросе DNS.

В чем я не совсем уверен, так это в организации вашей локальной сети/сервера, поскольку я предполагаю, что ваш сервер находится за маршрутизатором, использующим NAS с некоторыми портами, проброшенными на ваш сервер (все остальное было бы очень небезопасно). Итак, ваш хост должен иметь loopback сеть (127.0.0.x) и, по крайней мере, еще одну частную сеть для подключения к маршрутизатору. Здесь и далее я предполагаю, что ваш сервер apache основан на Linux OS, и я ссылаюсь только на настройку IPV4.

Что на первый взгляд выглядит странно, так это ваш /etc/hosts. Обычно по умолчанию там стоит что-то вроде

127.0.0.1   localhost
<privateIP> <hostname> <hostname.domainname>

Как следует из вашего mail.logя полагаю, что ваше имя хоста - ironfist-droplet; я не знаю, установлено ли ваше DNS-доменное имя. Вы можете проверить это с помощью hostname -fи dnsdomainname. Предположим, что ваш частный IP - 192.168.1.10 (только предположение!) и hostname -fвозвращает ironfist-droplet.ironfi.st, вторая строка должна быть

192.168.1.10 ironfist-droplet ironfist-droplet.ironfi.st

и для полноты вы можете иметь

192.168.1.10 ironfist-droplet ironfist-droplet.ironfi.st ironfi.st

Теперь вы можете проверить с помощью

ping localhost
ping ironfist-droplet
ping ironfist-droplet.ironfi.st
ping ironfi.st

который должен вернуть правильный IP и без потери пакетов.

Теперь к записям в mail.log:

Вы отправляете почту с rootна root (не знаю почему) через реле root@localhost. Затем отправитель кодируется как root@ironfist-droplet, который отклоняется, так как домен адреса отправителя не существует. Есть почта, возвращенная from <> to root@ironfist-droplet via relay localhost, what is the delivered; I think this is the message of the MTA to the sender that the mail could not be sent. Загляните в локальный почтовый ящик root, используя mailxили s-nail или какую-нибудь другую подобную программу.

Вы должны тщательно проанализировать конфигурацию вашего WP-MAIL-SMTP плагина (кто будет отправителем, кто получателем) и вашего sendmail (за какой домен он отвечает, каким отправителям разрешено отправлять письма, куда ретранслировать письма). Как я уже сказал, я не могу здесь ничего посоветовать. Если, например, вы хотите, чтобы письма отправлялись на someone@ironfi.st, вы должны настроить его таким образом с действительным отправителем; просто с rootна root- не очень хорошая идея.

И загляните в /var/log/mail.err, если он существует, может там есть еще какие-нибудь подсказки. Обычно он содержит только сообщения об ошибках, тогда как mail.logсодержит и сообщения об успехах.

1
23.02.2016, 23:06
2 ответа

Я не уверен, насколько похожи ваши машины, но я работал над развертыванием ядра во многих идентичных системах. Вариант 1 обычно таков, как я бы это сделал - просто отправил новое ядро ​​и модули по сети. Хотя, если у вас есть менеджер пакетов в системе, пакет rpm тоже не будет плохим способом сделать это.

Если в системе есть какие-то аппаратные различия, есть вероятность, что в ядре возникнут проблемы. Например, если на одном компьютере есть другой MAC-адрес Ethernet, вам может потребоваться включить поддержку этого конкретного оборудования.

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

1
27.01.2020, 23:36

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

  • Создание пакета в соответствии с процедурой вашего дистрибутива гарантирует, что все будет на своих местах - не только ядро, но и initramfs (если они используются), модули, сценарии обновления загрузчика, документация, информация об отладке и сборке модулей и т. Д.
  • Создание пакета позволяет отслеживать версии. Даже если машина вышла из строя или был заполнен диск во время развертывания обновления, вы можете узнать, что установлено сейчас.
  • Используя диспетчер пакетов, вы можете развернуть любое программное обеспечение, а не только ядро. Вам не нужно изобретать велосипед для каждого программного обеспечения, которое вы хотите развернуть.
  • Если в вашем дистрибутиве нет задокументированного способа создания собственных пакетов ядра, то необходимо внести предоплату. Но если это так, а я думаю, что большинство так и поступает, тогда первоначальные затраты не больше, чем сбор всех необходимых бит вручную.
1
27.01.2020, 23:36

Теги

Похожие вопросы