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

RHEL / Containers 9-10-2020, 10:17 sobir 1 546 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....

Подробнее
Получаем реальные IP-адреса клиентов за Cloudflare в логах NGINX

Получаем реальные IP-адреса клиентов за Cloudflare в лог-файлах nginx access log....

Подробнее
Комментарии (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
К комментарию
sobir3 июля 2021 14:19

Можно, но я решил описать процесс копирования ключей более подробно.

img
К комментарию
Все комментарии
Какой дистрибутив Linux вы часто используете?
Календарь
«    Март 2024    »
ПнВтСрЧтПтСбВс
 123
45678910
11121314151617
18192021222324
25262728293031
Подпишись на канал