Перейти к содержимому
Калькуляторы

Как рулить DNS запросами через Layer7 на микротике

Ситуация такова. Есть один белый внешний IP и пару сайтов, которые находятся на физически разных серверах за NATом.

Допустим в локалке их IP

10.64.32.244 - www.site1.com и www.site2.com

10.64.32.2 - admin.site1.com, stat.site1.com, map1.site1.com

Оба сервера используют как 80, так и 443 порт.

Как сделать так, чтобы был доступ ко всем сайтам, не используя MikroTik Web-proxy. Уж очень не нравится, как он работает. Слышал подобные вещи делают на Layer7, но инструкции не нашёл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

view на DNS не помогут?

 

Можно подробнее?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Напишите, конкретнее, что нужно сделать. Нужно чтобы ДНС в зависимости от источника запроса давал разные ответы по доменам?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нужно чтобы при обращении на внешний IP на 80 порт dnt-nat заворачивал пакеты на тот локальный адрес, который соответствует домену или поддомену.

Например при обращении на www.site1.com, DST-NAT рулил на 10.64.32.244:80, а при обращении на admin.site1.com на 10.64.32.2:80... ну и по аналогии с https.

Изменено пользователем Kolvan

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А адреса могут меняться или в чем проблема? Причем тут днс, почему жестко не привязать их к ИПам?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нужно чтобы при обращении на внешний IP на 80 порт dnt-nat заворачивал пакеты на тот локальный адрес, который соответствует домену или поддомену.

С внутренней сети смотреть - https://wiki.mikrotik.com/wiki/Hairpin_NAT

Изменено пользователем mafijs

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ещё раз более подробно сформулирую. Есть внешний IP, допустим 10.20.30.40 на нём за NATом сидит два вэб-сервера. На одном находятся ресурсы www.site1.com и www.site2.com, на втором admin.site1.com, stat.site1.com и т.д.

Нужно сделать так, чтобы при обращении из вне на IP 10.20.30.40:80, а именно на ресурс admin.site1.com, роутер делал DST-NAT на 10.64.32.2:80, а при обращении на www.site2.com делал DST-NAT на 10.64.32.244:80.

Такое возможно реализовать на файерволе микрота с использованием Layer7 protocol?

P.S. не столь важно, чтобы на внутренних серверах на обоих были 80 порты. Тут самая главная проблема поймать нужные запросы.

Изменено пользователем Kolvan

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не придумывать извращения, использовать какой-нибудь reverse-proxy, например nginx.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Без прокси - никак. Точнее, он этим и занимается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тупит прокси достаточно сильно. Сразу после ребута микрота сайты мгновенно открываются. Через некоторое время начинается тупняк... по несколько секунд ждёшь перехода с одной страницы на другую. Сервак весь уже вылизали, при работе напрямую тормозов нет. Исходя из того, что они пропадают сразу после ребута микрота - дело в микроте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Оставляете на микротике чистый нат, и на одном из серваков поднимаете nginx , конфигурите его как reverse proxy и разруливаете запросы на нем. Вот и все решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Оставляете на микротике чистый нат, и на одном из серваков поднимаете nginx , конфигурите его как reverse proxy и разруливаете запросы на нем. Вот и все решение.

У меня на обоих серваках Nginx в качестве вэб-сервера. Подкиньте пожалуйста примерный конфиг vhost или конфига nginx.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Оставляете на микротике чистый нат, и на одном из серваков поднимаете nginx , конфигурите его как reverse proxy и разруливаете запросы на нем. Вот и все решение.

У меня на обоих серваках Nginx в качестве вэб-сервера. Подкиньте пожалуйста примерный конфиг vhost или конфига nginx.

 

server {

listen 80;

server_name имя сервера, например (2.mikrotika.ru);

location / {

proxy_pass http://192.168.15.16;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

 

}

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А зачем тратить так бездарно белые адреса?

 

Чтобы не городить костыльные костыли?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.