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

RHEL / Containers 9-10-2020, 10:17 sobir 3 253 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)
Новые комментарии
sobir8 ноября 2024 12:42

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные

img
К комментарию
FidoNet7 ноября 2024 03:26

Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные статьи что находил

img
К комментарию
sobir27 октября 2024 19:02

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Можт быть дело в

img
К комментарию
FidoNet25 октября 2024 22:04

Цитата: sobir Цитата: FidoNet Можт быть дело в dnsmasq.service? Ошибка Failed

img
К комментарию
sobir25 октября 2024 16:48

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные

img
К комментарию
FidoNet20 октября 2024 12:12

Можт быть дело в dnsmasq.service? Ошибка Failed to set DNS configuration: Unit

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