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

Вид: 7537|Ответ: 4

Запрет доступа Docker-контейнеров к Интернету (экстранету)

[Скопировать ссылку]
Опубликовано 2022-12-14 22:53:18 | | | |
Требования: Частная домашняя система альбомов была создана с использованием контейнеров Docker, которая ограничена доступом и просмотром в домашней локальной сети, потому что образ Docker разрабатывается сторонним разработчиком, и я не знаю, будет ли это вопрос безопасностиСоздавать нарушения конфиденциальностиЧтобы лучше решить эту проблему, мы хотим добавить гарантию конфиденциальности, запрещая Docker-контейнерам доступ к Интернету (внешней сети).

CentOS 7 запрещает IP получать доступ к серверу
https://www.itsvse.com/thread-10264-1-1.html

iptables firewall позволяет доступу только определённым IP-адресам к определённым портам и конкретным сайтам
https://www.itsvse.com/thread-2535-1-1.html

Просмотр CentOS7 и отключение межсетевого экрана
https://www.itsvse.com/thread-7771-1-1.html

В этой статье используется система CentOS7, версия Docker: 20.10.20, и изображения nginx для проведения тестов.

Доступ в Интернет (экстранет) по умолчанию разрешен

Создайте новый контейнер nginx, который предоставляет веб-сервисы, к которым можно получить доступ18080 Доступ к порту, контейнер по умолчанию может выходить в Интернет (внешняя сеть), команда следующая:

Введите контейнер и запросите ресурсы этого сайта через команду curl, которую можно получить нормально, как показано на рисунке ниже:



Отключение доступа к интернету Docker-контейнерам (экстранету)

Сначала нужно создать пользовательскую сеть через docker и виртуальную сетевую карту с помощью следующей команды:



Установите правило на виртуальной сетевой сетке через iptables, запрещающее доступ к Интернету следующей командой:

Независимо от того, доступен ли сервис iptables, независимо от того, включен ли файрвол или нет,Правила iptables, добавленные командой, вступают в силу немедленно!!!

Примечание: этот план уместенЕсли разные контейнеры присоединяются к одной сети, контейнеры не смогут общаться друг с другом!!!!

Посмотрите на правило DOCKER-USER, как показано ниже:



Снова создайте новый контейнер nginx, контейнер предоставляет веб-сервис, и18081 Порт предоставляет услуги внешнему миру, и контейнеру запрещен доступ к Интернету (публичной сети), команда следующая:



Мы достигли своей цели, но,После перезапуска сервера правила, созданные в iptables, исчезнутКак можно автоматически загрузить наши пользовательские правила после перезапуска сервера?

Команда iptables-save используется для экспорта таблицы iptables в ядре Linux стандартному поставщику вывода, обычно с помощью функции перенаправления ввода/вывода в оболочке для сохранения вывода в заданный файл.

Сохранить существующее правило iptables

Добавьте правило восстановления iptables в загрузочную загрузку, загрузочный файл — /etc/rc.d/rc.local, отредактируйте файл и добавьте следующую команду в конце:

Наконец, добавьте разрешение на выполнение следующей командой:

После завершения настроек правила iptables всё равно будут действовать даже при перезагрузке сервера.

Всем контейнерам в Docker запрещен доступ к Интернету (экстранету),Не тестировали, команда следующая:

(Конец)






Предыдущий:Файл активов «project.assets.json» не найден. Запусти восстановление пакета NuGet...
Следующий:BBR против BBRplus против BBR2 Общее сравнение скорости сети
Опубликовано 2022-12-16 21:14:15 |
Учитесь
 Хозяин| Опубликовано 2023-1-2 17:43:19 |
Дело следующее:

【Practical Combat】Создать приватный репозиторий Git для Gitea с мягкой маршрутизацией
https://www.itsvse.com/thread-10403-1-1.html


Опубликовано 2023-4-7 18:55:08 |
Эта функция очень важна, приходите и изучайте её
Опубликовано 21.04.2023 12:00:24 |
Спасибо, что поделились, я узнал.
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com