Virtualbox, которые автоматический Сетевой мост Ubuntu создает на машине, запускаются

Я использую изображения Ubuntu 16.04

Я следую этому учебному руководству

Последняя часть, сделайте сетевую постоянную часть, не работает в моем сценарии.

На данном этапе сетевой мост будет отсоединен от eth1 при перезагрузке машины. Таким образом, вот еще две вещи установить постоянную настройку.

Обновление /etc/network/interfaces как это:

auto eth1 iface eth1 inet manual    
pre-up ifconfig $IFACE up   
post-down ifconfig $IFACE down

И включите следующую команду /etc/rc.local (прежде чем выйдут 0):

brctl addif docker1 eth1

После того, как я перезагружу машину, я не могу проверить с помощью ping-запросов IP от своего хоста. Таким образом, я подозреваю, rc.local не работал.

Я также пытался удалить -e параметр в rc.local файл, но после перезагрузки, все еще не работая.


Затем я пробую решение 2

Создайте файл docker-network.sh в каталоге /etc/init.d:

#!/bin/sh
sudo ip addr del 192.168.33.10/24 dev eth1
sudo brctl addif docker1 eth1

Сделайте это исполняемым файлом:

sudo chmod +x /etc/init.d/docker-network.sh

Создайте символьные ссылки для моего сценария для различного runlevels:

sudo update-rc.d docker-network.sh defaults

После того, как я перезапускаю свою виртуальную машину. Я все еще не могу проверить с помощью ping-запросов прямо к машине. Однако после того, как я SSH к машине я работаю /etc/init.d/docker-network.sh затем я могу ping это.

Таким образом, как я удостоверяюсь он способный бежать, я перезагружаю?

ОБНОВЛЕНИЕ

Я работаю sudo systemctl enable rc-local.service и перезапуск. Затем я работаю sudo systemctl status rc-local

vagrant@vagrant:~$ sudo systemctl status rc-local
● rc-local.service - /etc/rc.local Compatibility
   Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset:
  Drop-In: /lib/systemd/system/rc-local.service.d
           └─debian.conf
   Active: active (exited) since Mon 2017-08-21 09:27:56 UTC; 10min ago
  Process: 1247 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
      CPU: 0

Aug 21 09:27:56 vagrant systemd[1]: Starting /etc/rc.local Compatibility...
Aug 21 09:27:56 vagrant sudo[1259]:     root : TTY=unknown ; PWD=/ ; USER=root ;
Aug 21 09:27:56 vagrant sudo[1259]: pam_unix(sudo:session): session opened for u
Aug 21 09:27:56 vagrant sudo[1308]:     root : TTY=unknown ; PWD=/ ; USER=root ;
Aug 21 09:27:56 vagrant sudo[1308]: pam_unix(sudo:session): session opened for u
Aug 21 09:27:56 vagrant rc.local[1247]: bridge eth1 does not exist!
Aug 21 09:27:56 vagrant systemd[1]: Started /etc/rc.local Compatibility.
0
задан 21 August 2017 в 02:41

1 ответ

Ubuntu теперь превращена в использование systemd так как запущено в бета-версии Ubuntu 15.04 и rc.local находится "прочь" по умолчанию в 16,04.

Можно включить rc.local следующей командой и перезагрузкой Ваша Ubuntu.

sudo systemctl enable rc-local.service

Требуется проверить активное состояние следующей командой:

sudo systemctl status rc-local

На основе строки, распечатанной от вышеупомянутого результата команды:

21 августа rc.local[1247] бродяги 9:27:56: мост eth1 не существует

Это означает rc.local инициирован Ваш сценарий, и он выполнялся, но иногда rc.locsl при выполнении в самом первом при начальной загрузке и это заставляет некоторое прерывание быть, происходят при выполнении команд/сценария в Вашем rc.local.

Я предлагаю поместить тот sleep x прежде чем Ваша команда/сценарий должна работать в rc.local (где x может указать значение в секундах, можете, необходимо увеличить это xсекунды для наблюдения, когда это работает), также можно сделать sleep x в Вашем сценарии прежде, чем выполнить основную команду.

1
ответ дан 2 November 2019 в 19:19

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

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