Пожалуйста, извините мой английский, так как это не мой родной язык
У меня есть почтовый сервер в моей сети за маршрутизатором mikrotik и межсетевым экраном. Проблема, с которой я столкнулся, заключается в том, что мой почтовый сервер находится на общедоступном IP-адресе, и я не могу подключиться к нему внутри. У меня нет проблем с подключением из-за пределов сети. Единственный способ, которым я могу подключиться на этом этапе, - это назначить общедоступный IP-адрес маршрутизатору mikrotik и настроить эти два правила NAT.
IP-адрес, который я использовал, является только примерами - Внутренняя сеть = 172.162.30.0/12 - Общедоступный почтовый IP-сервер = 42.20.16.18 - Частный почтовый IP-сервер = 172.162.30.65
**Internal clients Note:** Source address is my whole network this has a massive affect on my internet speed because
I think all traffic is being routed to mail server
chain=srcnat action=src-nat to-addresses=42.20.16.18
src-address=172.162.30.0/24 log=no log-prefix=""
Для клиентов, подключающихся извне сети цепочка = dstnat действие = dst-nat to-address = 172.162.30.65 dst-address = 42.20.16.18 log = no log-prefix = ""
Я пробовал почти все решения, это мое последнее средство, моя главная цель - физически назначить свой общедоступный IP-адрес машине и подключиться внутри без использования частного IP.
Есть два решения этой проблемы.
Либо вы реализуете NAT Loopback, либо NAT Hairpin, либо NAT Reflection (это одно и то же с разными именами), либо вы изменяете свой внутренний DNS, чтобы имя хоста вашего почтового сервера разрешалось не в общедоступный IP-адрес, а в ваш локальный IP-адрес (только изнутри вашей частной сети ).
С вашим правилом src-nat вы уже делаете первое решение (NAT Hairpin), которое, как вы упомянули, работает. Проблема с этим подходом заключается в том, что все ваши подключения к почтовому серверу меняются на src-address 42.20.16.18
поэтому почтовый сервер регистрирует только этот IP, а не реальный внутренний IP каждого пользователя.
Другой подход заключается в том, что вы либо используете DNS-сервер Mikrotik, либо любой другой локальный DNS-сервер по вашему выбору. Там вы настраиваете DNS-запись с именем хоста почтового сервера и устанавливаете ее разрешение на внутренний IP-адрес почтового сервера.
Затем вы должны настроить все свои ПК в своей сети для использования этого DNS-сервера, и при нажатии имени хоста вашего почтового сервера они будут разрешать внутренний IP-адрес вместо общедоступного, позволяя им подключаться к нему напрямую, вместо того, чтобы проходить через маршрутизатор через NAT.
Для получения дополнительной информации о шпильке NAT вы можете проверить официальную документацию Mikrotik. Вот а для получения дополнительной информации о DNS-сервере Mikrotik вы можете проверить Вот
Для тех, кого это интересует, я сталкивался с проблемой с этим решением всякий раз, когда я отправлял письмо кому-то, что почтовый сервер получателя обнаруживал другой исходный IP-адрес, исходный IP-адрес, внесенный в черный список, я думаю, что это связано с тем фактом, что у моего интернет-провайдера есть настройка маскировки. где-то по линии. Я не знаю, моя работа заключалась в том, что я снова создал dst-st и src-nat, я сохранил dst-nat таким же, как и раньше, и просто изменил исходный адрес src-nat со всей моей сети на только мои почтовые серверы частный IP. Это сработало на 100%, см. Ниже
цепочка = srcnat action = src-nat to-addresses = 42.20.16.18 src-address = 172.162.30.65 log = no log-prefix = ""
цепочка = dstnat действие = dst-nat to-address = 172.162.30.65 dst-address = 42.20.16.18 log = no log-prefix = ""