Я надеялся, что вы, ребята, могли бы помочь мне с моей идеей.
Я хотел бы реализовать инфраструктуру Docker с различными возможностями доступа в разных сетях и шлюзом VPN.
Не знаю Я не ожидаю законченного решения, но, к сожалению, я не знаю, где и как начать, или какие есть возможности.
Я также не знаю, является ли stackoverflow подходящим местом для моего вопроса, но я хотел бы попробовать это здесь. Я работаю с Docker в университете около года и провожу несколько небольших тестов на своем ноутбуке (так что я не эксперт XD). Между тем я действительно энтузиаст c о системе и хотел бы модернизировать или расширить свою инфраструктуру дома.
Я хотел бы создать домашнюю среду, как показано на графике c (Docker Хост - это BananaPi M2 + с подключением Armbian и WiFi + Lan).
Левая часть Docker Хост уже существует. К сожалению, у меня нет таких возможностей, как VLAN в моей сети.
Что я уже выяснил, так это то, что Docker имеет различные типы сетей (мост, хост мне понятны [я надеюсь), остальное я только частично или совсем не поняли). Моя цель - построить 3 сети (возможно, 4) для разных типов контейнеров, поэтому мне нужно только дать контейнерам соответствующий сетевой интерфейс и не нужно каждый раз настраивать конфигурацию.
Что я хочу:
- Сеть 1 (мост), здесь я хочу подключить все контейнеры, которым разрешено входить в сеть без ограничений. Но я не уверен, если это хорошая идея, потому что это возможный риск (кто знает, что все в контейнерах, паранойя XD). В любом случае я перенаправлю необходимые порты на хост Docker. Мой план состоит в том, чтобы запускать контейнеры для NAS, OpenVPN (сервер), PiHole, то есть контейнеров, которые предоставляют услуги для LAN / WiFi.
- Сеть 2 (неизвестный тип) должна содержать контейнеры, которым разрешено общаться только внутри их сеть! Поэтому ни хост, ни Inte rnet, ни участники в LAN / WiFi не должны быть доступны. Если для контейнера требуется доступ rnet, он должен быть назначен дополнительной сети (3).
- Сеть 3 («мост»), должна содержать только один контейнер, шлюз VPN. Этот VPN-шлюз используется для установления sh соединения с провайдером VPN, а затем делает его доступным для других участников Wi-Fi / LAN / Docker в качестве шлюза, например, общего доступа rnet в Windows ( вещь вообще возможна?). WiFi / LAN будет иметь доступ всегда, контейнер только если он был добавлен в сеть. Я подумал, что имеет смысл разрешить начальное соединение только в одном направлении. Но я не уверен, что все еще можно скачать GitHub / Kaggle?
Теперь вопрос в том, как я могу это реализовать, или вообще возможно реализовать что-то подобное?
My Первой мыслью был брандмауэр (тоже как контейнер тогда?). Но куда мне его положить, в сетях docker или на хосте? Буду благодарен за любой совет.
Я знаю, что некоторые услуги могли бы быть лучше в DMZ, но на данный момент это не вариант. Также было бы здорово, если бы изменения были сделаны только на хосте Docker или позади него (за исключением возможных выпусков портов на маршрутизаторе). Таким образом, я могу продолжать использовать настройки при изменении инфраструктуры (например, при переходе на новую квартиру) без необходимости вносить новые конфигурации.
В настоящее время я использую Portainer для управления хостом Docker.
Спасибо за вашу помощь.