Подключение к внешнему IP-адресу из внутренней сети для роутера Mikrotik

Tweaks  /  pfSense  /  Сетевое железо  /  Mikrotik  /  Домашний хостинг  




Пил сегодня кофе у друга на работе в гостях, общались о том о сем, и друг мне поведал об интересной проблеме: у него на работе стоит неплохой сервер, где хостятся их сайты, но эти сайты недоступны изнутри. Пока в чашке был кофе, мы немножко помучали его "роутер", как он называл свою коробку на базе PfSense, но к сожалению кофе закончилось раньше, чем мы успели найти решение. Этот PfSense отлично решал эту проблему ранее, но очередное обновление изменило интерфейс настроек, и мой друг-любитель ГУЁв, теперь сидит с головной болью в поисках большой галочки "Сделать все" :)

Ну да ладно, статья не о друге. Дома у меня творится примерно такая же ситуация, только в других масштабах. Точно такой же сервер, точно такая же организация сети, разве что железо поновее, и во главе стола сидит его величество Mikrotik. Поскольку у меня и у жены (а мы - основные потребители наших сайтов) на устройствах стоят Linux, то проблема была решена относительно бескровно, хотя и костыльно: при помощи записи в /etc/hosts.

А теперь, мудаки с просторов интернета, советующие делать подобные костыли нормальным людям - разбежитесь и ударьтесь об стенку! Это не решение. И сегодня я осознал, почему...

1) Представьте что у вас ноутбук. Как у меня, да, с которого иногда можно поработать, или написать статью на своем сайте, подобно этой. Все хорошо, /etc/hosts, и все работает вроде как. А теперь берем этот самый ноутбук, и идем к другу хвастаться своим сайтиком. Садимся, а сайтик-то не работает! Несколько минут смеха, а потом судорожное открывание консоли, и комментирование записи в /etc/hosts. Была бы на месте моего друга какая-нибудь девушка, она бы наверное не дала такому неудачнику. 

2) А представьте себе что у вас Wordpress, но нету домена, что вполне логично, ибо вы оттачиваете свой сайт, для того чтобы на днях купить под него какое-нибудь интересное доменное имя. И ведь логично, что для открытия этого сайта мы будем использовать прямой IP-адрес сервера, ну например http://192.168.1.2, кой и будет внесен как SITE URL в настройках Вордпресса. И это будет работать. А теперь представляем, что получится если на наш сайт попытаться зайти извне? Мудак, которого я раньше упоминал, может спросить "а зачем это делать?" А затем, мудак, что можно попросить друга открыть твой сайт у него из дому, потому что...у него в отличие от тебя, дома есть экзотический Windows с Internet Explorer, только у него есть монитор с каким-нибудь идиотским разрешением 1280х1024, и только он сможет зайти на твой сайт с планшетика на Android, о котором кстати мы еще поговорим. А еще можно пользоваться всякими интересными утилитами вроде Google Pagespeed Insights. 

Итак, если мы зайдем на наш сайт извне, первый запрос будет успешным, и первый ответ нашего сервера будет тоже успешным. И это будет редирект 301. Куда ? Мудак наверное не догадается, но я подскажу: на http://192.168.1.2, который мы прописали в Вордпрессе.

3) Ну а что будем делать с телефонами, планшетами, на Андроидах и Виндовсах, с которых тоже хочется и сайтики свои потестить, да и просто в них поработать ? Будем рутовать, костылить, ломать ?


В общем задумался я о том, что у меня появилась проблема, такая же как и у друга. Правда ребята из Mikrotik предоставили более адекватное решение, нежели ребята из условно-OpenSource PfSense, по крайней мере на поиск этого решения мне понадобилось полчаса и гронка винограда. Итак, как зайти по внешнему IP-адресу из локальной сети?


1) Заходим на страницу настройки IP->Firewall->NAT

2) Создаем новое правило

3) Chain выбираем dstnat

4) Src address указываем нашу внутреннюю сеть с маской, например 192.168.88.0/24

5) Dst address указываем наш адрес, который виден извне, например 74.90.54.2

6) Dst port конечно же ставим 80. Для каждого порта нужно будет делать свое правило

7) Опускаемся ниже, и в Action выбираем dstnat

8) В поле To Addresses прописываем внутренний IP-адрес нашего сервера, например 192.168.88.2

9) На этом все. Поднимаемся вверх, жмем Apply/Ok, наслаждаемся.


Отдельно хочу отметить, что удивлен сложившейся ситуацией: в самом нищебродском старом TP-link, в самом убогом ddwrt, есть галочка для решения этой проблемы проброса. В монстрах от Mikrotik, pfSense, и прочих Smoothwall - приходится лезть в дебри, и включать разные фичи с переменным успехом. Или заходить из своей сети на свои же сайты - очень не популярно?


Кстати буду благодарен если в комментариях напишут как настроить этот NAT Loopback на PfSense последней версии. Рабочее решение, пожалуйста :)



Метки текста: Как зайти по внешнему IP-адресу из локальной сети для MikroTik, Подключение к IP WAN из LAN


https://minidevices.top/images/ava.png
https://minidevices.top/images/ava.png
2016-10-26 02:21
root
 26 октября 2016 в 02:21 
  0  

7935
2016-10-26 02:21
guest     26 октября 2016 в 07:24 Ответить
А я как жду!
root     27 октября 2016 в 20:04 Ответить
А ты не жди, ты представь себя TCP-пакетом, и думай где ты шляешься так что аж в нужный дом попасть не можешь :)