Как настроить статический IP-адрес для сетевого менеджера в Virtual Box на сервере Ubuntu

Привет, кто-нибудь знаком с версией ubuntus network Manager без графического интерфейса пользователя?

Я бы хотел настроить статический IP-адрес с его помощью в virtualbox, не прикасаясь к файлу /etc/network/interfaces.

  • IP: 192.168.56.101
  • Шлюз: 102.168.1.1
  • Маска сети: 255.255.255.0

Кроме того, я хотел бы настроить второй сетевой интерфейс с динамическим IP-адресом для подключения к Интернету с помощью Vbox.

Вам нужно использовать Network Manger из командной строки, это nmcli.

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

# nmcli con show

Это даст вам что-то вроде:

NAME                UUID                                  TYPE            DEVICE Wired connection 1  7a3b674a-f346-3cfb-8b30-ff70e6db1b60  802-3-ethernet  enp0s3

Затем вы можете изменить соединение следующим образом:

nmcli con mod "Wired connection 1"  ipv4.addresses "HOST_IP_ADDRESS/IP_NETMASK_BIT_COUNT"  ipv4.gateway "IP_GATEWAY"  ipv4.dns "PRIMARY_IP_DNS,SECONDARY_IP_DNS"  ipv4.dns-search "DOMAIN_NAME"  ipv4.method "manual"

Когда вы вводите вышеизложенное, используйте одну строку, я просто разделил ее на отдельные строки, чтобы сделать ее более понятной.

Если вы хотите настроить подключение на использование DHCP, вы можете использовать следующее:

nmcli con mod "Wired connection 1"  ipv4.addresses ""  ipv4.gateway ""  ipv4.dns ""  ipv4.dns-search ""  ipv4.method "auto"

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

Чтобы добавить сеть, используйте:

nmcli con add ...

С аналогичными параметрами.

Чтобы активировать настройки, перезагрузитесь. (Я попытался перезапустить Network Manager, но это, похоже, не активировало изменения, но перезагрузка сработала.)

Для тех, кто хочет использовать подход NetworkManager, я только что прошел через это, воспользовавшись подходом, предложенным mss. Есть небольшая информация о Debian wiki и полная документация по опциям на Сайт разработчика GNOME. (Судя по документам RHEL7, это действительно похоже на их версию nmcli имеет дополнительную поддержку, так что, надеюсь, это сработает.)

Динамический IP-адрес довольно прост (просто выполняйте сетевую конфигурацию, имейте в виду, а не на стороне VBox):

[802-3-ethernet]auto-negotiate=truemac-address=XX:XX:XX:XX:XX:XX[connection]id=Wired connection 1uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxxtype=802-3-ethernettimestamp=0[ipv6]method=disabled[ipv4]method=auto

Воспользуйся uuidgen (пакет uuid-runtime), чтобы создать uuid и, конечно же, правильно заполнить MAC-адрес. (Обычно это лучше сделать, чем указывать имя устройства.)

Для статического IP-адреса (обратите внимание на точку с запятой в массиве DNS!):

[802-3-ethernet]auto-negotiate=truemac-address=XX:XX:XX:XX:XX:XX[connection]id=Wired connection 2uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxxtype=802-3-ethernettimestamp=0[ipv6]method=ignore[ipv4]method=manualdns=8.8.8.8;8.8.4.4;address1=192.168.56.101/24,192.168.1.1

Обычно я редактирую файл /etc/network/interfaces и измените информацию на что-то вроде этого:

iface eth0 inet staticaddress 192.168.56.101netmask 255.255.255.0gateway 192.168.56.1 (u had 102.168.1.1. So, I guessed it was a mistake)

В настоящее время в версиях Ubuntu включен сетевой менеджер.

Вы можете получить имя соединения с помощью команды:

nmcli con show

Вы можете изменить свой статический ip-адрес из командной строки:

sudo nmcli con mod "Connection name" ipv4.addresses xxx.xxx.xxx.xxx/24

Примечание: /24 определяет сетевую маску как 255.255.255.0

Файл /ect/network/interfaces игнорируется, если у вас есть свойство managed=false на /etc/NetworkManager/NetworkManager.conf

[ifupdown]managed=**false**

Редактировать:

Чтобы добавить другой интерфейс, который может получить доступ к Интернету в Vbox, используйте вкладку сеть в меню настроек. Затем включите дополнительный интерфейс и установите для него значение NAT (так как это самый простой способ получить доступ к Интернету). И в виртуальной машине добавьте еще один интерфейс с dhcp примерно так:allow-hotplug eth1 и после перерыва на линии iface eth1 inet dhcp

(По какой-то причине мое форматирование пошло не так.)

И таким образом, вы можете получить доступ к сети, используя подключение к хост-ОС.


"Клиент" командной строки network-manager сбивает с толку и практически бесполезен по сравнению со стандартным способом управления интерфейсами в Linux (и большинстве других unix).Обычно вы сначала отключаете уже включенный сетевой интерфейс (если он включен) {запустите ifconfig, чтобы узнать}:

ifconfig eth0 down #note: I assume you want to configure eth0, replace it if not

После этого отредактируйте файл /etc /network/interfaces (я предпочитаю использовать nano):

sudo nano /etc/network/interfaces

И добавьте раздел в соответствии с:

allow-hotplug eth0iface eth0 inet staticaddress 192.168.56.101netmask 255.255.255.0gateway 192.168.56.1

Также имейте в виду, что вам необходимо удалить из файла любое другое присутствие eth0, иначе система не сможет правильно проанализировать файл, и у вас не будет сетевого подключения.И, наконец, вам нужно будет повторно включить интерфейс:

ifup eth0

И это должно привести к тому, что ваша ubuntu автоматически настроит интерфейс с нужными вам параметрами всякий раз, когда обнаружит, что "кабель подключен".

Кроме того, если вы действительно хотите избежать редактирования файла интерфейсов, вы можете использовать:

ifconfig eth0 192.168.56.101 netmask 255.255.255.0 gateway 192.168.56.1 up

Я думать что таким образом изменения не будут постоянными (вы потеряете их между перезагрузками и т.д.), Но я сам этого не проверял.

Поскольку вопрос конкретно касается NetworkManager: Я никогда не настраивал соединение NM из cli и nmcli похоже, что у инструмента нет возможности создать соединение. Но вы, возможно, захотите посмотреть, что делает графический интерфейс, когда вы объявляете соединение как системное соединение. Он создает файл в /etc/NetworkManager/system-connections но я не знаю, задокументирован ли где-нибудь формат файла.

Вы должны иметь возможность включить одно из этих подключений через nmcli con up $name.

предполагая, что вы имели в виду 192.168.1.1 вместо 102.168.1.1. 192.168.56.101 и 192.168.1.1 находятся в разных сетях и не будут общаться без посторонней помощи. что вам нужно, так это это:

iface eth0 inet staticaddress 192.168.56.101netmask 255.255.255.0gateway 192.168.56.1

предполагая, что у вас есть коробка (маршрутизатор / коммутатор layer3 и т.д.) С IP-адресом 192.168.56.1 для ответа.

С помощью a /24 (255.255.255.0) вам необходимо, чтобы первые три октета совпадали на хосте и шлюзе по умолчанию, 192.168.56.X или 192.168.1.X.

Простая настройка статического IP-адреса с помощью шлюза и dns:

$ sudo nmcli con mod Your-Network ipv4.addr 172.17.100.118/23 gw4 172.17.100.1 ipv4.dns 1.1.1.1,1.0.0.1