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:31] – создано dx | network:mikrotik:webfig_firewall [2023/07/06 19:33] (текущий) – dx | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Mikrotik: внешний доступ к Webfig ====== | ||
+ | Задача: | ||
+ | |||
+ | Увага сісадміны! | ||
+ | * Никакого http, только https | ||
+ | * Ограничиваем доступ по IP | ||
+ | * Еще лучше настраиваем VPN на Mikrotik или на хосте во внутренней сети и подключаемся только через VPN | ||
+ | * В 2 раза лучше использовать комбинацию внешний фиксированный IP и VPN. Вдруг VPN будет недоступен или сменится IP | ||
+ | * Ниже только примеры, | ||
+ | |||
+ | Документация | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | ===== Firewall ===== | ||
+ | |||
+ | Включаем **webfig**: IP → Services | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Через консоль (www порт 8080, www-ssl порт 4443) | ||
+ | |||
+ | <code bash> | ||
+ | /ip service set www address=11.22.33.44/ | ||
+ | /ip service set www-ssl address=11.22.33.44/ | ||
+ | </ | ||
+ | |||
+ | Теперь нужно разрешить входящие соединения. | ||
+ | |||
+ | 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, | ||
+ | </ | ||
+ | |||
+ | Правило будет в конце списка, | ||
+ | |||
+ | Смотрим номер правила | ||
+ | |||
+ | <code bash> | ||
+ | /ip firewall filter print | ||
+ | </ | ||
+ | |||
+ | Переносим в начало списка | ||
+ | |||
+ | <code bash> | ||
+ | /ip firewall filter move 13 destination=1 | ||
+ | </ | ||
+ | |||
+ | Можно сразу указать, | ||
+ | |||
+ | <code bash> | ||
+ | /ip firewall filter add chain=input protocol=tcp dst-port=8080, | ||
+ | </ | ||
+ | |||
+ | ===== Let's Encrypt ===== | ||
+ | |||
+ | Документация | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | Получаем сертификат | ||
+ | |||
+ | <code bash> | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | System → Certificates | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Проверяем браузер | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Насколько я понимаю для корректной работы 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 | ||
+ | </ | ||
+ | |||
+ | Создаём правило со списком LE | ||
+ | |||
+ | <code bash> | ||
+ | /ip firewall filter add action=accept chain=input comment=LE dst-port=80 protocol=tcp src-address-list=LE | ||
+ | </ | ||
+ | |||
+ | В веб-интерфейсе это выглядит следующим образом. | ||
+ | |||
+ | IP → Firewall → Address Lists | ||
+ | |||
+ | {{: | ||
+ | |||
+ | IP → Firewall → Filter Rules | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Хоть всё и работает мне больше нравится использовать для сертификатов в домашней IT лаборатории [[https:// | ||
+ | |||
+ | EOM | ||
+ | |||
+ | {{tag> |