как построить мост между двумя виртуальными машинами?

Своего рода странная ошибка, так как это находится в системном заголовке. Я думаю, что существуют некоторые немного нечетные вещи сделанные библиотеки WRT, и включает в полученные дистрибутивы пи малины debian. Если Вы действительно действительно действительно захотите исходную сборку, то у Вас, вероятно, будет лучшая удача при кросс-компиляции, так как те эксцентриситеты не находятся в среде x-инструмента, но двоичные файлы должны все еще работать.

К счастью, Вы, вероятно, не должны делать этого также. Node.js поддерживает двоичный пакет для пи (среди прочего), и эти 0.10.19-> ЗДЕСЬ <-. Вы хотите node-v0.10.19-linux-arm-pi.tar.gz.

Вы не должны работать, настраивать/делать/и т.д. для использования того пакета. Это уже компилируется для пи и связывается против библиотек в Raspbian.Вот:

wget http://nodejs.org/dist/v0.10.19/node-v0.10.19-linux-arm-pi.tar.gz

Файл tar составляет только 5 МБ. Теперь:

tar -xvf node-v0.10.19-linux-arm-pi.tar.gz

Это создает каталог, node-v0.10.19-linux-arm-pi. Внутри Вы найдете три каталога:

/bin
/lib
/share

node двоичный исполняемый файл находится в bin. Я просто попробовал его здесь на пи кратко (bin/node) и это работало для выполнения нескольких простых команд js, таким образом, это - вероятно, вся польза 1, можно оставить все, как, и переместите его, где когда-либо Вы хотите, но Вы, вероятно, хотите добавить это bin каталог к Вашему $PATH. Например:

export PATH=/home/pi/node-v0.10.19-linux-arm-pi/bin:$PATH

Добавьте это к ~/.bashrc сделать это персистентным. Если Вы хотите выполнить узел как системную службу, необходимо будет создать сценарий и реализовать некоторую другую конфигурацию - но это - другой вопрос.

Существует также символьная ссылка на npm, диспетчер пакетов узла, в каталоге bin. /lib каталог не должен быть в пути системной библиотеки, потому что это - просто модули узла, но, вероятно, необходимо сказать узел, где это... Я не работал с узлом за несколько лет и не могу помочь с этим/share каталог содержит страницы справочника; можно хотеть скопировать их соответственно в /usr/share/man если Вы хотите получить доступ к ним обычно с man.3 Поочередно, Вы могли скопировать содержание всех трех каталогов в их дубликаты в /usr/local и используйте его тот путь.

1, Если это не работает правильно далеко для Вас, попробовать ldd bin/node. Должен быть нет ?? в выводе. Я полагаю, что все необходимые библиотеки должны уже быть там кроме, возможно, для libstdc++. Если это - проблема, просто apt-get install libstdc++6.

2 Используя и узел конфигурирования не пи определенная задача, поэтому если Вы ищете справку, с которой, Вы будете более обеспечены на более общем форуме, таком как: https://stackoverflow.com/, который имеет много node.js пользователей.

3 существует на самом деле только одна страница справочника. Можно считать его, не перемещая его путем определения пути и имени файла, например. man share/man/man1/node.1.

3
17.10.2015, 01:13
3 ответа

Причиной этого могут быть две вещи:

Одна из возможных причин - способ построения частной сети (с использованием моста на хосте). Было бы намного безопаснее и проще настроить это с помощью virt-manager . Если ваш хост - это только интерфейс командной строки, установите его на удаленный рабочий стол / ноутбук и подключитесь к хосту через SSH.

После установки подключитесь к гипервизору, щелкните его имя в списке правой кнопкой мыши и выберите «Подробности». На вкладке «Виртуальные сети» вы можете добавить новую сеть, нажав кнопку «+» (внизу слева). Мастер проведет вас через процесс, но убедитесь, что вы сняли флажки с опций для адресов IPv4 и IPv6 (они вам не нужны, поскольку это двухточечная ссылка) и выберите переключатель для «Частная сеть». . Продолжите работу с мастером и выйдите.

Если вы заядлый человек, работающий только с командной строкой, то описанное выше можно выполнить с помощью интерфейса командной строки virsh net-define . Создайте файл XML, такой как в примере ниже ( virbr2 - неиспользуемое имя моста - используйте brctl show , чтобы указать свое):

<network>
    <name>private</name>
    <bridge name="virbr2" />
</network>

Затем импортируйте его с помощью:

# virsh net-define <XML filename>

После того, как выше, вы можете отредактировать каждую виртуальную машину, чтобы использовать эту новую частную сеть (вам придется перезагрузить виртуальные машины, чтобы это вступило в силу). После того, как вы отредактировали конфигурацию виртуальной машины, вы будете готовы войти в каждую из них и настроить ОС с соответствующими данными IP (из вашего OP). Но сначала прочтите ...

Во-вторых, у вас нет маршрутов между двумя виртуальными машинами, указывающих на новые интерфейсы. Другой Это потому, что вы настроили IP-адрес с / 32 префикс.

При редактировании соединения используйте формат a.b.c.d / p для установки префикса; в противном случае, без префикса, по умолчанию будет / 32 :

# nmcli con edit "Wired connection 1"
nmcli> set ipv4.addresses 10.1.1.1/30
nmcli> save
nmcli> quit
# systemctl restart network

Настройка сети вручную также работает:

NM_CONTROLLED=no
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
IPADDR=10.1.1.1
PREFIX=30

Выполните аналогичную процедуру на другой виртуальной машине ( 10.1.1.2/30 ), и он должен работать.

Примечание. Вы можете использовать / 31 , но только если вы изменили IP-адреса на 10.1.1.0 и 10.1.1.1 . Это может вызвать проблемы, поскольку первый адрес в диапазоне обычно зарезервирован для сетевого адреса, а последний - для широковещательной рассылки. Поскольку у вас есть только два адреса с / 31 , у вас не останется ни одного адреса для хостов. Лучше всего использовать / 30 , что дает вам 4 адреса - два зарезервированных и два для ваших хостов.

1
27.01.2020, 21:46

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

Думайте об этом так, как будто у каждого сервера есть два сетевых адаптера, один для общего доступа, а другой - только между ними. Используйте другой диапазон IP-адресов для этой сети, и они должны иметь возможность разговаривать друг с другом без каких-либо отклонений.

Если вы не можете установить новый мост и хотите что-то попроще, попробуйте просто добавить субинтерфейс к существующим сетевым адаптерам, которые используют другой диапазон IP-адресов. Если бы это был просто трафик LAN, я бы так и поступил.

Удачи!

-2
27.01.2020, 21:46

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

В противном случае вы хотите использовать virt-manager для настройки сетевых параметров vm и установить его на использование указанного вами интерфейса вместо автоматического управляемого моста по умолчанию, и вручную отредактировать /etc/network/interfaces для создания интерфейса моста, предназначенного для этой цели.

Вот мой вручную настроенный мост для Xen:

auto xenbr0
iface xenbr0 inet static
        bridge_ports em2
        address 10.1.1.8
        netmask 255.255.255.0
        network 10.1.1.0
        broadcast 10.1.1.255
        gateway 10.1.1.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 8.8.8.8
0
27.01.2020, 21:46

Теги

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