LINUX.ORG.RU
ФорумAdmin

Пересылка почты с одного домена на другой

 , , ,


1

1

Добрый день! Есть два почтовых сервера в одной подсети. Требуется пересылать почту между двумя доменами. Например, от user@domain.ru к user1@mx.ru. В самих доменах почта клиентам доставляется без проблем.

ns1.domain.ru

/etc/bind9/named.conf.local]

zone "domain.ru " {

        type master;

        file "/etc/bind9/db.domain.ru.conf";

};

zone "mx.ru  " {

        type master;

        file "/etc/bind9/db.mx.ru.conf";

};

"/etc/bind9/db.domain.ru"

;

; BIND data file for domain.ru zone

;

$TTL604800

@INSOAdomain.ru. root.domain.ru. (

      5; Serial

604800; Refresh

  86400; Retry

2419200; Expire

604800 ); Negative Cache TTL

;

@IN     NS        ns1.domain.ru.

@IN     MX    1 ns1.domain.ru.



ns1       IN      A 192.168.10.2

client1  IN      A 192.168.10.3



srv         IN       CNAME    ns1.domain.ru.

client    IN        CNAME    client1.domain.ru.



"/etc/bind9/db.mx.ru"

;

; BIND data file for mx.ru zone

;

$TTL604800

@IN SOA mx.ru. root.mx.ru. (

      5;       Serial

604800; Refresh

  86400;   Retry

2419200; Expire

604800 ); Negative Cache TTL

;

@IN     NS        ns1.domain.ru.

@IN     MX    2  ns2.mx.ru.



ns1       IN      A 192.168.10.2

ns2       IN      A 192.168.10.4

client1  IN      A 192.168.10.3





srv         IN       CNAME    ns1.domain.ru.

client    IN        CNAME    client1.domain.ru.

srvr       IN        CNAME    ns2.mx.ru.

На ns1 прописал в /etc/resolv.conf


search domain.ru

nameserver 192.168.10.2

На ns2 прописал в /etc/resolv.conf


search mx.ru

nameserver 192.168.10.2

Команды, nslookup, dig mx domain.ru(mx.ru) отрабатывают на обоих серваках. В почту так же заходит с доменными учётками. на ns1.domain.ru почта отправляется самому себе и клиенту внутри этого домена. Пытаюсь отправить письмо от user1@domain.ru на user2@mx.ru, возвращает ошибку.

user2@mx.ru
SMTP error from remote mail server after RCPT TO: <user2@mx.ru>:
hosts ns2.mx.ru[192.168.10.4]: 550 "Auth required"

так же на ns1.domain.ru выполняю команду

exim -bt user1@mx.ru
R: dnslookup for user1@mx.ru
user1@mx.ru is  is undeliverable: all relevant MX records point to non-existent hosts.
Кто сталкивался с такой проблемой?

Явно проблема в named. Кто что подскажет?



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

Ответ на: комментарий от Aborigen1020
root@ns1:~# dig mx@ns1.domain.ru mx.ru

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> mx@ns1.domain.ru mx.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 55310
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;mx\@ns1.domain.ru.                        IN      A

;; AUTHORITY SECTION:
domain.ru.                 604800  IN      SOA     domain.ru. root.domain.ru. 10 604800 86400 2419200 604800

;; Query time: 4 msec
;; SERVER: 192.168.10.2#53(192.168.10.2)
;; WHEN: Wed Sep  5 04:13:19 2018
;; MSG SIZE  rcvd: 72

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41667
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;mx.ru.                                IN      A

;; AUTHORITY SECTION:
mx.ru.                 604800  IN      SOA     mx.ru. 
root.mx.ru. 9 604800 86400 2419200 604800

;; Query time: 1 msec
;; SERVER: 192.168.10.2#53(192.168.10.2)
;; WHEN: Wed Sep  5 04:13:19 2018
;; MSG SIZE  rcvd: 65
Rayman24
() автор топика
Последнее исправление: Rayman24 (всего исправлений: 1)
Ответ на: комментарий от Rayman24

ну раз с ns1 делаешь, тогда по другому:

dig mx @mx.ru domain.ru
так мы спросим про МХ-записи у днс-сервера mx.ru для зоны domain.ru

С обоих серверов проверить таким образом, проверить друг друга.

Aborigen1020
()
Ответ на: комментарий от Aborigen1020

вообще можно поступить иначе - в /etc/hosts прописать друг друга, и проверить резолвинг, если все ок - проверить почту.

Что-то не так с чем-то, не могу понять, с чем именно - в глаза ничего не бросилось. А может не хватает знаний. у меня unbound стоит на почтовике.

Вот здесь глянуть

На ns2 прописал в /etc/resolv.conf

search mx.ru

nameserver 192.168.10.2

разве не 192.168.10.4 должно быть? так на ns1, в зоне mx.ru написано.

Aborigen1020
()
Ответ на: комментарий от Rayman24

на ns2 bind`a нет? Если 1 dns-сервер обслуживает 2 домена, то наверное так и должно быть указано.

в любом случае нужно настроить зону так, чтобы dig по запросу выше нормально отдавал МХ-записи, да и остальные записи для конкретного домена. Что, кстати, с обратной зоной? PTR для почты критичен.

Попробуйте с /etc/hosts дать вручную запись. ребут не нужен. После можно проверить резолв. Далее уже telnet`om в 25 порт стучать.

Aborigen1020
()
Ответ на: комментарий от Aborigen1020

Вот обратная зона

;
; BIND reverse data file for domain.ru zone
;
$TTL    604800
@     IN      SOA     domain.ru. root.domain.ru (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@     IN      NS      ns1.domain.ru.

2     IN      PTR     ns1.domain.ru.
3     IN      PTR     client1.domain.ru.
4     IN      PTR     ns2.mx.ru.

Rayman24
() автор топика
Ответ на: комментарий от Rayman24

Слишком много букв. Особенно в ситуации, когда ты пытаешься анонимизировать данные. Раздели вопросы. Сначала добейся того, чтобы host -t mx <домен> показывал везде правильные MX-записи, потом переходи к MTA. И не надо полных конфигов зон.

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

Покажи что в логах bind при запуске, при загрузке файлов зон, при входящих запросах из разных доменов.

Aborigen1020
()
Ответ на: комментарий от AS

Что значит анонимизировать данные? Я не виноват что тег разметки cut здесь как то криво работает.

root@ns1:~# host -t mx domain.ru
domain.ru mail is handled by 1 domain.ru.
root@ns1:~# host -t mx mx.ru
mx.ru mail is handled by 2 mx.ru.
Rayman24
() автор топика
Последнее исправление: Rayman24 (всего исправлений: 2)
Ответ на: комментарий от Rayman24

почему вы считаете что описка?

Потому что у вас есть ns2.mx.ru как основной NS своей зоны, но не указан в этом качестве. А если вы указываете NS-ы из других зон, то это вторичные серверы для secondary (slave) зон. Оно у вас работает только потому, что у вас судя по конфигу — один сервер с двумя адресами и вообще вы что-то темните с аномизацией, как тут уже сказали.

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

Мда. в конфигах изменены домены и айпи. Всё. Что значит один сервер с двумя адресами? Опишу так: Есть 2 почтовых сервера. 1) ns1.domain.ru (192.168.10.2) на нём поднят DNS(bind9), почтовик Exim4. 2) ns2.mx.ru (192.168.10.4) Настроен почтовик Exim4. 3) Нужно чтобы с @domain.ru письма слались на @mx.ru и наоборот. Конфиги bind9, который крутится на ns1.domain.ru выложил выше.

Rayman24
() автор топика
Ответ на: комментарий от vodz

Вообщем вот до чего дошел. Видимо проблема все таки с MX записью, для domain.ru и mx.ru. Как их правильно добавить?

root@ns1:~# exim -bt user1@mx.ru
R: dnslookup for abi1@nku.ru
user1@mx.ru is undeliverable: all relevant MX records point to non-existent hosts
root@ns1:~# exim -bt user1@ns2.mx.ru
R: dnslookup for user1@ns2.mx.ru
user1@ns2.mx.ru
  router = dnslookup, transport = remote_smtp
  host ns2.mx.ru [192.168.10.4]

Но при отправке в thunderbird от user1@mx.ru на user@ns1.domain.ru выдает ошибку:

user1@ns2.mx.ru
SMTP error from remote mail server after RCPT TO:<user1@mx.ru>:
host ns2.mx.ru [192.168.10.4]: 550 "Auth required"
Rayman24
() автор топика
Ответ на: комментарий от Rayman24

Мда.

Вы бы не мдакали, а вчитались что вам пишут. Если у вас разные сервера, то на одном должна быть одна master-зона одна, на другом — другая, а для надёжности (или если они не публично зареганы) вторые зоны должны держать как взаимно-slave. Как вы сделали, так тоже бы работало (но глупо, это какой-то недокластер), если б вы указали у зоны mx.ru свой NS в этой же зоне, иначе получается ошибка авторитативности: вы указываете, что NS у вас в другой зоне, на другом сервере, а он и не догадывается, что вы будете раздавать зону как держатель и не подтверждает.

vodz ★★★★★
()
Ответ на: комментарий от vodz

1) ns1.domain.ru (192.168.10.2) на нём поднят DNS(bind9), почтовик Exim4. 2) ns2.mx.ru (192.168.10.4) Настроен почтовик Exim4.

у него только 1 dns-сервер, который должен обслуживать 2 зоны - mx.ru и domain.ru. На втором почтовике bind не используется.

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

Aborigen1020
()
Ответ на: комментарий от vodz

Все же немного недопоняли его.

Так, у меня bind9 настроен на ns1.domain.ru

Конфиги bind9, который крутится на ns1.domain.ru

ну просто хорошее название сервера, короткое и ясное - ns. Почему бы не указать его для двух почтовиков? ;)

Aborigen1020
()
Ответ на: комментарий от Aborigen1020

Все же немного недопоняли его.

Опять 25. Вы русский понимаете? «Он сам отрицает» означает, что это я это ему и сказал.

почему бы не указать его для двух почтовиков? ;)

Для этого он и хочет сделать (и правильно) 2 разных mx-а.

vodz ★★★★★
()
Ответ на: комментарий от vodz

он хочет одним сервером обслуживать две зоны, на ns2 у него даже не установлен bind. ns2 - просто название сервера-почтовика.

почему игнорируете его слова и додумываете за ТС?

Наверное, ваш навык телепатии более прокачанный, нежели мой

Aborigen1020
()
Ответ на: комментарий от Aborigen1020

Совершенно верно! Проблема решается следующим образом. На почтовых серверах в конфигурационном файле /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt Если закоментить строки Код:

#deny
#    message = "auth requried"
#    hosts = *:+relay_from_hosts
#    !authenticated = *
Но вопрос с правильностью указания mx зоны все еще остается, чтобы письмо отправлялось на адрес user1@mx.ru, а не как сейчас у меня на user1@ns2.mx.ru

Rayman24
() автор топика
Ответ на: комментарий от Aborigen1020

он хочет одним сервером обслуживать две зоны, на ns2 у него даже не установлен bind

Тут и не надо было телепатии, ибо это было в стартовом сообщении топика. Но как и большинство ошибок, их невозможно исправить автоматически, так как возможно несколько вариантов. Вот смотрите. А должно быть domain.ru mail is handled by 1 ns1.domain.ru. И что прикажете думать? ТС правит зоны, но не правит serial? А может просто уже заврался со своей аномизацией?

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.