Jump to content
Калькуляторы

Как рулить 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, но инструкции не нашёл.

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Edited by Kolvan

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Edited by mafijs

Share this post


Link to post
Share on other sites

Ещё раз более подробно сформулирую. Есть внешний 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 порты. Тут самая главная проблема поймать нужные запросы.

Edited by Kolvan

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Оставляете на микротике чистый нат, и на одном из серваков поднимаете 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;

 

}

}

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this