RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


Stylesheet conf/userstyle.css not found, please contact the developer of "dokuwiki_2024" template.
network:mikrotik:webfig_firewall

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
network:mikrotik:webfig_firewall [2023/07/06 19:32] dxnetwork:mikrotik:webfig_firewall [2023/07/06 19:33] (текущий) dx
Строка 1: Строка 1:
 +====== Mikrotik: внешний доступ к Webfig ======
  
 +Задача: открыть доступ из глобальной сети к веб-интерфейсу Mikrotik.
 +
 +Увага сісадміны!
 +  * Никакого http, только https
 +  * Ограничиваем доступ по IP
 +  * Еще лучше настраиваем VPN на Mikrotik или на хосте во внутренней сети и подключаемся только через VPN
 +  * В 2 раза лучше использовать комбинацию внешний фиксированный IP и VPN. Вдруг VPN будет недоступен или сменится IP
 +  * Ниже только примеры, поэтому адаптируйте под вашу конфигурацию сети
 +
 +Документация
 +  * https://wiki.mikrotik.com/wiki/Manual:Webfig
 +  * https://help.mikrotik.com/docs/display/ROS/Webfig
 +
 +===== Firewall =====
 +
 +Включаем **webfig**: IP → Services
 +
 +{{:network:mikrotik:mikrotik_webfig_services.png?nolink|}}
 +
 +Через консоль (www порт 8080, www-ssl порт 4443)
 +
 +<code bash>
 +/ip service set www address=11.22.33.44/32,22.33.44.0/24 disabled=no port 8080
 +/ip service set www-ssl address=11.22.33.44/32,22.33.44.0/24 disabled=no port 4443
 +</code>
 +
 +Теперь нужно разрешить входящие соединения.
 +
 +IP → Firewall → Filter Rules
 +  * Chain: input
 +  * Src. Address: IP адрес или подсеть, с которых можно подключаться
 +  * Protocol: tcp
 +  * Dst. Port: 8080 и 4443
 +  * Action: accept
 +
 +Через консоль
 +
 +<code bash>
 +/ip firewall filter add chain=input protocol=tcp dst-port=8080,4443 disabled=no action=accept
 +</code>
 +
 +Правило будет в конце списка, поэтому надо его перенести выше запрещающих правил.
 +
 +Смотрим номер правила
 +
 +<code bash>
 +/ip firewall filter print
 +</code>
 +
 +Переносим в начало списка
 +
 +<code bash>
 +/ip firewall filter move 13 destination=1
 +</code>
 +
 +Можно сразу указать, что правило необходимо расположить в начале списка
 +
 +<code bash>
 +/ip firewall filter add chain=input protocol=tcp dst-port=8080,4443 disabled=no action=accept place-before 1
 +</code>
 +
 +===== Let's Encrypt =====
 +
 +Документация
 +  * https://help.mikrotik.com/docs/display/ROS/Certificates
 +  * https://www.youtube.com/watch?v=T1Dyg4_caa4
 +  * https://forum.mikrotik.com/viewtopic.php?t=189289#p973321
 +
 +Получаем сертификат
 +
 +<code bash>
 +/certificate/enable-ssl-certificate dns-name=ros.rtfm.wiki
 +</code>
 +
 +{{:network:mikrotik:mikrotik_webfig_ssl_certificate_1.png?nolink|}}
 +
 +System → Certificates
 +
 +{{:network:mikrotik:mikrotik_webfig_ssl_certificate_2.png?nolink|}}
 +
 +Проверяем браузер
 +
 +{{:network:mikrotik:mikrotik_webfig_ssl_certificate_3.png?nolink|}}
 +
 +Насколько я понимаю для корректной работы LE нужен 80 порт. Откроем доступ к 80 порту только для letsencrypt.org
 +
 +Создаём список LE
 +
 +<code bash>
 +/ip firewall address-list add address=acme-v02.api.letsencrypt.org list=LE
 +/ip firewall address-list add address=acme-staging-v02.api.letsencrypt.org list=LE
 +/ip firewall address-list add address=letsencrypt.org list=LE
 +</code>
 +
 +Создаём правило со списком LE
 +
 +<code bash>
 +/ip firewall filter add action=accept chain=input comment=LE dst-port=80 protocol=tcp src-address-list=LE
 +</code>
 +
 +В веб-интерфейсе это выглядит следующим образом.
 +
 +IP → Firewall → Address Lists
 +
 +{{:network:mikrotik:mikrotik_webfig_address_lists_1.png?nolink|}}
 +
 +IP → Firewall → Filter Rules
 +
 +{{:network:mikrotik:mikrotik_webfig_address_lists_2.png?nolink|}}
 +
 +Хоть всё и работает мне больше нравится использовать для сертификатов в домашней IT лаборатории [[https://nginxproxymanager.com|Nginx Proxy Manager]] или [[https://traefik.io|Traefik]].
 +
 +EOM
 +
 +{{tag>mikrotik webfig lets_encrypt}}