LINUX.ORG.RU
ФорумAdmin

Проблема с почтой на перенаправлении портов.

 , , , ,


1

2

Доброе утро!

  1. Есть сервер на debian 11, на нем 2 интерфейса (1 внутренняя сеть , 2 внешняя сеть ) шлюз внутри 192.168.1.1 ,
  2. Ушли с яндекс почты, купили комп поставили на него отдельную убунту дали адрес 192.168.1.110
  3. Поставили полностью mailcow на этот комп,настроили и все хорошо ( СОГо работает безупречно из любой сети, на основном сервере настроили апач2 с летсенкрипт), все записи доменного имени сделаны, почта уходит и приходит. Но есть НО!
  4. Почта внутри сети через приложение ThunderBird подключается только по ip-адресу 192.168.1.110 по доменному имени нашей почты mail.spasibovam.ru не хочет вообще. Оутлук и БАТ! даже не хотят подключатся по ip, ни с шифрование 993 ни без него 143, все порты проброшены. Многие люди то сидят в офисе, то уходят домой, то балду гоняют дома и кричат что им неудобно сидеть через СОГо когда настроена птица, некоторые кричат на птицу в пользу Оутлука..

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



Последнее исправление: ialex767 (всего исправлений: 1)
Ответ на: комментарий от ialex767

Ну если самому, то попробуй начать с документации, там, емнип, dovecot используется в сборке. Как намек, у тебя на указанном адресе ни 993, ни 143, ни 443 порты никто не слушает.

Anoxemian ★★★★★
()

по доменному имени нашей почты mail.spasibovam.ru не хочет вообще

Доменное имя резолвит внешний адрес? Типичный nat loopbak, или в локальный dns добавляйте запись mail.spasibovam.ru == 192.168.1.110 или через nat правьте, но лучше первый вариант иначе в логах потом сложно будет проблемы искать

Оутлук и БАТ! даже не хотят подключатся по ip, ни с шифрование 993 ни без него 143

Bat не знаю, у ounглюка нужно IMAP: 993 SSL, SMTP 465 SSL, причем он любит при настройки почты сбрасывать эти порты и нужно заходить и по новой править. Ну и логи смотрите:

docker compose logs --tail 50 -f dovecot-mailcow
docker compose logs --tail 50 -f postfix-mailcow

Kolins ★★★★
()
Последнее исправление: Kolins (всего исправлений: 1)

У тебя, видимо, есть некоторый внешний IP адрес, на который повешено доменное имя mail.spasibovam.ru.

И порты почтового сервера пробрасываются (NAT`ятся) с этого адреса на адрес 192.168.1.110.

При подключении из внешнего мира к почтовому серверу по доменному имени mail.spasibovam.ru осуществляется DNAT, входящие пакеты с внешним IP адресом назначения пробрасываются на IP адрес 192.168.1.110. В качестве IP адреса источника остаются IP адреса внешних клиентов (в Inernet). Почтовый сервер их принимает, обрабатывает и ответные пакеты отсылает на шлюз 192.168.1.1, т.к. адреса источников пакетов в сети Inernet, т.е. доступны только через шлюз.

Шлюз делает преобразование (подменяет адрес отправителя на внешний IP адрес) и отсылает пакеты клиентам в Inernet. И пакеты нормально доходят до клиентов.

Когда клиенты подключаются из внутренней сети по доменному имени mail.spasibovam.ru, то они узнают, что это доменное имя соответствует внешнему IP адресу и попадают на шлюз 192.168.1.1.

Тут у тебя либо делается DNAT на IP адрес 192.168.1.110, шлюз пересылает пакеты на 192.168.110. Либо не пересылает, если у тебя неправильно настроен DNAT, например, если DNAT делается только на внешнем интерфейсе.

Если DNAT всё же делается, то на 192.168.1.110 поступают пакеты, в которых в качестве адреса источника указан IP адрес клиента внутри сети.

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

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

Либо поднять внутри сети свой DNS сервер и в нём сразу прописать, что доменное имя mail.spasibovam.ru соответствует адресу 192.168.1.110.

И указать это DNS сервер на клиентах внутри сети.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)