Oracle linux настройка почты

Обновлено: 05.07.2024

Oracle Cloud Free Tier бесплатный виртуальный сервер VPS и проброс портов

Вот что пишет сама Oracle:

В приложении Oracle Cloud Free Tier можно создать аккаунт Oracle Cloud, в котором Вам будут доступны сервисы Always Free и бесплатная пробная версия Вашего продукта. Вместе с ней доступен бонус в размере 300 долларов США, который Вы можете потратить на тестирование любых доступных сервисов Oracle Cloud Infrastructure. Бонус, как и сама пробная версия, предоставляется на 30 дней. Сервисами Always Free можно пользоваться бессрочно. Сервисы, доступные для бесплатного тестирования, можно использовать, пока Вы не израсходуете сумму бонуса (300 долларов США) или не истекут 30 дней пробного периода (что произойдет раньше).

Часто задаваемые вопросы об Oracle Cloud Free Tier | Oracle Россия и СНГ

Сама регистрация не сказал бы, что простая, но и не сложная. Главное вводить все правдивые данные, а имя фамилию как на карте. Затем указать данные карты. Сначала спишут 0.83 евро. Затем я ждал сутки письма, пришло и как только перешел по ссылке в письме, то списали аж 10 евро, правда и в первом и во втором случаи моментально вернули деньги обратно.

Когда вы попадаете в личный кабинет то видите такую картину:

Oracle Cloud Free Tier бесплатный виртуальный сервер VPS и проброс портов

Oracle Cloud Free Tier бесплатный виртуальный сервер VPS

Все бесплатные услуги помечены соответствующим значком.

Создать виртуальную машину не сложно, но есть нюансы.


Нажимаем создать виртуальную машину


Придумываем имя и жмем Edit для выбора образа


Выбираем образ, я за Ubuntu, помеченный бесплатным .


Первый раз нужно будет создать приватную сеть

Заметьте, это первая особенность Oracle Cloud, на виртуальном сервере не будет белого общедоступного IP адреса. IP адрес будет взят из диапазона 10.0.0.0/16 так как этот диапазон создан по умолчанию. В дебрях настроек можно этот диапазон изменить, но сейчас речь не об этом. Но белый общедоступный IP адрес у вас всетаки будете, но он будет работать через NAT. И нужно будет что делать? правильно пробрасывать порты на NAT сервере. Об этом чуть позже.


Обязательно скачайте ключи.

Дело в том, что образы Oracle не поддерживают изначально доступ по паролю, только по ключу и если вы его не скачаете, то подключиться к своему виртуальному серверу не сможете. Кстати, откройте ссылку в браузере SSH Key pair тут подробно описано как подключиться к вашей виртуалке с помощью ключа и Putty.


Рекомендую выбрать размер диска

Если не выбрать размер диска, то он будет равен 46Гбайт.

Когда все выбрано смело жмем кнопку CREATE внизу страницы и начнется создание и запуск вашей первой бесплатной виртуально машины в облаке Oracle.

Вот так это будет выглядить:


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

И все бы хорошо, но как я и говорил, у вас открыт только 22 порт и виртуальный сервер находится за NAT сервером. Что бы попасть на ваш бесплатный виртуальный сервер Oracle по другому порту, например 80 или 443, вам нужно сделать несколько вещей. Первое, жмем на Virtual cloud network (на скрине выше кнопка с лева внизу).

Попадаем в такое меню, где надо выбрать Security List и затем сам лист:


Вот тут и надо разрешить требуемый порт отличный от 22



Вот так выглядит правило разрешающее доступ к виртуальному серверу по 80 порту

Но и это еще не все. Вообще все это меню в сервисе Oracle весьма запутанное и парой, что бы сделать элементарные вещи, нужн несколько часов читать документацию.

Дело в том, что оразы, которые Oracle раскатывает содержат включенный фаервол, который тоже блокирует все порты кроме 22. И соответственно нужно еще и в самой виртуалке открыть порт 80. Делается это такой командой:

Только после этого с интернета появится доступ к вашему бесплатному виртуальному серверу Oracle по 80 порту.

Но и это еще не все. Теперь нужно сохранить эти правила в конфигурацию, что бы после перезагрузки они никуда не делись. Для этого нужно добавить в файл /etc/iptables/rules.v4 следующее, но так что бы оно стояло перед REJECT :

Ох и на придумывали же они. ))))

Вот такое вот оно Oracle Cloud Free Tier бесплатный виртуальный сервер VPS и проброс портов.


В этой небольшой статье я хочу рассказать о том, как я настраивал отправку почты из Oracle и чем это закончилось. Хочу сразу уточнить две вещи: во-первых, делал я это не для рассылки спама, во-вторых, ранее я не имел дела с настройкой почтовых серверов, поскольку это лежит вне области моей профессиональной деятельности.

Настройка Oracle

Решая одну из своих задач, я столкнулся с необходимостью рассылать пользователям данные для аутентификации, т.е. логины и пароли, которые лежат в таблице. Скажем откровенно, в данный момент пользователей не сотни и не тысячи, так что можно было бы каждому отослать письмо руками, но это пару часов ручного труда – интересней ведь потратить в два-три раза больше времени, но все автоматизировать, не так ли?

На прошлом месте работы мне уже приходилось слать джобом ежемесячные отчеты на почту пользователям, так что задача не выглядела для меня чем-то экзотичным, более того, я рассчитывал, что справлюсь за соизмеримое с ручным трудом время. С другой стороны там была вся необходимая инфраструктура под рукой + специалисты нужных тематик, с которыми можно было поговорить. Здесь же не было ничего — нужно разбираться самому.

Накатывать это нужно из-под пользователя SYS, нормально установить пакет из Command Window PL/SQL Developer’a мне не удалось, т.е. он установился, но выдавал ошибки компиляции. Из sqlplus все установилось отлично.

После наката нужно выдать гранты на использование пакета. Некоторые авторы предлагают давать гранты на Public, но это не есть хорошая идея по причинам безопасности. После выдачи грантов нужному пользователю наша работа под пользователем SYS закончена (однако он нам еще понадобиться ситуации, когда нужно делать alter system).

Почтовый сервер

Как оказалось, для отправки почты все же нужна инфраструктура, т.е. кроме Oracle нужен почтовый сервер, которого у меня не было, а уж устанавливать и настраивать я его вообще не представлял как, да и нужно ли?

Отправка писем

После установки почтового сервера (или SMTP-прокси, как в нашем случае) нужно указать Oracle его адрес:В моем случае, Oracle и SMTP-прокси стоят на одной машине, поэтому адрес 127.0.0.1, порт 25.

Немного экспериментов с mime_type и отсылкой на разные почтовые серверы показало, что для русского текста желательно использовать 'text/html; charset=«UTF-8»'.

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

Минут через 40 оказалось, что ушло только первых 4 письма, остальные где-то застряли. Готовясь к дебагу, я отправил той же процедурой 10 писем себе на ящик. Новый пакет «протолкнул» потерянные письма и все они успешно ушли. В общем SMTP-прокси работал, хотя и с некоторым непостоянством.

Продолжение истории


Через день, занимаясь своими делами на сервере, я увидел, что SMTP-прокси отослал около 80 писем, хотя я после первой рассылки больше через него ничего не отправлял. Решил проверить ящик на gmail’e. Во входящих красовалось три пачки писем:

  1. Поскольку почту отправлять планировалось не часто и целыми пакетами, то можно оставить все как есть, т.е. включать почтовый прокси только на время отправки писем – наиболее дешевое по времени решение.
  2. Можно досконально разобраться с темой почтовых серверов и либо корректно настроить данный, либо сменить его на более надежный – довольно дорогой по времени вариант, к тому же в дальнейшем мне эти знания будут абсолютно бесполезны.
  3. Найти воркэраунд, с использованием имеющихся знаний – затраты по времени не известны.
  4. Найти разбирающегося в почтовых серверах знакомого.

Варианты

В БД Oracle существует несколько средств работы с почтой. Среди них для отправки писем имеется два пакета: UTL_MAIL и UTL_SMTP.

UTL_MAIL

Из соображений безопасности, изначально этот пакет не настроен. Как следствие, перед использованием пакет необходимо установить:

UTL_SMTP

Отправка письма

Кодировка

Чтобы составить письмо в правильной кодировке, необходимо выяснить какой язык установлен в региональных настройках БД Oracle.

Далее, во время передачи заголовков письма необходимо передать параметры кодировки текста:

Чтобы правильно читалась тема письма, ее необходимо перекодировать в UTF8. Это можно сделать с помощью следующей функции:

Тогда передавать тему письма следует следующим образом:

Авторизация на SMTP-сервере

Если почтовый сервер требует авторизации, то после установки и проверки соединения необходимо передать логин и пароль.

Работа UTL_SMTP по зашифрованному каналу (SSL)

В первую очередь следует подчеркнуть, что UTL_SMTP не поддерживает соединение по SSL. Для обхода этой проблемы необходимо использовать дополнительные средства, позволяющие перенаправлять данные через SSL соединение. Из множества возможных вариантов удобно использовать Stunnel (на такое решение натолкнула заметка PL/SQL and Gmail (or UTL_SMTP with SSL)).

Stunnel прост в установке и настройке. Имеется версия для Windows и Linux. Загрузить необходимые файлы можно с сайта Stunnel. Установка под Windows не вызывает никаких вопросов. Сборка из исходников под Linux требует наличия библиотеки SSL. Если таковая отсутствует, подойдет OpenSSL.

После успешной установки необходимо настроить транспорт с помощью конфигурационного файла stunnel.conf. Местонахождение файла:

  • для Windows: %SYSTEMROOT%/system32/stunnel.conf
  • для linux: по-умолчанию установка идет в /usr/local, соответственно файл находится в /usr/local/etc/stunnel/stunnel.conf

В этом файле необходимо указать следующие настройки:

Если все настроено верно, то должен появиться примерно такой ответ:

Завершить соединение можно командой quit.

Установка прав доступа ACL (только для Oracle 11g)

Чтобы пользователь Oracle имел возможность устанавливать соединение с помощью пакета UTL_SMTP, ему необходимо создать соответствующие разрешения.

Финальный пакет для работы с UTL_SMTP

Собирая все вместе, получился вот такой пакет для отправки писем по SSL каналу.

Как настроить почтовый сервер в Linux

Настраиваем почтовый сервер в Linux

На текущий момент времени в открытом доступе находится несколько настраиваемых почтовых серверов, и каждый из них обладает своими особенностями. Мы сосредоточим свое внимание на самых популярных и востребованных решениях, уделив время и дополнительным компонентам. За пример будет взят дистрибутив Ubuntu, а для обладателей RedHat представлены отдельные команды, если отличия от указанных будут иметься. Перед началом разбора каждого этапа предлагаем ознакомиться с вводной и очень важной информацией, которая позволит разобраться в общем принципе работы рассматриваемой системы.

SMTP и компоненты почтовой службы

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

Шаг 1: Инсталляция Postfix

Ранее мы уже уточнили, какой инструмент взяли за пример. Если вас этот выбор не устраивает, инсталлируйте любую другую утилиту и переходите к ее конфигурации по указанным в следующих шагах инструкциям, учитывая новые особенности. Иногда в стандартной сборке дистрибутива сервер Postfix уже установлен, что можно проверить командой grep postfix , однако в большинстве случаев его приходится инсталлировать самостоятельно, что мы и продемонстрируем далее.

Переход к терминалу для дальнейшей установки Postfix в Linux

Команда для запуска установки почтового сервера Postfix в Linux через терминал

Подтверждение подлинности профиля для установки сервера Postfix в Linux

Ожидание скачивания компонентов Postfix в Linux перед установкой

Информация об основных настройках почтового сервера Postfix в Linux

Выбор оптимальной конфигурации основных настроек почтового сервера Postfix в Linux

Ожидание завершения установки Postfix в Linux через терминал

Команда для добавления почтового сервера Postfix в Linux в автозагрузку

Ввод пароля для добавления почтового сервера Postfix в Linux для автозагрузки

Команда для активации работы сервера Postfix в Linux

Пароль для подтверждения активации работы сервера Postfix в Linux

Шаг 2: Настройка установленного сервера

    Как известно, конфигурация в Linux осуществляется путем изменения строк в специальных файлах. Для этого используется удобный текстовый редактор. Новичкам может быть сложно освоить vi, поэтому мы советуем установить сначала более простое решение. Для этого введите в консоли команду sudo apt install nano и нажмите на Enter.

Установка текстового редактора для конфигурации Postfix в Linux

Ожидание завершения установки текстового редактора для конфигурации Postfix в Linux

Запуск конфигурационного файла для редактирования Postfix в Linux

Настройка имени хоста в конфигурационном файле Postfix в Linux

Настройка домена в конфигурационном файле Postfix в Linux

Настройка параметра myorigin в конфигурационном файле Postfix в Linux

Настройка параметра mydestination в конфигурационном файле Postfix в Linux

Переход к сохранению конфигурационного файла Postfix в Linux после внесения изменений

Выбор названия для конфигурационного файла Postfix в Linux после изменений

Выход из текстового редактора после внесения изменений в Postfix в Linux

Перезапуск Postfix в Linux после внесения изменений

Если по каким-то причинам рассмотренный только что файл не был создан, то при его открытии вы получите информацию о том, что это новый объект. Соответственно, он будет полностью пустым и все важные строки придется создать самому. Конечно, необходимый код можно найти в интернете, но вам будет достаточно скопировать и вставить следующую информацию.

queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix

myorigin = $mydomain
inet_interfaces = $myhostname, localhost
mydestination = $myhostname, localhost.$mydomain, $mydomain
default_transport = smtp
alias_database = hash:/etc/aliases
mailbox_command = /usr/local/bin/procmail

smtpd_banner = $myhostname ESMTP READY
smtpd_client_restrictions = permit_mynetworks, reject_unknown_client
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_address, reject_non_fqdn_sender, reject_invalid_hostname
smtpd_recipient_restrictions = permit_mynetworks, permit_mx_backup, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, check_relay_domains, reject_unknown_client, reject

local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
debug_peer_level = 2
debugger_command =
PATH=/usr/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

После останется просто сохранить все эти изменения и внести правки, соответствующие вашим требованиям.

В качестве примера отметим одну опцию, которая выглядит следующим образом:

Шаг 4: Настройка безопасности

Из представленных выше руководств вы уже знаете, что Postfix и другие серверы взаимодействуют с устройствами через сеть. Если соединение не будет защищено, вполне возможна ситуация совершения атак с целью похитить данные или нарушить стабильность работы ОС. Проще всего организовать правила безопасности с помощью системы OpenSSH, но для начала ее требуется установить и выполнить основную конфигурацию. Детальнее об этом читайте в других материалах на нашем сайте, воспользовавшись приведенными ниже ссылками.

Огромной популярностью пользуется протокол OpenSSL, поэтому во многих документациях показаны варианты настройки почтового сервера именно с помощью этого инструмента. Примеры команд выглядят так:

openssl genrsa -des3 -out mail.key
openssl req -new -key mail.key -out mail.csr
cp mail.key mail.key.original
openssl rsa -in mail.key.original -out mail_secure.key
openssl x509 -req -days 365 -in mail.csr -signkey mail_secure.key -out mail_secure.crt
cp mail_secure.crt /etc/postfix/
cp mail_secure.key /etc/postfix/

Они отвечают за генерацию и получения ключа безопасности. Дополнительно потребуется внести изменения в файл /etc/postfix/main.cf , добавив такие строки:

smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/mail_secure.crt
smtpd_tls_key_file = /etc/postfix/mail_secure.key
smtp_tls_security_level = may

После выполнения подобной процедуры не забудьте перезагрузить и проверить сервер, чтобы убедиться в корректности его функционирования.

Шаг 5: Установка и конфигурация Dovecot

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

    В консоли введите команду sudo apt-get -y install dovecot-imapd dovecot-pop3d и нажмите на Enter. Для обладателей RedHat команда выглядит немного иначе: dnf -y install dovecot .

Команда для установки вспомогательного компонента Dovecot в Linux

Подтверждение установки вспомогательного компонента Dovecot в Linux

Ожидание установки вспомогательного компонента Dovecot в Linux

Добавление компонента Dovecot в Linux в автозагрузку

Ввод пароля для добавления компонента Dovecot в Linux в автозагрузку

Команда для активации компонента Dovecot в Linux

Запуск конфигурационного файла Dovecot в Linux для дальнейшей настройки

Настройка конфигурационного файла компонента Dovecot в Linux

protocols = imap pop3 lmtp
listen = *, ::

userdb driver = pam
>

ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

Для межсетевого экрана потребуется отдельно ввести следующее:

$ iptables -A INPUT -p tcp --dport 110 -j ACCEPT
$ iptables -A INPUT -p tcp --dport 995 -j ACCEPT
$ iptables -A INPUT -p tcp --dport 143 -j ACCEPT
$ iptables -A INPUT -p tcp --dport 993 -j ACCEPT

$ iptables -A INPUT -p tcp --dport 25 -j ACCEPT

Для FirewallD эта структура выглядит немного иначе:

Как видите, процесс конфигурации действительно сложный, однако при соблюдении инструкций все пройдет быстро и без каких-либо трудностей. К сожалению, в рамках одной статьи просто невозможно уместить все моменты взаимодействия с Postfix, поэтому советуем изучить материалы на официальном сайте, если в этом возникла необходимость.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

В данном посте будет рассказано про базовую настройку сети в операционных сетях на базе ОС Linux. Будут рассмотрены следующие вопросы:

  • Файлы, в которых прописываются сетевые настройки
  • Настройка сети на примере – связь двух виртуальных машин

В Oracle Enterprise Linux есть несколько способов настройки сети. Она производится либо через пользовательские интерфейсы, которые записывают введенные значения в необходимые конфигурационные файлы либо изменения можно вносить напрямую в необходимые конфигурационные файлы. После внесения любых изменений в файл необходимо перезагрузить ОС, либо перезапустить сервис сети (см. ниже), либо отключить сетевой интерфейс, а затем снова включить его, чтобы изменения вступили в силу. В большинстве систем Linux для этой цели можно использовать команды ifdown интерфейс или ifup интерфейс (см. ниже). Все настройки и файлы, описанные ниже, актуальны для операционной системы Oracle Linux 7.

Файлы, в которых прописываются сетевые настройки

Для начала рассмотрим файл /etc/sysconfig/network. В нем описываются сетевые настройки, касающиеся сетевого имени хоста и шлюза по умолчанию. Сетевое имя хоста прописывается в HOSTNAME, шлюз по умолчанию – в GATEWAY. Редактирование всех сетевых файлов должно осуществляться с привилегированными полномочиями (root или sudo).

Далее пример конфигурации адаптера ifcfg-enp0s3 со статическим IP-адресом. Для того, чтобы настроить адаптер ifcfg-enp0s3 для работы со статическим IP-адресом, надо с помощью текстового редактора (например, nano или vi) изменить файл /etc/sysconfig/network-scripts/ifcfg-enp0s3. А именно, добавить строки с указанием нужного IP-адреса, маски подсети, шлюза и DNS (IPADDR, PREFIX, GATEWAY, DNS1). Также, необходимо изменить значение параметра BOOTPROTO с dhcp на none. Параметр BOOTPROTO отвечает за то, как интерфейс получит IP-адрес.

Файл /etc/hosts содержит информацию, помогающую при локальном преобразовании имен.

В файле /etc/resolv.conf находится расположение DNS сервера(ов) для преобразования имен.

После всех настроек, необходимо перезапустить интерфейс, чтобы изменения вступили в силу. Делаем это командами ifdown и ifup.

Альтернативный вариант – перезапуск сервиса сети, отвечающего за сеть:

Далее проверяем новые настройки сети командой ifconfig. Команда выведет на экран несколько интерфейсов, нас интересует только лишь наш enp0s3.

Настройка сети на примере – связь двух виртуальных машин

Далее, настроим сетевое соединение между двумя виртуальными машинами. Для этого необходимо проделать вышеописанные настройки сетевых интерфейсов на двух виртуальных машинах, распределив между ними IP-адреса и маски подсети так, чтобы они оказались в одной логической подсети.

После того, как адресация и интерфейсы машин в ОС настроены, перейдем к настройке непосредственного соединения виртуальных машин через интерфейс гипервизора – в нашем случае, используя настройки Virtual Box.

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

Изменение типа подключения с NAT на Сетевой мост для первой машины.


Изменение типа подключения с NAT на Сетевой мост для второй машины.


Проверка сетевых настроек командой ifconfig.



Проверка связи командой ping. Обе машины видят друг друга в локальной сети.

Читайте также: