Хост/домен, используемый только для записей MX, указывающих в другом месте, нуждаются в записи?

Ваши правила DNAT должны быть немного более конкретными для работы правильно. Один способ продолжиться состоит в том, чтобы добавить a --destination (или -d) условие каждому из них, например.

iptables -t nat -A PREROUTING -d $EXT_IP -p tcp --dport 80 -j DNAT \
    --to-destination 192.168.1.254

iptables -t nat -A PREROUTING -d $EXT_IP -p tcp --dport 22 -j DNAT \
    --to-destination 192.168.1.254

где $EXT_IP Ваш внешний маршрутизатор (глобально routable) IP-адрес.

Протест: Если внутренние клиенты попытаются соединиться с www или ssh сервисами на 192.168.1.254 через внешнее (глобально routable) IP-адрес, то их попытки подключения перестанут работать (в то время как соединения непосредственно с 192.168.1.254 успешно выполнились бы).

Для решения этого, лучше говорить внутренним клиентам получать доступ к серверу через его внутренний IP-адрес. С другой стороны, можно настроить "шпильку NAT" путем добавления пары большего количества правил iptables, следующим образом:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.254 -p tcp \
    --dport 80 -j SNAT --to-source $INT_IP

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.254 -p tcp \
    --dport 22 -j SNAT --to-source $INT_IP

где $INT_IP внутренний IP-адрес маршрутизатора (например, 192.168.1.1). С этими правилами соединения от внутренних клиентов к внешнему IP-адресу будут течь через маршрутизатор. Лучше стараться не делать шпильку NAT, когда это возможно, так как это - довольно неэффективное использование ресурсов системы маршрутизатора и сетевой системы.

4
задан 13 February 2014 в 04:22
3 ответа

Нет, ему не нужна A-запись. И если с ним не связан IP-адрес, его не должно быть.

6
ответ дан 3 December 2019 в 03:06

Просто чтобы добавить ... для целей SMTP, вам строго не нужна запись A на вершине , если у вас нет записи MX . Большинство агентов почтового транспорта (MTA) по умолчанию сначала ищут запись MX, а если она не найдена, ищут запись A и пытаются доставить туда, куда указывает эта запись. Я не призываю вас делать это, поэтому обязательно используйте запись MX для почты, но просто знайте, что существует такое резервное поведение.

0
ответ дан 3 December 2019 в 03:06

nslookup не работает, потому что по умолчанию он запрашивает запись A.

~/bin/vmware@precious% nslookup -query=mx umich.edu
Server:     192.168.1.1
Address:    192.168.1.1#53

Non-authoritative answer:
umich.edu   mail exchanger = 0 mx2.umich.edu.
umich.edu   mail exchanger = 0 mx3.umich.edu.
[ ... ]

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

0
ответ дан 3 December 2019 в 03:06

Теги

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