Виртуальный бокс Ubuntu Network Bridge автоматически создается при запуске машины

Я использую Ubuntu 16.04 images

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

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

На этом этапе сетевой мост будет отключен от 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, но после перезагрузки все еще не работает.

[ ! d10]

Далее я попробую решение 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

Создайте символические ссылки для моего скрипта для разных уровней выполнения:

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

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

Итак, как я могу убедиться, что он может работать после перезагрузки?

решение 2

Я запустил 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 в 12:41

3 ответа

Теперь Ubuntu превращается в использование systemd с момента запуска в бета-версии Ubuntu 15.04 и rc.local по умолчанию в 16.04.

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

sudo systemctl enable rc-local.service

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

sudo systemctl status rc-local

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

Aug 21 09:27:56 vagrant rc.local [1247]: bridge eth1 не существует

Это означает, что rc.local запускает ваш скрипт, и он выполняется, но иногда rc.locsl выполняется в первый раз, когда

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

1
ответ дан 22 May 2018 в 19:27
  • 1
    @OP Вам также может потребоваться посмотреть здесь How to Enable /etc/rc.local with Systemd – αғsнιη 17 August 2017 в 11:10
  • 2
    Я обновил больше информации в своем вопросе, значит, он работает, но мой скрипт не работает? – Shiro 21 August 2017 в 12:42
  • 3
    см. эту строку Aug 21 09:27:56 vagrant rc.local[1247]: bridge eth1 does not exist, это означает, что ваш скрипт выполнен, но, как я предполагаю, начиная с rc.locsl, выполняющегося с самого первого запуска, я предлагаю поставить один sleep x, прежде чем ваша команда / скрипт должна работать в rc.local (где [d0 ] x может указывать значение в секундах, возможно, вам нужно увеличить xseconds, чтобы увидеть, когда оно работает) и проверить, работает ли оно или нет. один раз из sleep x Я ваш скрипт и chcck – αғsнιη 21 August 2017 в 13:35

Теперь Ubuntu превращается в использование systemd с момента запуска в бета-версии Ubuntu 15.04 и rc.local по умолчанию в 16.04.

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

sudo systemctl enable rc-local.service

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

sudo systemctl status rc-local

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

Aug 21 09:27:56 vagrant rc.local [1247]: bridge eth1 не существует

Это означает, что rc.local запускает ваш скрипт, и он выполняется, но иногда rc.locsl выполняется в первый раз, когда

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

1
ответ дан 18 July 2018 в 08:30

Теперь Ubuntu превращается в использование systemd с момента запуска в бета-версии Ubuntu 15.04 и rc.local по умолчанию в 16.04.

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

sudo systemctl enable rc-local.service

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

sudo systemctl status rc-local

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

Aug 21 09:27:56 vagrant rc.local [1247]: bridge eth1 не существует

Это означает, что rc.local запускает ваш скрипт, и он выполняется, но иногда rc.locsl выполняется в первый раз, когда

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

1
ответ дан 24 July 2018 в 19:06

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

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