Как создать вторичный мост lxd?

Это решение, основанное на ответе fossfreedom на другой вопрос: Синхронизация 2 Ubuntu Systems с Unison, руководство Unison и мой ответ на другой вопрос.

Setup

Оба компьютера [ ! d6] sudo apt-get install openssh-server unison Проверьте связь SSH с каждого компьютера на другой.

На компьютере, который может быть за NAT

sudo apt-get install openssh-server unison nano default.prf & ndash; Создайте файл профиля с именем default. Проверьте связь SSH с каждого компьютера на другой.

Sync

Синхронизируйте компьютеры, запустив unison -auto default на компьютере, который может находиться за NAT. Это синхронизируется ~/Documents. Я делаю это до и после того, как мой ноутбук выходит из локальной сети с моим рабочим столом, чтобы синхронизировать их документы.

1
задан 26 November 2017 в 01:04

3 ответа

ПРИМЕЧАНИЕ. Клиент LXC на компьютере способен использовать удаленные экземпляры LXC. Все, что находится между квадратными скобками [ ] в информации об использовании здесь, должно игнорироваться, так как я объясню, что делать вместе с ним. Я также использую команды launch, предоставленные из вопроса OP, но вы можете использовать любой образ ОС для запуска, который вам нужен.

Вместо использования brctl напрямую, а затем возиться с отдельными конфигурациями контейнеров, используйте вместо этого lxc network create, и пусть LXD управляет этими мостами. Это делает создание мостов очень легким и не дает нам головных болей. (Это то, что я делаю в нескольких средах LXD).

Из использования:

lxc network create [<remote>:]<network> [key=value...]
    Create a network.

Эффективно просто выполните lxc network create lxcbr1 или все, что вы хотите назвать.

Проблема в том, что вы должны указать это где-то. Я лично использую профили конфигурации для этого, особенно если мне приходится связываться с несколькими мостами.

Теперь, действительно У меня есть отдельные профили для отдельных мостов, и не ставьте два на тот же самый ящик, но в вашем случае у вас будет два определения моста LXD. Итак, нам нужно создать для них конфигурационный профиль.

Если вам нужно несколько мостов на контейнере одновременно ...

Start путем копирования конфигурации default в конфигурацию multibridge:

lxc profile copy default multibridge

После этого нам нужно отредактировать новый файл multibridge, чтобы он имел несколько сетевых устройств.

lxc profile edit multibridge

В файле вы увидите что-то подобное:

devices:
  eth0:
    nictype: bridged
    parent: lxdbr0
    type: nic

Создайте новую пустую строку после строки type и добавьте строки, чтобы она выглядела так:

devices:
  eth0:
    nictype: bridged
    parent: lxdbr0
    type: nic
  eth1:
    nictype: bridged
    parent: testing
    type: nic

Не редактируйте ничего в файле и сохраняйте его.

Теперь мы должны сообщить LXD о создании нового контейнера, но использовать профиль multibridge :

lxc launch images:centos/7/amd64 MyCentos -p multibridge

Это позволит LXD использовать профиль multibridge, который мы только что настроили в качестве профиля конфигурации для нового контейнера, и он должен использовать оба lxdbr0 и lxdbr1 в eth0 и eth1 соответственно в контейнере.

Если вам нужно несколько мостов на контейнере одновременно ... Система не умна и не настроить eth1 должным образом. Таким образом, вам нужно зайти в вашу систему CentOS и настроить конфигурацию для eth1 самостоятельно, чтобы установить ее как DHCP, так и статические IP-адреса в пределах диапазонов IP-адресов конфигурации lxdbr1. В противном случае этот интерфейс никогда не будет поднят. Поскольку эта конфигурация будет отличаться от ОС к ОС, я не могу дать вам четкого ответа здесь, как настроить каждый сетевой интерфейс на каждом изображении. Для этого доступны другие ресурсы.

Если вам нужен только новый мост, а не несколько мостов на одном контейнере за раз ...

Тогда нам нужно создать профиль для этого.

lxc profile copy default lxdbr1

... И затем отредактируйте этот новый профиль.

lxc profile edit lxdbr1

... И один раз там, найдите, где lxdbr0 указан и измените его на lxdbr1.

И, как и выше, запустите контейнер LXD и укажите для него профиль lxdbr1.

lxc launch images:centos/7/amd64 MyCentos -p lxdbr1

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

Просто какая-то постконфигурация теперь:

Вы также можете пересмотреть все отдельные сетевые элементы, если знаете конфигурации, которые нужно ввести, отредактировав конфигурацию сети lxdbr1, не используя brctl и просто вызовите lxc network edit lxdbr1 и добавьте отдельные конфигурации , Это позволяет lxd фактически обрабатывать все и не заставляет вас вручную настраивать мост с помощью brctl (и позволяет LXD управлять мостом).

Возможно, вы захотите настроить сетевая конфигурация, аналогичная приведенной ниже, которая отключает автоматический NAT и позволяет настроить способ передачи данных в Интернет вручную для вашего второго моста (вы можете внести изменения в конфигурацию моста через lxc network edit lxdbr1, если хотите использовать lxdbr1 как имя). Обратите внимание на использование здесь ipv4.nat: "false", которое отключает правило iptables 'MASQUERADE, которое делает его похожим на самую систему, достигающую исходящего:

config:
  ipv4.address: 10.75.251.1/24
  ipv4.dhcp: "true"
  ipv4.dhcp.ranges: 10.75.251.200-10.75.251.250
  ipv4.nat: "false"

Также есть эквивалентные команды IPv6, но IPv4 легче работать, поэтому я опускаю это здесь. Как только это будет сделано, вам необходимо перезагрузить контейнеры. Тем более, что мы установили все на dhcp.

2
ответ дан 22 May 2018 в 15:54
ПРИМЕЧАНИЕ. Клиент LXC на компьютере способен использовать удаленные экземпляры LXC. Все, что находится между квадратными скобками [ ] в информации об использовании здесь, должно игнорироваться, так как я объясню, что делать вместе с ним. Я также использую команды launch, предоставленные из вопроса OP, но вы можете использовать любой образ ОС для запуска, который вам нужен.

Вместо использования brctl напрямую, а затем возиться с отдельными конфигурациями контейнеров, используйте вместо этого lxc network create, и пусть LXD управляет этими мостами. Это делает создание мостов очень легким и не дает нам головных болей. (Это то, что я делаю в нескольких средах LXD).

Из использования:

lxc network create [<remote>:]<network> [key=value...] Create a network.

Эффективно просто выполните lxc network create lxcbr1 или все, что вы хотите назвать.

Проблема в том, что вы должны указать это где-то. Я лично использую профили конфигурации для этого, особенно если мне приходится связываться с несколькими мостами.

Теперь, действительно У меня есть отдельные профили для отдельных мостов, и не ставьте два на тот же самый ящик, но в вашем случае у вас будет два определения моста LXD. Итак, нам нужно создать для них конфигурационный профиль.

Если вам нужно несколько мостов на контейнере одновременно ...

Start путем копирования конфигурации default в конфигурацию multibridge:

lxc profile copy default multibridge

После этого нам нужно отредактировать новый файл multibridge, чтобы он имел несколько сетевых устройств.

lxc profile edit multibridge

В файле вы увидите что-то подобное:

devices: eth0: nictype: bridged parent: lxdbr0 type: nic

Создайте новую пустую строку после строки type и добавьте строки, чтобы она выглядела так:

devices: eth0: nictype: bridged parent: lxdbr0 type: nic eth1: nictype: bridged parent: testing type: nic

Не редактируйте ничего в файле и сохраняйте его.

Теперь мы должны сообщить LXD о создании нового контейнера, но использовать профиль multibridge :

lxc launch images:centos/7/amd64 MyCentos -p multibridge

Это позволит LXD использовать профиль multibridge, который мы только что настроили в качестве профиля конфигурации для нового контейнера, и он должен использовать оба lxdbr0 и lxdbr1 в eth0 и eth1 соответственно в контейнере.

Если вам нужно несколько мостов на контейнере одновременно ... Система не умна и не настроить eth1 должным образом. Таким образом, вам нужно зайти в вашу систему CentOS и настроить конфигурацию для eth1 самостоятельно, чтобы установить ее как DHCP, так и статические IP-адреса в пределах диапазонов IP-адресов конфигурации lxdbr1. В противном случае этот интерфейс никогда не будет поднят. Поскольку эта конфигурация будет отличаться от ОС к ОС, я не могу дать вам четкого ответа здесь, как настроить каждый сетевой интерфейс на каждом изображении. Для этого доступны другие ресурсы.

Если вам нужен только новый мост, а не несколько мостов на одном контейнере за раз ...

Тогда нам нужно создать профиль для этого.

lxc profile copy default lxdbr1

... И затем отредактируйте этот новый профиль.

lxc profile edit lxdbr1

... И один раз там, найдите, где lxdbr0 указан и измените его на lxdbr1.

И, как и выше, запустите контейнер LXD и укажите для него профиль lxdbr1.

lxc launch images:centos/7/amd64 MyCentos -p lxdbr1

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

Просто какая-то постконфигурация теперь:

Вы также можете пересмотреть все отдельные сетевые элементы, если знаете конфигурации, которые нужно ввести, отредактировав конфигурацию сети lxdbr1, не используя brctl и просто вызовите lxc network edit lxdbr1 и добавьте отдельные конфигурации , Это позволяет lxd фактически обрабатывать все и не заставляет вас вручную настраивать мост с помощью brctl (и позволяет LXD управлять мостом).

Возможно, вы захотите настроить сетевая конфигурация, аналогичная приведенной ниже, которая отключает автоматический NAT и позволяет настроить способ передачи данных в Интернет вручную для вашего второго моста (вы можете внести изменения в конфигурацию моста через lxc network edit lxdbr1, если хотите использовать lxdbr1 как имя). Обратите внимание на использование здесь ipv4.nat: "false", которое отключает правило iptables 'MASQUERADE, которое делает его похожим на самую систему, достигающую исходящего:

config: ipv4.address: 10.75.251.1/24 ipv4.dhcp: "true" ipv4.dhcp.ranges: 10.75.251.200-10.75.251.250 ipv4.nat: "false"

Также есть эквивалентные команды IPv6, но IPv4 легче работать, поэтому я опускаю это здесь. Как только это будет сделано, вам необходимо перезагрузить контейнеры. Тем более, что мы установили все на dhcp.

2
ответ дан 18 July 2018 в 02:36
ПРИМЕЧАНИЕ. Клиент LXC на компьютере способен использовать удаленные экземпляры LXC. Все, что находится между квадратными скобками [ ] в информации об использовании здесь, должно игнорироваться, так как я объясню, что делать вместе с ним. Я также использую команды launch, предоставленные из вопроса OP, но вы можете использовать любой образ ОС для запуска, который вам нужен.

Вместо использования brctl напрямую, а затем возиться с отдельными конфигурациями контейнеров, используйте вместо этого lxc network create, и пусть LXD управляет этими мостами. Это делает создание мостов очень легким и не дает нам головных болей. (Это то, что я делаю в нескольких средах LXD).

Из использования:

lxc network create [<remote>:]<network> [key=value...] Create a network.

Эффективно просто выполните lxc network create lxcbr1 или все, что вы хотите назвать.

Проблема в том, что вы должны указать это где-то. Я лично использую профили конфигурации для этого, особенно если мне приходится связываться с несколькими мостами.

Теперь, действительно У меня есть отдельные профили для отдельных мостов, и не ставьте два на тот же самый ящик, но в вашем случае у вас будет два определения моста LXD. Итак, нам нужно создать для них конфигурационный профиль.

Если вам нужно несколько мостов на контейнере одновременно ...

Start путем копирования конфигурации default в конфигурацию multibridge:

lxc profile copy default multibridge

После этого нам нужно отредактировать новый файл multibridge, чтобы он имел несколько сетевых устройств.

lxc profile edit multibridge

В файле вы увидите что-то подобное:

devices: eth0: nictype: bridged parent: lxdbr0 type: nic

Создайте новую пустую строку после строки type и добавьте строки, чтобы она выглядела так:

devices: eth0: nictype: bridged parent: lxdbr0 type: nic eth1: nictype: bridged parent: testing type: nic

Не редактируйте ничего в файле и сохраняйте его.

Теперь мы должны сообщить LXD о создании нового контейнера, но использовать профиль multibridge :

lxc launch images:centos/7/amd64 MyCentos -p multibridge

Это позволит LXD использовать профиль multibridge, который мы только что настроили в качестве профиля конфигурации для нового контейнера, и он должен использовать оба lxdbr0 и lxdbr1 в eth0 и eth1 соответственно в контейнере.

Если вам нужно несколько мостов на контейнере одновременно ... Система не умна и не настроить eth1 должным образом. Таким образом, вам нужно зайти в вашу систему CentOS и настроить конфигурацию для eth1 самостоятельно, чтобы установить ее как DHCP, так и статические IP-адреса в пределах диапазонов IP-адресов конфигурации lxdbr1. В противном случае этот интерфейс никогда не будет поднят. Поскольку эта конфигурация будет отличаться от ОС к ОС, я не могу дать вам четкого ответа здесь, как настроить каждый сетевой интерфейс на каждом изображении. Для этого доступны другие ресурсы.

Если вам нужен только новый мост, а не несколько мостов на одном контейнере за раз ...

Тогда нам нужно создать профиль для этого.

lxc profile copy default lxdbr1

... И затем отредактируйте этот новый профиль.

lxc profile edit lxdbr1

... И один раз там, найдите, где lxdbr0 указан и измените его на lxdbr1.

И, как и выше, запустите контейнер LXD и укажите для него профиль lxdbr1.

lxc launch images:centos/7/amd64 MyCentos -p lxdbr1

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

Просто какая-то постконфигурация теперь:

Вы также можете пересмотреть все отдельные сетевые элементы, если знаете конфигурации, которые нужно ввести, отредактировав конфигурацию сети lxdbr1, не используя brctl и просто вызовите lxc network edit lxdbr1 и добавьте отдельные конфигурации , Это позволяет lxd фактически обрабатывать все и не заставляет вас вручную настраивать мост с помощью brctl (и позволяет LXD управлять мостом).

Возможно, вы захотите настроить сетевая конфигурация, аналогичная приведенной ниже, которая отключает автоматический NAT и позволяет настроить способ передачи данных в Интернет вручную для вашего второго моста (вы можете внести изменения в конфигурацию моста через lxc network edit lxdbr1, если хотите использовать lxdbr1 как имя). Обратите внимание на использование здесь ipv4.nat: "false", которое отключает правило iptables 'MASQUERADE, которое делает его похожим на самую систему, достигающую исходящего:

config: ipv4.address: 10.75.251.1/24 ipv4.dhcp: "true" ipv4.dhcp.ranges: 10.75.251.200-10.75.251.250 ipv4.nat: "false"

Также есть эквивалентные команды IPv6, но IPv4 легче работать, поэтому я опускаю это здесь. Как только это будет сделано, вам необходимо перезагрузить контейнеры. Тем более, что мы установили все на dhcp.

2
ответ дан 24 July 2018 в 17:36

Другие вопросы по тегам:

Похожие вопросы: