Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версия | |||
| network:mikrotik:webfig_firewall [2023/07/06 19:32] – 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> | ||