Можно ли запустить openwrt внутри LXC контейнера (или докера)?
Задача:
На устройстве raspberry pi 4b запустить несколько контейнеров. Первый контейнер это openwrt который служит маршрутизатором (wi-fi роутером)
А второй контейнер может быть например для телеграмм бота.
В общем цель сделать так чтобы мой raspberry pi не был заточен исключительно под одну цель а конкретно под раздачу интернета по wifi.
Дополнительно:
А вопрос где? Можно хоть 100 контейнеров разных запускать, ни кто не запрещает.
Ответы:
Первый контейнер это openwrt который служит маршрутизатором (wi-fi роутером)
Не очень хорошая идея. Контейнеры имеют ряд ограничений на создание tun/tup устройств.
Так же всем оборудованием и драйверами нужно рулить в хостовой системе.
Вместо удобства управления только получите лишний гемор.
конкретно под раздачу интернета по wifi.
Для этого не нужен openwrt. Можно настроить как то так в хосте:
https://wiki.archlinux.org/title/Software_access_p...
Я б предложил маршрутизатор все таки использовать нативно, без контейнеров и прокладок.
А уже вторичные функции впихивать в контейнеры внутри опенврт.
https://openwrt.org/lxc_openwrt_host
Опенврт удобен тем что он минималистичен и имеет отличный веб-интерфейс
Можно, но работать оно нормально не будет. Я про опенврт
Разве что виртуалку запускать
Можно и работает нормально, только контейнер нужно делать привилегированным. На proxmox крутится
Не знаю будет ли работать openvpn сервер, пока не пробовал, остальное работает без проблем.
Попробую с OpenVPN, напишу, работает или нет.
UPD
Работает)
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Да, можно запустить OpenWRT внутри LXC контейнера или Docker контейнера. Оба варианта имеют свои преимущества и недостатки, поэтому выбор зависит от конкретных потребностей и целей.
LXC (Linux Containers) - это технология виртуализации на уровне операционной системы, которая позволяет запускать несколько изолированных контейнеров на одном хосте. LXC обеспечивает высокую производительность и низкую накладную, что делает его идеальным выбором для запуска OpenWRT. Для запуска OpenWRT внутри LXC контейнера вам нужно будет создать новый контейнер, установить OpenWRT внутри него и настроить необходимые параметры сети.
Например, для создания LXC контейнера с OpenWRT вы можете использовать следующие команды:
lxc launch images:alpine/3.14 my-container lxc exec my-container -- apk add openwrt
Docker, с другой стороны, является платформой для разработки, доставки и запуска приложений в контейнерах. Docker обеспечивает простоту использования и управления контейнерами, но может иметь большую накладную из-за использования виртуализации на уровне ядра. Для запуска OpenWRT внутри Docker контейнера вам потребуется создать Docker образ с OpenWRT и запустить контейнер на основе этого образа.
Например, для создания Docker образа с OpenWRT вы можете использовать следующий Dockerfile:
FROM alpine:3.14 RUN apk add openwrt
После создания Docker образа вы можете запустить контейнер на его основе с помощью команды:
docker run -d my-openwrt-imagedocker run -d my-openwrt-image
Оба способа позволяют запустить OpenWRT внутри контейнера, и выбор между LXC и Docker зависит от ваших конкретных потребностей и предпочтений. Надеюсь, это поможет вам решить вашу проблему с запуском OpenWRT внутри контейнера.