Lxc-Linux Containers-добавление нового сетевого интерфейса без перезагрузки


Поиск в google, есть только один способ добавить новый сетевой интерфейс добавление в конфигурационный файл. Есть ли команда lxc, которую мы можем добавить в lively, (не нужно перезапускать контейнер)?

На странице указано, как добавить второй сетевой интерфейс: http://box.matto.nl/lxctwonics.html

Спасибо!

2 8
lxc

2 ответа:

Это очень сильно зависит от конфигурации интерфейса, который вы пытаетесь добавить в контейнер.

Если у вас есть существующий интерфейс на вашем хосте, который вы хотите видеть внутри контейнера:

# on the host:
pid=$(lxc-info -pHn foobar)
ip link set dev eth3 netns $pid name eth1

Это приведет к перемещению интерфейса вашего хоста eth3 в контейнер foobar, переименованный в eth1. Это примерно равно такой конфигурации:

lxc.network.type=phys
lxc.network.link=eth3
lxc.network.name=eth1

Другим полезным сценарием было бы создание нового интерфейса внутри контейнера., соединен с существующим мостом на хосте:

# on the host:
pid=$(lxc-info -pHn foobar)
ip link add name veth0 type veth peer name veth0_container
brctl addif br0 veth0
ip link set dev veth0_container netns $pid name veth0
Это создаст пару подключенных виртуальных интерфейсов ethernet (veth0 и veth0_container), добавит один из них к мосту br0, а другой переместит в контейнер foobar. Это примерно эквивалентно такой конфигурации:
lxc.network.type=veth
lxc.network.link=br0
lxc.network.name=veth0

Поток очень полезен, но мне пришлось настроить созданную ссылку, чтобы сделать доступ контейнера к сети:

Перед: (ip link)

11: veth0@if10: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master vmbr0 state DOWN mode DEFAULT group default qlen 1000
    link/ether 42:f1:f9:5a:5c:ae brd ff:ff:ff:ff:ff:ff link-netnsid 1

Установите связь:

ip link set dev veth0 up

После: (ip link)

11: veth0@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP mode DEFAULT group default qlen 1000
    link/ether 42:f1:f9:5a:5c:ae brd ff:ff:ff:ff:ff:ff link-netnsid 1