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

12

Привет, есть кто-нибудь знакомый с не-GUI версии Ubuntus Network Manager?

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

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

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

мистифицировать
источник

Ответы:

6

Вам нужно использовать 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, но, похоже, это не активировало изменения, но перезагрузка сделала.)

Джон Симмондс
источник
Флаг типа не был очевиден для меня. Я настроил eth1интерфейс внутренней сети, используя статический IP. sudo nmcli con add type "ethernet" ifname "eth1" con-name "intnet" autoconnect "yes" ip4 "192.168.0.1/24" gw4 "192.168.0.2"
Джек Майнер Юз
6

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

Динамический IP-адрес довольно прост (просто настройте сеть, но не на стороне VBox):

[802-3-ethernet]
auto-negotiate=true
mac-address=XX:XX:XX:XX:XX:XX

[connection]
id=Wired connection 1
uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxx
type=802-3-ethernet
timestamp=0

[ipv6]
method=disabled

[ipv4]
method=auto

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

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

[802-3-ethernet]
auto-negotiate=true
mac-address=XX:XX:XX:XX:XX:XX

[connection]
id=Wired connection 2
uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxx
type=802-3-ethernet
timestamp=0

[ipv6]
method=ignore

[ipv4]
method=manual
dns=8.8.8.8;8.8.4.4;
address1=192.168.56.101/24,192.168.1.1
jtniehof
источник
1
Это каталог, в котором /etc/NetworkManager/system-connections/
хранится
3

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

iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1 (u had 102.168.1.1. So, I guessed it was a mistake)
AcidRod75
источник
5
ОП сказал, что он не хочет трогать / etc / network / interfaces
guntbert
Вы правы, я хотел бы сделать это через сетевой менеджер. Но так как в документации этого нет, трогательный файл интерфейсов будет в порядке.
Джош
2

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

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

гпп
источник
2

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

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

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

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


«Клиент» командной строки сетевого менеджера сбивает с толку и в значительной степени бесполезен по сравнению со стандартным способом управления интерфейсами в 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 eth0
iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 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

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

Wolfer
источник
Вы могли бы рассказать о команде ip- ifconfigидет на убыль.
Гантберт
2

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

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

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**
Juanjo
источник
0

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

iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1

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

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

user125242
источник
1
ОП сказал, что он не хочет трогать / etc / network / interfaces.
Гантберт
Это верно. Я так сказал. А пока мне нужно решение для нетплана. Работает ли команда nmcli ниже, когда используется netplan
Джош
0

Легко настроить статический 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
Виниций Торино
источник
Совместимо ли это с netplan?
Джош