Как настроить доступ (RDP) по внешнему имени из локальной сети (шлюзом выступает MikroTik)?

Проблема в том, что внутри сети нельзя подключаться по RDP к серверу по доменному имени (по внешнему IP тоже), а только по локальному "серому" IP. Из любого другого места всё работает. Насколько я понимаю, нужно копать в сторону NAT, а точнее NAT-loopback, но как реализовать это на MikroTik-е не могу разобраться. Если я ошибаюсь - подправте пожалуйста. Буду благодарен за любую помощь.
  • Вопрос задан
  • 8065 просмотров
Решения вопроса 3
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
Самый простой способ, а наверное и правильный - на микротике, в DNS прописать domain.name -> внутренний ip.
Тогда все клиенты будут получать от тика внутренний ip и не нужно мучать железку.

Конечно если у вас все пользователи не сидят на статике И гугловских dns :)
Ответ написан
@paxlo
в /ip firewall nat
в правиле для маскарадинга убрать out-interface
в правила для проброса RDP порта убрать in-interface и добавить dst-address=ваш-внешний-ip
dns записи не нужны
Ответ написан
Комментировать
@bogena
1) если winbox, то IP-DNS - Static и добавляем Доменное_имя = серый IP. Но, как уже сказано, у клиентов Днс сервером должен быть mikrotik, ну и если по доменному имени есть службы (сайт, например) - то работать из офиса они перестанут.
2) Как уже тоже писали, ip firewall nat - заходите в правило, убираете in interface. Но только вроде бы проблемы будут при доступе к другим rdp вне офиса (не уверен, надо будет посмотреть)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Stealth13
А я опытом поделиться хотел.
Задачка была, наверное, банальная: надо было сделать проброс портов на Микротике на внутренние ресурсы сети, но так, чтобы на эти внутренние ресурсы сети можно было заходить по интернетовскому доменному имени Микротика как из интернета, так и внутри сети. Обычный проброс портов "в лоб" работает только для обращений из интернета. При обращении внутри локальной сети по внешнему доменному имени получаем обломс. В интернетах нашлось 2 решения: одно - прописать на DNS Микротика "Static DNS" domain.name -> Внутренний_IP_адрес_ресурса, и тогда все обращения по доменному имени внутри сети будут направляться на этот внутренний ресурс. Но это не подходит, когда внутренних ресурсов несколько, а не один, ведь "Static DNS" мы можем написать только для одного ресурса. Второе решение - Hairpin NAT, описанное в Wiki wiki.mikrotik.com/wiki/Hairpin_NAT . Однако с ним тоже проблемы, если внешний IP адрес является динамическим и часто меняется (с доменным именем от dyndns, например). В Hairpin NAT, описанном в Wiki, в правилах NAT необходимо указывать внешний IP, что неприемлемо, когда он часто меняется. Поразмыслив, я придумал следующее "идеальное" решение, объединившее оба способа в один:

/ip dns static
add address=192.168.88.1 name=myname.dyndns.org

/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" out-interface=ether1-gateway (это стандартный маскарадинг, обычно присутствующий в конфигурации по умолчанию)

add action=dst-nat chain=dstnat comment=RDP dst-address-type=local dst-port=3389 protocol=tcp to-addresses=192.168.88.2
add action=masquerade chain=srcnat dst-address=192.168.88.2 dst-port=3389 out-interface=bridge-local protocol=tcp src-address=192.168.88.0/24
(по 2 таких строчки на каждый порт-форвардинг)

Т.е. прописываем в статический DNS сопоставление доменному имени внутреннего IP адреса роутера (а не внутреннего ресурса!). Любой клиент внутри сети будет попадать на роутер по доменному имени.
Прописываем по 2 правила для каждого форвардинга - одно для маппинга, второе для маскарадинга. Таким образом мы избавляемся от необходимости непременно указывать внешний IP адрес в правилах NAT, который у нас часто меняется.

Такой подход проверен и успешно работает в моей сети. Он более универсален, чем описанные ранее, поэтому я решил поделиться опытом, может кому пригодится.
Ответ написан
@throughtheether
human after all
внутри сети нельзя подключаться по RDP к серверу по доменному имени (по внешнему IP тоже),
Насколько я понимаю, нужно копать в сторону NAT,
Вам поможет Hairpin NAT.
Ответ написан
Комментировать
@DastiX
Если в пределах локальной сети недоступен по имени какой-либо ресурс, значит у Вас, скорее всего, некорректно настроен DNS.
Потому что, если даже сервер смотрит в сеть, и есть A-запись, то при резолве в локалке сначала должен выбрасываться локальный адрес, а потом уже внешка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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