Выставить порт докера только для внутренней сети - PullRequest
1 голос
/ 09 мая 2019

Запуск многочисленных докеров прямо сейчас в новой сборке для сервера homelab и попытка убедиться, что все заблокировано и безопасно. Я использую сервер для множества вещей, требующих доступа из внешнего мира (nextcloud) и вещей, к которым у меня будет доступ только из моей внутренней сети (plex). Конечно, сервер находится за маршрутизатором, который ограничивает открытые порты, но ищет дополнительную безопасность - я хотел бы ограничить те докеры, к которым я хочу получить доступ только через внутреннюю сеть, до 192.168.0.0/24. Таким образом, если какой-либо порт станет открытым на моем маршрутизаторе, он не будет выставлен (я являюсь параноиком?).

В настоящее время файлы docker-compose открывают порты через:

....

 ports:
   - 8989:8989
....

Это, конечно, работает нормально, но доступно всему миру, если я открою порт на моем маршрутизаторе. Я знаю, что могу связываться с localhost через

....
 ports:
   - 127.0.0.1:8989:8989
....

Но это не помогает мне, когда я пытаюсь получить доступ к докеру из моей внутренней сети. Я прочитал множество статей, касающихся сетей и различных флагов, а также прочитал о возможном решении iptables.

Любое руководство очень ценится.

Спасибо

1 Ответ

1 голос
/ 09 мая 2019

Просто не объявляйте никакие порты в docker-compose, они автоматически видны между контейнерами.

Таким образом я использую контейнер Flexiblesearch, и к нему может подключаться отдельная кибана по имени сервера, указанному на имени сервера.yml.


если какой-либо порт на моем маршрутизаторе будет открыт, он не будет открыт

При использовании этой процедуры порты никогда не видны вне среды докера(т. е. вне == в вашей локальной сети).

Если вас беспокоит, что порты публикуются в вашей локальной сети при выполнении процедуры, о которой я вам говорил, это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...