Як налаштувати статичний IP для мережевого менеджера у віртуальному вікні на сервері Ubuntu


14

Привіт, хтось знайомий з не-gui версією менеджера мережі ubuntus?

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

  • IP: 192.168.56.101
  • Шлюз: 102.168.1.1
  • Маска мережі: 255.255.255.0

Крім того, я хотів би встановити другий мережевий інтерфейс з динамічним IP для підключення до Інтернету за допомогою Vbox.

Відповіді:


7

Вам потрібно використовувати Менеджер з командного рядка, це 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 ...

З подібними параметрами.

Щоб активувати налаштування, перезавантажте. (Я спробував перезапустити Менеджер мережі, але це, здається, не активувало зміни, але перезавантаження зробило.)


Прапор типу для мене не був очевидним. Я створив 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 tack. Доступна інформація про вікі 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

1
Це каталог, де живуть файли вище/etc/NetworkManager/system-connections/
Aaron Lelevier

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)

5
ОП заявила, що не хоче торкатися / etc / network / interfaces
guntbert

Ти маєш рацію, я хотів би зробити це через мережевий менеджер. Але оскільки документація цього не стосується файлів інтерфейсів буде нормально.
Джош

2

Оскільки питання стосується саме NetworkManager: я ніколи не налаштовував NM-з'єднання з cli, і nmcliінструмент, схоже, не має можливості створити з'єднання. Але ви, можливо, захочете ознайомитись з тим, що робить графічний інтерфейс користувача, коли оголошуєте про з'єднання як системне з'єднання. Він створює файл у, /etc/NetworkManager/system-connectionsале я не знаю, чи формат файлу десь задокументований.

Ви повинні мати можливість увімкнути одне з цих з'єднань через nmcli con up $name.


2

Редагувати:

Щоб додати інший інтерфейс, який має доступ до Інтернету у Vbox, скористайтеся вкладкою мережі меню налаштувань. Потім увімкніть додатковий інтерфейс і встановіть його на NAT (оскільки це найпростіший спосіб дістатися до Інтернету). А у віртуальну машину додайте ще один інтерфейс з dhcp таким чином: allow-hotplug eth1і після linebreakiface eth1 inet dhcp

(Чомусь моє форматування пішло погано.)

І таким чином ви можете отримати доступ до мережі за допомогою підключення хост-ОС.


"Клієнт" мережевого менеджера командного рядка заплутаний і в значній мірі марний в порівнянні зі стандартним способом управління інтерфейсами під Linux (і більшістю інших Unixes). Зазвичай ви спершу знімете вже ввімкнений мережевий інтерфейс (якщо його включено) {запустіть 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 з файлу othervise, система не зможе правильно розібрати файл, і у вас не буде мережевого з'єднання. І нарешті вам потрібно буде знову включити інтерфейс:

ifup eth0

І це повинно призвести до того, що ваш ubuntu автоматично налаштовує інтерфейс з потрібними параметрами щоразу, коли виявить, що "кабель підключений".

Також якщо ви дійсно хочете уникати редагування файлу інтерфейсів, ви можете використовувати:

ifconfig eth0 192.168.56.101 netmask 255.255.255.0 gateway 192.168.56.1 up

Я думаю, що таким чином зміни не будуть постійними (ви втратите їх між перезавантаженнями тощо), але я сам цього не перевіряв.


Можна було сказати про команду ip- ifconfigйде на спад.
guntbert

2

В даний час у версіях 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**

1

припускаючи, що ви мали на увазі 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

припускаючи, що у вас є вікно (маршрутизатор / перемикач слоя3 тощо) з ip 192.168.56.1 для відповіді.

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


1
ОП заявила, що не хоче торкатися / etc / network / інтерфейсів.
guntbert

Це правильно. Я сказав Так. Поки мені потрібен розчин для netplan. Чи працює команда 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?
Джош
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.