Выставляем контейнеры наружу в CentOS 8 / RHEL 8

RHEL / Containers 9-10-2020, 10:17 sobir 555 0


Большинство традиционных сетей контейнеров обрабатываются мостами, преобразованием сетевых адресов (NAT) или путем привязки к сети хоста. Если вы хотите, чтобы ваши контейнеры выглядели как физические хосты в вашей сети и каждый с уникальным MAC-адресом, то самый простой способ - это использовать плагины macvlan и dhcp, которые поставляются с пакетом containernetworking-plugins.

О macvlan

Плагин macvlan является частью пакета containernetworking-plugins. Macvlan похож на коммутатор, который подключен к сетевому интерфейсу хоста. Используя виртуальные интерфейсы в сочетании с интерфейсом хоста, каждое устройство может иметь отдельный MAC-адрес. Этот факт позволяет существующим DHCP-серверам в существующей сети взаимодействовать с устройствами и назначать адреса.
Выставляем контейнеры наружу в CentOS 8 / RHEL 8

Плагин macvlan также требует использования плагина dhcp containernetworking-plugin.

Создание файла конфигурации CNI

Для начала необходимо вручную создать новый файл конфигурации сетевого интерфейса контейнера (CNI). Перед созданием файла вы должны знать, какой интерфейс хоста будет использоваться для привязки. Эту информацию можно найти с помощью инструментов ip или ifconfig.
cat /etc/cni/net.d/90-example.conflist
{
    "cniVersion": "0.4.0",
    "name": "example",
    "plugins": [
        {
            "type": "macvlan",
            "master": "enp0s3",
            "ipam": {
                "type": "dhcp"
            }
        }
    ]
}


Запуск DHCP плагина

Плагин dhcp является прокси-клиентом DHCP для контейнера, поскольку в большинстве образов контейнеров отсутствует DHCP-клиент для взаимодействия с DHCP-сервером.

Чтобы запустить плагин dhcp, введите:
/usr/libexec/cni/dhcp daemon &

Запуск контейнера
podman run -it --rm --network example debian ip addr show
Похожие новости
Боремся с майнером Kinsing на зараженных серверах Linux / Docker

Предотвращаем работу майнинговой малвари под названием Kinsing....

Подробнее
Как назначить конкретную подсеть контейнерам Docker

Создание выделенной сети контейнерам Docker....

Подробнее
Настройка NFS хранилища в CentOS 8 / RHEL 8

Создание простого сетевого хранилища данных NFS....

Подробнее
Настройка управления сетью в CentOS 8 / RHEL 8

Управление сетью с помощью NetworkManager в CentOS 8 / RHEL 8....

Подробнее
Установка и настройка Ansible в Ubuntu

Учимся использовать Ansible на сервере Ubuntu....

Подробнее
Дамп трафика с использованием ETW, Wireshark и tcpdump

Анализируем трафик с использованием стандартных утилит в Windows и Linux....

Подробнее
Комментарии (0)
Новые комментарии
komronu8 сентября 2022 18:23

Салом, можно ещё создать файл в /etc/nginx/proxy_params, a потом добавить туда

img
К комментарию
sobir26 августа 2022 10:43

Можно ещё так: 1. Создаем отдельную сеть для наших контейнеров docker network

img
К комментарию
komronu22 августа 2022 15:12

Спасибо за отзыв, написал отдельную статью по установке и настройке Ansible

img
К комментарию
sobir19 августа 2022 18:00

Думаю в статье необходимо также описать процесс установки Ansible.

img
К комментарию
sobir17 октября 2021 11:40

Принудительное обновление сертификата: certbot certonly --force-renew -d

img
К комментарию
sobir7 августа 2021 15:35

Получаем SSL сертификат с помощью плагина nginx: certbot certonly --nginx -d

img
К комментарию
Все комментарии
Какой дистрибутив Linux вы часто используете?
Календарь
«    Январь 2023    »
ПнВтСрЧтПтСбВс
 1
2345678
9101112131415
16171819202122
23242526272829
3031 
Облако тегов