Вопрос или проблема
В данный момент я использую Ubuntu Server 16.04 x86_64 на виртуальной машине VirtualBox.
Мне нужно настроить имитационный интерфейс, который должен запускаться при загрузке. Я добавил модуль dummy в /etc/modules и пробовал его запустить, добавив следующие строки в /etc/network/interfaces:
auto dummy0
iface dummy0 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.1
Но после перезагрузки я не вижу интерфейс. Если я создаю его вручную с помощью команды ip link, он работает без проблем, поэтому я хотел бы спросить, знает ли кто-либо способ сделать так, чтобы этот интерфейс автоматически запускался при загрузке.
Заранее спасибо.
Не может ли это быть связано с тем, что сеть управляется Network Manager?
Согласно этой вики, проверьте, чтобы в файле /etc/NetworkManager/NetworkManager.conf содержалось:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
Проверьте, чтобы etc/network/interfaces не был перезаписан; если это так, добавьте ваши изменения снова и затем перезагрузите. Посмотрите, что произойдет.
Если вам не нужен Network Manager, вы можете его удалить.
sudo apt-get remove network-manager
Посмотрите на этот связанный ответ.
Я решил эту проблему с двух сторон. Во-первых, я пытался использовать неправильный тип сетевого интерфейса, мне нужен был интерфейс tap, а не dummy. Во-вторых, я использовал этот пост https://ubuntuforums.org/showthread.php?t=830777&page=2, чтобы сделать tap постоянным.
Я изменил его, чтобы использовать “ip” в качестве команды pre-up следующим образом:
ip tuntap add dev tap9 mode tap
И теперь, когда я перезапускаю свой VPS, интерфейс tap присутствует.
Спасибо всем за ваши предложения.
Ответ или решение
Конечно! Давайте разберемся с вашей проблемой настройки виртуального интерфейса на Ubuntu Server 16.04.
Проблема
Вы пытаетесь создать интерфейс типа dummy, который должен автоматически подниматься при загрузке системы. Однако после перезагрузки интерфейс не появляется, даже после того как вы добавили соответствующие записи в файл /etc/network/interfaces
.
Возможные причины
Одной из причин может быть вмешательство Network Manager, который управляет сетевыми интерфейсами и может перезаписывать ваши настройки.
Решения
-
Проверка конфигурации Network Manager:
Убедитесь, что файл конфигурации Network Manager имеет следующие настройки:
[main] plugins=ifupdown,keyfile [ifupdown] managed=false
Если файл
/etc/NetworkManager/NetworkManager.conf
настроен на управление вашими интерфейсами (т.е.,managed=true
), это может быть причиной того, что ваши настройки в/etc/network/interfaces
игнорируются. -
Отключение Network Manager:
Если вы не планируете использовать Network Manager, вы можете его удалить:
sudo apt-get remove network-manager
Это позволит вашим настройкам в
/etc/network/interfaces
работать корректно без вмешательства. -
Настройка интерфейса:
После внесения изменений вернитесь к настройкам вашего интерфейса в файле
/etc/network/interfaces
:auto dummy0 iface dummy0 inet static address 10.0.0.1 netmask 255.255.255.0 gateway 10.0.0.1
После этого перезагрузите систему и проверьте, доступен ли интерфейс.
-
Использование других типов интерфейсов (если необходимо):
Если вам, как вы отметили, нужен интерфейс типа tap вместо dummy, вы можете использовать предварительные команды для его создания. Добавьте в файл
/etc/network/interfaces
следующее:auto tap9 iface tap9 inet manual pre-up ip tuntap add dev tap9 mode tap
Это создаст интерфейс tap9 при запуске системы. Также убедитесь, что вы правильно указали настройки IP, если вам нужно присвоить адреса.
Проверка
После всех изменений, перезагрузите вашу систему:
sudo reboot
И проверьте, что интерфейс теперь отображается:
ip link show
Заключение
После выполнения этих шагов ваш виртуальный интерфейс должен автоматически подниматься при загрузке сервера. Если будут возникать дополнительные вопросы или трудности, не стесняйтесь обращаться за помощью. Удачи!