
У меня проблема с правильной настройкой рабочей инфраструктуры для тестирования механизмов предотвращения почтового спуфа. Как указано на графике ниже, у меня есть 2 почтовых сервера (centos1 и 2) и 2 DNS-сервера. Для тестирования записей SPF обязательно иметь один DNS на хост.
Проблема в том, что два DNS не могут взаимодействовать друг с другом. Я имею в виду, они могут пинговаться, но я не знаю, как настроить их, чтобы они предоставляли записи A или MX для другого домена. В реальных сетях эти локальные DNS-серверы должны взаимодействовать с корневым DNS, который предоставляет доменные имена локальным. Нужно ли мне настраивать дополнительный корневой DNS-сервер? Если да, то как это сделать? Я искал почти везде в Интернете и ничего не нашел...
Например, я хочу отправить электронное письмо из[email protected]к[email protected], но когда я это делаю, демон обмена почтой выводит следующее сообщение:
<[email protected]>: Host or domain name not found. Name service error for
name=another.local type=A: Host not found
Моя текущая конфигурация для одного DNS такова (второй точно такой же, с разницей только в имени домена):
Зона атаки:
$TTL 1D
@ IN SOA dns1.example.local. root.example.local. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns1.example.local.
@ IN A 192.168.21.131
dns1 IN A 192.168.21.131
host IN A 192.168.21.131
centos1 IN A 192.168.21.128
centos2 IN A 192.168.21.129
another.local IN A 192.168.21.130
example.local IN MX 5 centos1.example.local.
Обратная зона:
$TTL 1D
@ IN SOA dns1.example.local. root.example.local. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns1.example.local.
@ IN PTR example.local.
dns1 IN A 192.168.21.131
host IN A 192.168.21.131
centos1 IN A 192.168.21.128
centos2 IN A 192.168.21.129
131 IN PTR dns1.example.local.
128 IN PTR centos1.example.local.
129 IN PTR centos2.another.local.
И named.conf
options {
listen-on port 53 { 127.0.0.1;192.168.21.131; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { localhost; any; };
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "example.local" IN {
type master;
file "forward.example.local";
allow-update {none; };
};
zone "21.168.192.in-addr.arpa" IN {
type master;
file "reverse.example.local";
allow-update {none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
Подводя итог, как сделать так, чтобы мои почтовые серверы могли обмениваться почтой с одним DNS для каждого из них? Пожалуйста, обязательно проверьте график ниже, я думаю, он может многое объяснить.
С нетерпением жду вашего ответа! :D
решение1
Я думаю, что у вас здесь неверная запись:
another.local IN A 192.168.21.130
Ваша зона предназначена для домена/имени хоста:example.local
Если вы хотите добавить новый домен с:another.local
Создайте для него новую зону.