Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Настройка сети LXC  (Прочитано 5037 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kr1og5n

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Настройка сети LXC
« : 17 Декабря 2013, 01:29:24 »
Здравствуйте! Не могу допереть, что делаю не так. Сделал контейнер, создал бридж в хост-машине:
auto br0
iface br0 inet static
 address 192.168.0.10
 network 192.168.0.0
 netmask 255.255.255.0
 broadcast 192.168.0.255
 gateway 192.168.0.1
 bridge_ports eth0
 bridge_fd 9
 bridge_hello 2
 bridge_maxage 12
 bridge_stp off

В настройках контейнера указал:
lxc.network.type=veth
lxc.network.link=br0
lxc.network.ipv4 = 192.168.0.20/24
lxc.network.flags=up
lxc.network.hwaddr = 00:16:3e:b9:f8:74
lxc.utsname = vm

Из контейнера хост-машина пингуется, но доступа к инету нет. Из локалки контейнер недоступен.

Вопрос, как сделать контейнер доступным в сети? Много гуглил, пробовал, но так и не заработало...

Заранее благодарю за помощь!

Сам ничего не умеешь? Учи других!

Оффлайн Scorry

  • Активист
  • *
  • Сообщений: 842
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #1 : 17 Декабря 2013, 01:36:50 »
lxc.network.ipv4 = 192.168.0.20/24
Здесь должен быть адрес, а не диапазон.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #2 : 17 Декабря 2013, 01:39:24 »
LXC эмул инет не работает?
Wars ~.o

Оффлайн Scorry

  • Активист
  • *
  • Сообщений: 842
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #3 : 17 Декабря 2013, 01:41:35 »
lxc.network.ipv4 = 192.168.0.20/24
Здесь должен быть адрес, а не диапазон. Кроме того, он выделяется из диапазона 10.0.3.xxx. После переинициализации контейнер представляет собой как бы машину с адресом во внутренней сети. Для доступа к ней наружу просто пробросить нужные порты.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #4 : 17 Декабря 2013, 01:49:39 »
cat /etc/default/lxc
Wars ~.o

Оффлайн Kr1og5n

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #5 : 17 Декабря 2013, 09:08:59 »
lxc.network.ipv4 = 192.168.0.20/24
Здесь должен быть адрес, а не диапазон. Кроме того, он выделяется из диапазона 10.0.3.xxx. После переинициализации контейнер представляет собой как бы машину с адресом во внутренней сети. Для доступа к ней наружу просто пробросить нужные порты.
Это не диапазон, а адрес с сетью. И по примерам в самом lxc адрес указывается именно так, в этом сомнений нет.
По поводу диапазона я знаю, по умолчанию действительно создается бридж со своей подсетью, но меня этот вариант не устраивает.

victor00000
# MIRROR to be used by ubuntu template at container creation:
# Leaving it undefined is fine
#MIRROR="http://archive.ubuntu.com/ubuntu"
# or
#MIRROR="http://<host-ip-addr>:3142/archive.ubuntu.com/ubuntu"

# LXC_AUTO - whether or not to start containers symlinked under
# /etc/lxc/auto
LXC_AUTO="true"

# Leave USE_LXC_BRIDGE as "true" if you want to use lxcbr0 for your
# containers.  Set to "false" if you'll use virbr0 or another existing
# bridge, or mavlan to your host's NIC.
USE_LXC_BRIDGE="true"

# If you change the LXC_BRIDGE to something other than lxcbr0, then
# you will also need to update your /etc/lxc/lxc.conf as well as the
# configuration (/var/lib/lxc/<container>/config) for any containers
# already created using the default config to reflect the new bridge
# name.
# If you have the dnsmasq daemon installed, you'll also have to update
# /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.
LXC_BRIDGE="lxcbr0"
LXC_ADDR="10.0.3.1"
LXC_NETMASK="255.255.255.0"
LXC_NETWORK="10.0.3.0/24"
LXC_DHCP_RANGE="10.0.3.2,10.0.3.254"
LXC_DHCP_MAX="253"

LXC_SHUTDOWN_TIMEOUT=120

Про стандартный бридж я в курсе, но я же вроде как в конфиге самого контейнера поменял используемый бридж.
Что дальше?
« Последнее редактирование: 17 Декабря 2013, 09:12:23 от Kr1og5n »
Сам ничего не умеешь? Учи других!

Оффлайн Scorry

  • Активист
  • *
  • Сообщений: 842
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #6 : 17 Декабря 2013, 14:59:18 »
Это не диапазон, а адрес с сетью. И по примерам в самом lxc адрес указывается именно так, в этом сомнений нет.
По поводу диапазона я знаю, по умолчанию действительно создается бридж со своей подсетью, но меня этот вариант не устраивает.
Ну если ты всё знаешь, зачем тогда спрашиваешь? :-) У меня настроено иначе и работает. Продолжай считать так, как считаешь.

Оффлайн Kr1og5n

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #7 : 17 Декабря 2013, 17:29:51 »
Ок, изменил конфиг. Поставил просто адрес. Контейнер так же не пингуется и не видит сети...
Сам ничего не умеешь? Учи других!

Оффлайн Scorry

  • Активист
  • *
  • Сообщений: 842
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #8 : 17 Декабря 2013, 18:30:56 »
Ок, изменил конфиг. Поставил просто адрес. Контейнер так же не пингуется и не видит сети...
У меня работает. У меня стоит адрес из диапазона 10.0.3.ххх — не суть важно, какой именно. Работал и видел сеть с самого начала, без каких-либо настроек и каких-либо телодвижений. Сервер 12.04, установил из репозитория, создал контейнер по умолчанию, запустил — сразу же завелось и полетело. Апдейт, апгрейд, установка пакетов — всё как на обычной системе. Единственное, что сделал руками снаружи — назначил фиксированный адрес и пробросил ssh наружу для доступа владельцу контейнера. Всё.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #9 : 17 Декабря 2013, 18:33:13 »
/sbin/ifconfig > /ip.txt
root@maxoft-ZBOX-ID84:~#
root@maxoft-ZBOX-ID84:~# cat /var/lib/lxc/ok/rootfs/etc/rc.local
#!/bin/sh -e
/sbin/ifconfig > /ip.txt
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
root@maxoft-ZBOX-ID84:~#


cat /var/lib/lxc/ok/rootfs/ip.txt
root@maxoft-ZBOX-ID84:~#
root@maxoft-ZBOX-ID84:~# cat /var/lib/lxc/ok/rootfs/ip.txt
eth0      Link encap:Ethernet  HWaddr 00:00:0c:89:81:10 
          inet addr:10.0.3.160  Bcast:10.0.3.255  Mask:255.255.255.0
          inet6 addr: fe80::200:cff:fe89:8110/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:41 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4468 (4.3 KiB)  TX bytes:3022 (2.9 KiB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:480 (480.0 B)  TX bytes:480 (480.0 B)

root@maxoft-ZBOX-ID84:~#
просто
Wars ~.o

Оффлайн Kr1og5n

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #10 : 17 Декабря 2013, 23:39:38 »
Ок, изменил конфиг. Поставил просто адрес. Контейнер так же не пингуется и не видит сети...
У меня работает. У меня стоит адрес из диапазона 10.0.3.ххх — не суть важно, какой именно. Работал и видел сеть с самого начала, без каких-либо настроек и каких-либо телодвижений. Сервер 12.04, установил из репозитория, создал контейнер по умолчанию, запустил — сразу же завелось и полетело. Апдейт, апгрейд, установка пакетов — всё как на обычной системе. Единственное, что сделал руками снаружи — назначил фиксированный адрес и пробросил ssh наружу для доступа владельцу контейнера. Всё.
Вы меня не поняли. Из коробки у меня тоже все работает, но данная конфигурация меня не устраивает. Я хочу чтобы не было моста внутрь контейнеров со своей сетью, мне нужно, чтобы все контейнеры были в общей локальной сети.

victor00000, а Ваш ход мыслей я так и не уловил. Если не трудно объясните более конкретно.
Сам ничего не умеешь? Учи других!

Оффлайн oermolaev

  • Старожил
  • *
  • Сообщений: 1478
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #11 : 18 Декабря 2013, 09:45:59 »
...Я хочу чтобы не было моста внутрь контейнеров со своей сетью, мне нужно, чтобы все контейнеры были в общей локальной сети...
вот эта фраза вызывает недоумение, разве второе не следует из наличия первого?  :idiot2:

Оффлайн Kr1og5n

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #12 : 18 Декабря 2013, 11:26:25 »
...Я хочу чтобы не было моста внутрь контейнеров со своей сетью, мне нужно, чтобы все контейнеры были в общей локальной сети...
вот эта фраза вызывает недоумение, разве второе не следует из наличия первого?  :idiot2:
Наверно мы друг друга не понимаем. По умолчанию работает так: все контейнеры находятся в изолированной сети 10.х.х.х, чтобы с ними как-то связаться надо создавать правила, пробрасывать порты.

Мне нужно чтобы у меня все контейнеры находились в локальной сети, допустим 192.168.1.0/24 и получали адреса не внутри своей сети, а от общего dhcp. Чтобы я с любого ПК этой сети мог зайти на этот контейнер, грубо говоря как на обычную машину.

Второе следует из наличия первого, но мост должен быть мой, а не по умолчанию. А с моим мостом, почему-то, контейнеры не видят ни сети, ни инета, ни чего кроме хост-машины.
Сам ничего не умеешь? Учи других!

Оффлайн Scorry

  • Активист
  • *
  • Сообщений: 842
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #13 : 18 Декабря 2013, 18:03:27 »
Наверно мы друг друга не понимаем. По умолчанию работает так: все контейнеры находятся в изолированной сети 10.х.х.х, чтобы с ними как-то связаться надо создавать правила, пробрасывать порты.

Мне нужно чтобы у меня все контейнеры находились в локальной сети, допустим 192.168.1.0/24 и получали адреса не внутри своей сети, а от общего dhcp. Чтобы я с любого ПК этой сети мог зайти на этот контейнер, грубо говоря как на обычную машину.

Второе следует из наличия первого, но мост должен быть мой, а не по умолчанию. А с моим мостом, почему-то, контейнеры не видят ни сети, ни инета, ни чего кроме хост-машины.
Да какая она изолированная? У меня из локалки контейнер доступен на раз-два по адресу. Пробрасывал я его наружу, через NAT, чтобы он из мира был доступен. Да, кстати, адреса им раздаёт тот самый dnsmasq. Если они не фиксированные, конечно.

Оффлайн Kr1og5n

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: Настройка сети LXC
« Ответ #14 : 18 Декабря 2013, 18:12:30 »
Ну как же не изолированные? Вот передо мной машина с контейнером. У машины адрес 192.168.1.190, у контейнера 10.0.3.205. С других машин этот адрес не пингуется, ни как достучаться до нее не представляется возможным, пока я не проброшу нужны порты.
Сам ничего не умеешь? Учи других!

 

Страница сгенерирована за 0.033 секунд. Запросов: 25.