Обновить

Расширяем VPN‑возможности MikroTik с помощью контейнеров

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели11K
Всего голосов 2: ↑1 и ↓10
Комментарии10

Комментарии 10

Amnezia отлично крутится с лета на микроте

А какой образ используете?

Поднял на микротике bird, что бы удобно было управлять маршрутами через конфиг.

Режим SecureNAT

Сразу выкидывайте, особенно в контейнерах. Вешается намертво при 2+ активных юзерах как по ЦПУ, так и по ОЗУ. Проблеме лет пять и фикс не планируется даже. Вот прям совет: выносите выходной адапер на уровень микрота и там всю кухню держите.

Под нагрузкой не проверял, у меня всего пара подключений, т.е. до таких проблем не дошло. Local Bridge на микрот попробую, спасибо.

Можете Показать настройку dst-nat? Не увидел ее в вашей конфигурации.

Правила dst-nat в статье есть, просто разнесены по разделам. На всякий продублирую:
/ip/firewall/nat add chain=dstnat in-interface-list=WAN protocol=tcp dst-port=444 action=dst-nat to-addresses=10.10.4.2 to-ports=443

/ip/firewall/nat add chain=dstnat in-interface-list=WAN protocol=tcp dst-port=8443 action=dst-nat to-addresses=10.10.4.3 to-ports=443

/ip/firewall/nat add chain=dstnat in-interface-list=WAN protocol=udp dst-port=8443 action=dst-nat to-addresses=10.10.4.3 to-ports=443

Всё ниже проверено на MikroTik CHR 7.24.5

А как будто и не проверялось всё что написано)

RouterOS сам назначит контейнеру адрес и шлюз из настроек veth: внутри он станет eth0. DHCP здесь не участвует.

у микротика внутри он уже давно не eth0, а соответствует имени veth интерфейса, после того как добавили возможность добавлять много интерфейсов одному контейнеру

Реестр в RouterOS задаётся одной общей настройкой на все контейнеры. Временно переключаем его на Quay и создаём контейнер:

/container/config set registry-url=https://quay.io/
container add remote-image=aminvakil/ocserv:latest interface=veth-ocserv root-dir=ocserv/root envlist=OC_ENV mountlists=OC_DATA name=ocserv logging=yes start-on-boot=yes

Чтобы не передергивать общий url репозитория, можно сразу загружать образ с нужного сервера:

/container add remote-image=quay.io/aminvakil/ocserv:latest interface=veth-ocserv root-dir=ocserv/root envlist=OC_ENV mountlists=OC_DATA name=ocserv logging=yes start-on-boot=yes

Winbox не сохраняет контейнер: Error in Shm Size

Winbox не читает своё же значение по умолчанию 64.0 MiB

стереть поле или создавать контейнер из терминала

проблема в неподдерживаемом поле старым винбоксом
решение - использовать WinBox 4
не понимаю что значит стереть поле, оно никак не заработает в WinBox3 и не даст ни создать ни изменить настройки контейнера в любом случае

Ошибки iptables про nf_tables в логе ocserv

ядро RouterOS может не поддерживать nft‑вариант iptables

NAT делает RouterOS, самому ocserv iptables не нужен

может не поддерживать, а может и поддерживать)

в arm32 есть только iptables

его нужно фиксить, как пример в этом образе https://hub.docker.com/layers/wiktorbgu/alpine-mikrotik/ip-nf-tables - у меня там много полезных контейнеров для микротиков

а в системах arm64 и x86 есть и nftables

В общем микротик специфичен, поэтому приходится адаптировать контейнеры под него

Спасибо, всё по делу) eth0, реестр и shm size проверил, так и есть, в статье поправил.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации