I have installed Netplan on Raspberry Pi running «Raspberry Pi OS Lite», but while configuring static IP I encountered an issue.
This is the configuration I’m trying to apply, saved under /etc/netplan/01-eth0-cfg.yaml
:
network:
version: 2
ethernets:
eth0:
dhcp4: false
optional: true
addresses:
- 10.0.0.10/24
nameservers:
addresses:
- 1.1.1.1
routes:
- to: default
via: 10.0.0.1
However, when running sudo netplan apply
I get the following error:
(generate:5431): GLib-WARNING **: 08:45:13.605: GError set over the top of a previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before it's set.
The overwriting error message was: /etc/netplan/01-eth0-cfg.yaml:12:7: Error in network definition: unicast route must include both a 'to' and 'via' IP
- to: default
^
/etc/netplan/01-eth0-cfg.yaml:12:13: Error in network definition: invalid IP family '-1'
- to: default
^
Why isn’t to: default
recognized as a valid route?
It seems to work for a non-raspberry linux-box I have running. Am I missing something?
asked Jan 27, 2022 at 9:49
I have the same problem.
After reading the article in Wikipedia, I removed default
from config file and used 0.0.0.0
instead. It looks like this:
routes:
- to: 0.0.0.0/0
via: 192.168.1.1
I am not an expert in networking and can’t tell you if this is the right way. The only thing that I am sure is that the error goes away.
Don’t forget the /0 at the end of the 0.0.0.0 that will route traffic bound to any ip not just 0.0.0.0
answered Aug 28, 2022 at 7:27
glib warning on netplan-try with wrong config
Bug #1938263 reported by
Alex
on 2021-07-28
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
netplan
|
Triaged |
Medium |
Unassigned
|
Bug Description
Hello! Not sure if it is a bug or not, but:
While learning netplan, I’ve made a wrong config, then check it with netplan-try, and get the error below.
(generate:1255): GLib-WARNING **: 07:45:34.289: GError set over the top of a previous GError or uninitialized memory.
This indicates a bug in someone’s code. You must ensure an error is NULL before it’s set.
The overwriting error message was: /etc/netplan/00-installer-config.yaml:13:14: Error in network definition: unicast route must include both a ‘to’ and ‘via’ IP
— to: 0.0.0.0/0
^
/etc/netplan/00-installer-config.yaml:17:21: Error in network definition: IP family mismatch in route to fe80::1
via: fe80::1
^
An error occurred: the configuration could not be generated
Reverting.
Warning: Stopping systemd-networkd.service, but it can still be activated by:
systemd-networkd.socket
My config is (addresses were replaced):
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
— 192.46.XXX.XXX/24
— 2a01:7e01:e001:23e:152c:a51c:beef:beer/64
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
routes:
— to: 0.0.0.0/0
via: 192.XXX.XXX.1
metric: 100
— to: 0.0.0.0/0
via: fe80::1
metric: 200
no way to make the network works on the new ubuntu server.
This is the netplan yaml file:
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config:disabled}
network:
version: 2
ethernets:
enp0s3:
addresses: [192.168.0.183/24]
gateway4: 192.168.0.250
dhcp4: false
nameservers:
addresses: [8.8.8.8,8.8.4.4]
optional: true
running netplan —debug apply I get:
Error in network definition //etc/netplan/50-cloud-init.yaml line 1 column 1: expected mapping
I’m going crazy, it was so simple before! Why doesn’t work? what does it mean this error?
asked Oct 31, 2018 at 9:59
1
removing dhcp4 setting fixed the issue…who knows!
maybe because if you enable the dhcp you have to set it to «true» and if you disable you have to set to «no»? I really hope not!!
debug info completely useless
answered Oct 31, 2018 at 10:07
GioxGiox
2431 gold badge5 silver badges11 bronze badges
1
a netplan configuration is base on yaml, when looking your configuration. i think the indentation is error because its have 3 space. maybe you can try this
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config:disabled}
network:
version: 2
ethernets:
enp0s3:expected mapping
addresses: [192.168.0.183/24]
gateway4: 192.168.0.250
dhcp4: false
nameservers:
addresses: [8.8.8.8,8.8.4.4]
optional: true
answered Oct 31, 2018 at 17:41
1
I always configure for a static ip the «dhcp» with the value of «no» like this
dhcp4: no
See an example below
network:
ethernets:
enp0s3:
dhcp4: no
dhcp6: no
addresses: [10.4.1.174/21]
gateway4: 10.5.1.6
nameservers:
addresses: [8.8.4.4,8.8.8.8]
routes:
- to: 192.168.0/24
via: 10.5.0.1
metric: 100
version: 2
answered May 20, 2019 at 13:25
My first time coming across this new way of networking and the «expected mapping» error. It’s a nice one.
I got a static IP working by editing etc/netplan/50-cloud-init.yaml but found that it was SUPER picky about the layout (spaces).
I used the examples given at
https://netplan.io/examples
By going to the line BEFORE the line mentioned in the error (given when it didn’t work) and pressing «return», a new line and the correct amount of indent was automatically inserted.
Restated… I had an error reported in line 12, so I went to the end of line 11 and pressed «return». A carriage return AND the (presumably) correct amount of indentation was automatically inserted.
If the error was at line 1 (as for the OP) I can only guess that the syntax is wrong.
answered Jul 28, 2019 at 6:11
0
I learned that if the indents are not perfect, it does not work. Even though I went off another example, the example I found was incorrect. Here’s the contents of 00-installer-config.yaml
that worked for me in case it helps someone else later:
network:
ethernets:
enol:
dhcp4: no
addresses: [192.168.0.45/24]
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8, 8.8.8.4]
version: 2
Here is a screenshot of 00-installer-config.yaml
.
Nmath
11.4k8 gold badges23 silver badges52 bronze badges
answered Oct 27, 2020 at 23:25
I tried several formats
Ubuntu 20 (netplan apply
command) only accepted config after I configured exact spaces before each line:
# This is the network config written by 'subiquity'
network:
version: 2
renderer: networkd
ethernets:
ens18:
addresses: [172.16.1.95/24]
gateway4: 172.16.1.1
nameservers:
addresses: [8.8.8.8/32, 8.8.4.4/32]
After that, error went away and I was able to connect to 172.16.1.95 server via SSH
answered Mar 4, 2021 at 23:21
- Печать
Страницы: [1] Вниз
Тема: Ошибка при сохранении конфигурации (Прочитано 620 раз)
0 Пользователей и 1 Гость просматривают эту тему.

iiwanc
Здравствуйте!
Заранее прошу прощения, если задаю глупые вопросы.
С Ubuntu впервые работаю.
Установил Ubuntu Server 18.04.4 LTS 64-bit
Нужно поменять IP, сделать его статичным.
При сохранении конфигурации появляется ошибка:
/etc/netplan/50-cloud-init.yaml:1:9: error in network definition expected mapping (check indentation)
Пишу в файл:
network:
network:
ethernets:
ens160:
addresses:
- 198.0.0.174/24
dhcp4: false
gateway4: "198.0.0.100"
nameservers:
addresses:
- "8.8.8.8"
- "8.8.4.4"
renderer: networkd
version: 2
Буду благодарен помощи.
Переход на новую строку начинал с помощью стрелки, не через Enter.
Поставил отступы пробелами. Но ошибку не победил.
Помогите, пожалуйста, понять, что делаю не так.
ТС не появлялся на Форуме более трех месяцев по состоянию на 19/03/2021 (последняя явка: 07/04/2020). Модератором раздела принято решение закрыть тему.
—zg_nico
« Последнее редактирование: 19 Марта 2021, 14:06:39 от zg_nico »

andytux
Нетплан не прощает вольностей. Что-то мне кажется, что кавычки лишние.

iiwanc
На самом деле там нет ковычек. Стоят квадратные скобки.
Не пойму как прикрепить скрин здесь.
Даю на него ссылку с Я. Диска https://yadi.sk/i/HInBrFNrEctvzQ
Изображения оформляются в виде превью, а не просто гиперссылкой, ведущей неведомо куда. Отправлено уведомление в ЛС о допущенном нарушении. Стоковый тег пользователя пассивизирован, зачеркнут. Изображение перезалито, и оформлено в соответствии с предписаниями Руководства.
—zg_nico
« Последнее редактирование: 31 Марта 2020, 00:05:28 от zg_nico »

ALiEN175
yaml:1:9
первая строка, девятый символ (судя по приведённому тексту — это пробел). Yaml очень чувствителен к пробелам. Уберите лишние.
ASUS P5K-C :: Intel Xeon E5450 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

iiwanc
Записал видео, на котором видно, что удаляю двоеточие после network.
Потом пишу двоеточие и курсор мигает возле него, но клавишу пробела или какую другую не нажимал.
Видео https://youtu.be/2tho0kJsUNE
Пользователь добавил сообщение 30 Марта 2020, 20:16:23:
Нет вариантов?
Думаю переустанавливать ОС
« Последнее редактирование: 30 Марта 2020, 20:16:23 от iiwanc »

Usermaster
Смущает тот факт что на скриншоте файл 99-disable-network-config.cfg
Маска подсети у Вас походу не указана.
Здесь [ссылка] почитайте.
Кстати при отсутствии нужного фалйа .yml, его можно сгенерировать.
sudo netplan generate
« Последнее редактирование: 31 Марта 2020, 09:51:08 от Usermaster »
- Печать
Страницы: [1] Вверх
Ser8191 0 / 0 / 0 Регистрация: 17.01.2017 Сообщений: 179 |
||||||||||||
1 |
||||||||||||
11.11.2021, 15:18. Показов 6300. Ответов 29 Метки нет (Все метки)
Здравствуйте. 00-installer-config-wifi.yaml
выдаёт следующее: Код 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 28:d2:44:b0:b4:fe brd ff:ff:ff:ff:ff:ff inet 192.168.1.39/24 brd 192.168.1.255 scope global dynamic enp3s0 valid_lft 24006sec preferred_lft 24006sec inet6 fe80::2ad2:44ff:feb0:b4fe/64 scope link valid_lft forever preferred_lft forever 3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 18:cf:5e:e7:34:c9 brd ff:ff:ff:ff:ff:ff Меняю содержимое файла 01-installer-config.yaml Код network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no addresses: [192.168.1.35/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] Выполняю команду:
Получаю ошибку:
__________________
0 |
4732 / 3937 / 997 Регистрация: 29.08.2013 Сообщений: 25,248 Записей в блоге: 3 |
|
11.11.2021, 16:42 |
2 |
а точно нужно прописывать 192.168.1.35/24?
0 |
0 / 0 / 0 Регистрация: 17.01.2017 Сообщений: 179 |
|
11.11.2021, 16:46 [ТС] |
3 |
Без понятия. Что нашёл, то м попробовал.
0 |
4732 / 3937 / 997 Регистрация: 29.08.2013 Сообщений: 25,248 Записей в блоге: 3 |
|
11.11.2021, 16:47 |
4 |
проверяй по разному
1 |
0 / 0 / 0 Регистрация: 17.01.2017 Сообщений: 179 |
|
11.11.2021, 18:36 [ТС] |
5 |
Как я понял дело в табуляции, нужно соблюдать пробелы Код /etc/netplan/00-installer-config.yaml:4:1: Invalid YAML: tabs are not allowed for indent: enp3s0: Добавлено через 9 минут Код sudo nano /etc/netplan/00-installer-config.yaml network: version: 2 ethernets: enp0s3: dhcp4: no dhcp6: no addresses: [10.0.2.15/24] gateway4: 10.0.2.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] sudo netplan apply После данных манипуляций связь по ssh пропадает. Миниатюры
0 |
0 / 0 / 0 Регистрация: 17.01.2017 Сообщений: 179 |
|
11.11.2021, 19:08 [ТС] |
6 |
Валидатор YAML пишет что файл валидный, даже если использую табуляцию
0 |
0 / 0 / 0 Регистрация: 17.01.2017 Сообщений: 179 |
|
11.11.2021, 19:38 [ТС] |
7 |
С ошибкой разобрался, использовал пробелы. Миниатюры
0 |
2658 / 777 / 173 Регистрация: 14.01.2013 Сообщений: 3,585 |
|
11.11.2021, 19:43 |
8 |
Вот вариант с рабочего сервера Код network: version: 2 renderer: networkd ethernets: enp2s0: dhcp4: no dhcp6: no addresses: [ 172.16.0.88/24 ] gateway4: 172.16.0.81 nameservers: addresses: [ 172.16.0.81, 77.88.8.1 ]
0 |
0 / 0 / 0 Регистрация: 17.01.2017 Сообщений: 179 |
|
11.11.2021, 19:46 [ТС] |
9 |
Да в принципе у меня тоже самое, но ip a показывает туже информацию из верхнего скрина, и нет связи по указанному адресу
0 |
_sg2 594 / 204 / 40 Регистрация: 30.08.2017 Сообщений: 1,339 |
||||||||
11.11.2021, 20:03 |
10 |
|||||||
renderer: networkd
Почитать ошибки, устранить и
Кажеться так. Ну и у уважаемого Kubuntovod, рабочий вариант как шпаргалка.
0 |
0 / 0 / 0 Регистрация: 17.01.2017 Сообщений: 179 |
|
11.11.2021, 20:09 [ТС] |
11 |
Миниатюры
0 |
594 / 204 / 40 Регистрация: 30.08.2017 Сообщений: 1,339 |
|
11.11.2021, 20:10 |
12 |
доступ запрещён написано
0 |
12384 / 7223 / 758 Регистрация: 09.09.2009 Сообщений: 28,185 |
|
11.11.2021, 20:11 |
13 |
в роутере назначить айпишник «серверу» — не?
0 |
0 / 0 / 0 Регистрация: 17.01.2017 Сообщений: 179 |
|
11.11.2021, 20:16 [ТС] |
14 |
и неужели нельзя скопировать с терминала, зачем мутные фото? Скопировать можно было бы, если бы работал по ssh, но ip адрес то не выставляется, и рабочий ПК не видит сервер. в роутере назначить айпишник «серверу» — не? Связь будет без роутера, в этом и проблема (с роутером всё работало) доступ запрещён написано Про sudo забыл… Миниатюры
0 |
594 / 204 / 40 Регистрация: 30.08.2017 Сообщений: 1,339 |
|
11.11.2021, 20:22 |
15 |
А. Это отдельная физическая машина…
0 |
0 / 0 / 0 Регистрация: 17.01.2017 Сообщений: 179 |
|
11.11.2021, 20:25 [ТС] |
16 |
А чё там такое намешано? OpenVSwitch, NetworkManager. Ужасы какие-то, вот не помню Ubuntu Server 20.04.3 (64-bit) и что netplan apply выдал? Ответа нет, переход к вводу новой команды.
0 |
594 / 204 / 40 Регистрация: 30.08.2017 Сообщений: 1,339 |
|
11.11.2021, 20:28 |
17 |
Ну и ip a?
0 |
0 / 0 / 0 Регистрация: 17.01.2017 Сообщений: 179 |
|
11.11.2021, 20:34 [ТС] |
18 |
Попробовал на других соединениях и вернулся к своему, адрес поменялся, но не пингуется. Миниатюры
0 |
0 / 0 / 0 Регистрация: 17.01.2017 Сообщений: 179 |
|
11.11.2021, 20:49 [ТС] |
19 |
Перезагрузил сервер полностью обесточив.
0 |
594 / 204 / 40 Регистрация: 30.08.2017 Сообщений: 1,339 |
|
11.11.2021, 20:59 |
20 |
меня смущает какой-то ip на loopback
0 |
Содержание
- Настройка сети в Linux с помощью netplan
- Конфигурационный файл
- Простая настройка сети
- Применение настроек
- Error in network definition: expected mapping (check indentation) #58
- Comments
- Checks & detection
- Main deployment steps:
- Installation
- Let NetworkManager manage all devices on this system
- add configuration for bridge interface
- Рука помощи
- 01.04.2020
- Ubuntu управление сетевыми интерфейсами
- 1. Просмотр доступных сетевых интерфейсов
- 2. Настройка сети
- Настройка для Ubuntu 16.04 и ранее
- Настройка для Ubuntu 18.04 и более поздние
- Конфигурация сетевых интерфейсов через командную строку
- 3. Управление таблицей маршрутизации.
- Добавление статического маршрута в Ubuntu 16.04
- Добавление статического маршрута в Ubuntu 18.04
- Конфигурация маршрутов через командную строку
Настройка сети в Linux с помощью netplan
Начиная с Ubuntu 18.04 конфигурирование сети выполняется с помощью утилиты netplan. В других системах на базе deb, например, Debian, она может быть установлена командой:
apt install netplan
В данной статье рассмотрим принцип и примеры настройки сети с помощью netplan.
Конфигурационный файл
Файл для настройки сети находится в каталоге /etc/netplan/. Имя файла может быть любым, на конце должно быть расширение yaml, например:
* чаще всего, это файл 50-cloud-init.yaml или 01-netcfg.yaml.
YAML представляет из себя текстовый формат файла. Вложенные параметры должны иметь отступы табуляциями или пробелами, количество которых имеет важное значение (если поставить лишний пробел у одного из нескольких параметров, мы получим сообщение об ошибке «expected mapping»).
Простая настройка сети
Разберем пример настройки 3-х сетевых интерфейсов. Два из них будут с IP-адресами назначенными вручную (static IP), один — по DHCP.
Приводим файл к следующему виду:
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: true
ens7:
dhcp4: no
addresses: [192.168.122.195/24]
routes:
— to: default
via: 192.168.122.1
mtu: 1500
nameservers:
addresses: [8.8.8.8, 77.88.8.8]
search: [ dmosk.local ]
ens9:
dhcp4: no
addresses: [192.168.1.10/24, 192.168.1.20/24]
nameservers:
addresses:
— 8.8.8.8
— 77.88.8.8
search: [ dmosk.local, dmosk.ru ]
- version — версия YAML. На момент обновления статьи, была 2.
- renderer — менеджер сети (networkd или NetworkManager).
- ethernets — настройка сетевых адаптеров ethernet.
- ens3, ens7, ens9 — настройки для соответствующих сетевых адаптеров. В данном примере мы настраиваем 3 сетевых адаптера.
- dhcp4 — будет ли получать сетевой адаптер IP-адрес автоматически. Возможны варианты yes/true — получать адрес автоматически; no/false — адрес должен быть назначен вручную.
- addresses — задает IP-адреса через запятую.
- routes — настройка маршрутов. Для шлюза по умолчанию используем опцию и значение to: default. Ранее использовалась директива gateway4, но теперь она считается устаревшей (при применении настройки с ней система вернет предупреждение gateway4 has been deprecated, use default routes instead).
- mtu — при желании, можно задать значение MTU.
- nameservers — настройка серверов имен (DNS).
- nameservers addresses — указываем серверы DNS. Обратите внимание на разный формат записи для ens7 и ens9. Приемлемы оба варианта.
- nameservers search — дописывает окончание домена, если мы обращаемся к узлу сети только по его имени. Стоит обратить внимание, что мы можем указать несколько доменов через запятую.
Применение настроек
Для применения настроек необходимо запустить команду netplan. Ее синтаксис:
Для проверки нашего конфигурационного файла вводим:
Источник
Error in network definition: expected mapping (check indentation) #58
tried to install opennebula on ubuntu 20 :
root@ziomario-I5:/home/ziomario/Scrivania# sudo bash minione
Checks & detection
Checking augeas is installed SKIP will try to install
Checking AppArmor SKIP will try to modify
Checking for present ssh key SKIP
Checking (iptables|netfilter)-persistent are installed SKIP will try to install
Main deployment steps:
Install OpenNebula frontend version 5.12
Configure bridge minionebr with IP 172.16.100.1/24
Enable NAT over enp3s0
Modify AppArmor
Install OpenNebula KVM node
Export appliance and update VM template
Install augeas-tools iptables-persistent netfilter-persistent
Do you agree? [yes/no]:
yes
Installation
Updating APT cache OK
Install augeas-tools iptables-persistent netfilter-persistent OK
Creating bridge interface minionebr OK
Bring bridge interfaces up FAILED
— STDERR —
/etc/netplan/01-network-manager-all.yaml:2:9: Error in network definition: expected mapping (check indentation)
network:
^
this is my 01-network-manager-all.yaml file :
Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
#ethernets:
#eno1:
#dhcp4: no
#disable existing configuration for ethernet
#addresses: [10.0.0.30/24]
#gateway4: 10.0.0.1
#nameservers:
#addresses: [10.0.0.10]
#dhcp6: no
add configuration for bridge interface
#bridges:
#br0:
#interfaces: [eno1]
#dhcp4: no
#addresses: [10.0.0.30/24]
#gateway4: 10.0.0.1
#nameservers:
#addresses: [10.0.0.10]
#parameters:
#stp: false
#dhcp6: no
The text was updated successfully, but these errors were encountered:
Источник
Рука помощи
01.04.2020
Ubuntu управление сетевыми интерфейсами
Предлагаю рассмотреть управление сетевыми интерфейсами в ОС Ubuntu. А именно настройку сетевых интерфейсов из командной строки, что в первую очередь, используется при работе с серверными системами и применимо к рабочим станциям с графической оболочкой.
Настройку сети можно разделить на два вида:
Постоянные настройки — задаются через конфигурационные файлы и сохраняются после перезагрузки.
Временные настройки — задаются через командную строку, сбрасываются после перезагрузки системы или сервиса отвечающего за работу сети.
На текущий момент, наиболее часто используются Ubuntu 16.04 и Ubuntu 18.04, которые отличаются в настройке сети. Так в OC Ubuntu 16.04 использовалась утилита ifupdown, которую заменили netplan.
1. Просмотр доступных сетевых интерфейсов
Перечень доступных интерфейсов можно получить несколькими способами.
С помощью утилиты lshw, которая выводит информацию о всех компонентах компьютера. Для получения информации о сетевых картах выполняем ее с ключом -C и указываем интересующий класс network. Пример вывода:
description: Ethernet interface
product: RTL-8100/8101L/8139 PCI Fast Ethernet Adapter
vendor: Realtek Semiconductor Co., Ltd.
bus info: pci@0000:08:07.0
logical name: enp8s7
capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=8139too driverversion=0.9.28 duplex=full ip=10.254.253.1 latency=64 link=yes maxlatency=64 mingnt=32 multicast=yes port=MII speed=100Mbit/s
Для дальнейшей настройки нас будут интересовать следующие значения:
- logical name — логическое имя сетевого адаптера
- serial — MAC-адрес сетевой карты
- link — указывает наличие подключения
При помощи утилиты lshw Вы сможете получить информацию только о физических сетевых интерфейсах, информации о логических, например, VLAN Вы не получите.
Получить информацию о сетевых интерфейсах можно, используя утилиту ip вызвав ее с параметром address. Данная утилита выводит информацию о всех доступных интерфейсах, в том числе, логических. Пример вывода:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp8s7:
mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:1d:60:bc:40:98 brd ff:ff:ff:ff:ff:ff
inet 10.254.253.1/24 brd 10.254.253.255 scope global enp8s7
valid_lft forever preferred_lft forever
inet6 fe80::21d:60ff:febc:4098/64 scope link
valid_lft forever preferred_lft forever
Где lo — петля, enp8s7 — интерфейс сетевой карты.
Для меня в работе более привычно использование утилиты ifconfig, поэтому все дальнейшие действия я буду описывать, используя ее.
Пример вывода информации о сетевых интерфейсах используя ifconfig:
enp8s7: flags=4163 mtu 1500
inet 10.10.10.1 netmask 255.255.255.0 broadcast 10.10.10.255 # Информация о настройке сетевого интерфейса
inet6 fe80::21d:60ff:febc:4098 prefixlen 64 scopeid 0x20
ether 00:1d:60:bc:40:98 txqueuelen 1000 (Ethernet) # MAC-адрес сетевой карты
RX packets 2473367 bytes 1178806843 (1.1 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3706512 bytes 2647126986 (2.6 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Локальная петля (Loopback))
RX packets 43756 bytes 4844250 (4.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 43756 bytes 4844250 (4.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2. Настройка сети
Настройку сетевых интерфейсов в данной статье буду рассматривать на примере проводной сети.
Настройка для Ubuntu 16.04 и ранее
Настройки происходят посредством редактирования конфигурационного файла /etc/network/interfaces
Пример настройки сетевых интерфейсов:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
iface lo inet loopback
iface inet static
dns-nameservers 8.8.8.8 8.8.4.4
В данном файле всегда должен быть описан сетевой интерфейс lo и секции настройки наших сетевых интерфейсов. Пояснения по параметрам конфигурации:
- auto enp8s7 — указывает, что сетевой интерфейс «поднимать» при загрузке системы
- iface enp8s7 inet static — указываем, что для сетевого интерфейса enp8s7 используем статический IP-адрес, если вместо параметра static указать dhcp — сетевой адрес будет получен по протоколу dhcp и остальные параметры конфигурации не нужны
- address 10.10.10.1 — указывает IP-адрес сетевого интерфейса
- netmask 255.255.255.0 -маска подсети
- gateway 10.10.10.2 — основной шлюз
- dns-nameservers 8.8.8.8 8.8.4.4 — перечень DNS-серверов через пробел
Для применения настроек необходимо перезагрузить систему или службу, отвечающую за работу сети
sudo service networking reload
Настройка для Ubuntu 18.04 и более поздние
Начиная с Ubuntu 18.04, для настройки сети используется Netplan, который для хранения конфигурации использует формат YAML. Файлы конфигурации хранятся в директории /etc/netplan/ при установке системы создается файл 50-cloud-init.yaml В него будем вносить все изменения
Файл имеет четкую структуру, каждая строка конфигурации выделена отступом, количество пробелов четко определенно. В случае, если количество не будет соответствовать, файл конфигурации не прочитается и будет получена ошибка.
Error while loading /etc/netplan/50-cloud-init.yaml, aborting. — в файле для отступов используются знаки табуляции
An error occured: the configuration could not be generated или Error in network definition: expected mapping (check indentation) — в случае не соблюдения количества отступов также будет указана строка с ошибкой.
Структура конфигурационного файла:
ethernets: — объявляем блок с конфигурацией сетевых интерфейсов, далее идут блоки конфигураций для каждого интерфейса. Отступ 2 пробела
enp8s7: — имя первого сетевого интерфейса. Отступ 4 пробела
addresses: [10.10.10.1/24] — IP-адрес и маска подсети, в случае использования нескольких IP-адресов на одном интерфейсе, перечисляем через запятую, например, [10.10.10.1/24,10.10.20.1/24] IPv6 выделяется кавычками. Отступ 6 пробелов
gateway4: 10.10.10.2 — основной шлюз. Отступ 6 пробелов
nameservers: — блок конфигурации DNS-серверов. Отступ 6 пробелов
addresses: [8.8.8.8] — перечень IP-адресов DNS-серверов, допускается использование нескольких, указываются через запятую. Отступ 8 пробелов
dhcp4: false — указывает использовать статические параметры или получать по DHCP. Допустимые значения true/false. Если значение «true», будет прочитан только блок с настройками DNS-серверов. Отступ 6 пробелов
enp0s25: — имя второго сетевого интерфейса
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init’s network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
Для проверки файла конфигурации и применения изменений используем команду
Обратите внимание, что необходимо нажать Enter для применения или по истечению 2-х минут ожидания применение прервется и изменения не будут применены.
Конфигурация сетевых интерфейсов через командную строку
Напоминаю, что все изменения, внесенные через командную строку, не сохраняются после перезагрузки. Конфигурацию описываю, используя утилиту ifconfig.
Для присвоения IP-адреса сетевому интерфейсу используем команду:
sudo ifconfig enp8s7 10.10.10.1 netmask 255.255.255.0
- enp8s7 — имя сетевого интерфейса
- 10.10.10.1 — IP-адрес
- 255.255.255.0 — маска подсети
Так как через утилиту ifconfig не указывается основной шлюз и DNS-сервера, это необходимо сделать отдельно
Указываем основной шлюз
sudo route add default gw 10.10.10.2
Для временного указания DNS-сервера необходимо добавить в файл /etc/resolv.conf строку
Где 8.8.8.8 — IP-адрес DNS-сервера
Для получения IP-адреса через DHCP используем команду
Где enp8s7 — имя сетевого интерфейса
3. Управление таблицей маршрутизации.
Для просмотра таблицы маршрутизации используются команды: netstat -rn или route -n
Если у Вас нет отдельно созданных маршрутов, вывод результата будет похож на следующий
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.10.10.2 0.0.0.0 UG 0 0 0 enp8s7
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 enp8s7
Добавление статических маршрутов
Добавление статического маршрута в Ubuntu 16.04
Для добавления статического маршрута необходимо добавить строку конфигурации в файл /etc/network/interfaces в секцию конфигурации соответствующего сетевого интерфейса. Пример строки конфигурации
up route add -net 192.168.0.0 netmask 255.255.0.0 gw 10.10.10.3
- 192.168.0.0 — указание подсети
- 255.255.0.0 — маска подсети
- 10.10.10.3 — шлюз
При добавлении такого маршрута конфигурационный файл будет иметь следующий вид
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
iface lo inet loopback
iface inet static
dns-nameservers 8.8.8.8 8.8.4.4
up route add -net 192.168.0.0 netmask 255.255.0.0 gw 10.10.10.3
Добавление статического маршрута в Ubuntu 18.04
Для добавления статических маршрутов через netplan необходимо добавить секцию routes: в конфигурацию сетевого интерфейса
Пример конфигурации сетевого интерфейса с указанием статических маршрутов
Конфигурация маршрутов через командную строку
При конфигурации маршрутов через командную строку все изменения сохраняются до перезагрузки.
Управление маршрутами происходит при помощи утилиты route. Для добавления маршрута выполняем команду
sudo route add -net 10.10.20.0/24 gw 10.10.10.3
В заметке не затрагивались настройки wi-fi адаптеров и виртуальных интерфейсов. Это будет описано отдельно. При возникновении вопросов задавайте их в комментариях.
Источник
tried to install opennebula on ubuntu 20 :
root@ziomario-I5:/home/ziomario/Scrivania# sudo bash minione
Checks & detection
Checking augeas is installed SKIP will try to install
Checking AppArmor SKIP will try to modify
Checking for present ssh key SKIP
Checking (iptables|netfilter)-persistent are installed SKIP will try to install
Main deployment steps:
Install OpenNebula frontend version 5.12
Configure bridge minionebr with IP 172.16.100.1/24
Enable NAT over enp3s0
Modify AppArmor
Install OpenNebula KVM node
Export appliance and update VM template
Install augeas-tools iptables-persistent netfilter-persistent
Do you agree? [yes/no]:
yes
Installation
Updating APT cache OK
Install augeas-tools iptables-persistent netfilter-persistent OK
Creating bridge interface minionebr OK
Bring bridge interfaces up FAILED
— STDERR —
/etc/netplan/01-network-manager-all.yaml:2:9: Error in network definition: expected mapping (check indentation)
network:
^
this is my 01-network-manager-all.yaml file :
Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
#ethernets:
#eno1:
#dhcp4: no
#disable existing configuration for ethernet
#addresses: [10.0.0.30/24]
#gateway4: 10.0.0.1
#nameservers:
#addresses: [10.0.0.10]
#dhcp6: no
add configuration for bridge interface
#bridges:
#br0:
#interfaces: [eno1]
#dhcp4: no
#addresses: [10.0.0.30/24]
#gateway4: 10.0.0.1
#nameservers:
#addresses: [10.0.0.10]
#parameters:
#stp: false
#dhcp6: no
- Forum
- The Ubuntu Forum Community
- Ubuntu Official Flavours Support
- Networking & Wireless
- [SOLVED] Netplan syntax problems
-
Netplan syntax problems
Hi all,
I’ve read the netplan examples here (https://netplan.io/examples) but an still scratching my head with a syntax error.
I am trying to set up my DNS servers to avoid an issue I am having with DNS at a work site which uses a home wifi setup with a notoriously flakey DNS server — I have described the issue here:
https://ubuntuforums.org/showthread.php?t=2411835I am following this tutorial for 18.04 (https://www.techrepublic.com/article…-server-18-04/) which tells me how to setup the DNS servers.
Unfortunately when I
Code:
$ sudo netplan --debug apply
I get an error about syntax — it does not seem to like the «nameservers» bit
Code:
/etc/netplan/01-network-manager-all.yaml line 1 column 0: unknown key nameservers
My /etc/netplan/01-network-manager-all.yaml line file looks like this:
Code:
# Let NetworkManager manage all devices on this systemnetwork: version: 2 renderer: NetworkManager nameservers: addresses: [8.8.4.4, 8.8.8.8, 1.1.0.0, 1.1.1.1]
Any ideas what I am doing wrong?
-
Re: Netplan syntax problems
Netplan, or rather yaml, is very fussy about indentation. The «nameservers» line needs to have the same (or possibly more) indentation as the «renderer» line, and the «addresses» line needs to be further indented than the «nameservers» line.
So, to tweak the example you’ve given, it should look like this:
Code:
# Let NetworkManager manage all devices on this systemnetwork: version: 2 renderer: NetworkManager nameservers: addresses: [8.8.4.4, 8.8.8.8, 1.1.0.0, 1.1.1.1]
I don’t use NetworkManager, so I can’t be sure that you won’t need to make other changes, but try updating the formatting first and see if that does the job.
-
Re: Netplan syntax problems
Also, be sure to use spaces in groups of four for indentation as Netplan does not appreciate tabs in its yaml files.
-
Re: Netplan syntax problems
Thanks, I now get two new errors:
If I use four spaces as indentation — e.g:
Code:
# Let NetworkManager manage all devices on this systemnetwork: version: 2 renderer: NetworkManager nameservers: addresses: [8.8.4.4, 8.8.8.8, 1.1.0.0, 1.1.1.1]
I get:
Code:
Invalid YAML at /etc/netplan/01-network-manager-all.yaml line 4 column 15: mapping values are not allowed in this context
If I use two spaces (to bring nameservers in line under renderer) or cut/paste irihapeti’s example (and correct the «network» being on the wrong line) — like this:
Code:
# Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager nameservers: addresses: [8.8.4.4, 8.8.8.8, 1.1.0.0, 1.1.1.1]
I get:
Code:
Error in network definition /etc/netplan/01-network-manager-all.yaml line 2 column 2: unknown key nameservers
-
Re: Netplan syntax problems
You indentation doesn’t seem to be correct. Here’s an example from a production server I run:
Code:
# This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: ens33: dhcp4: no dhcp6: no addresses: [xxx.xxx.xxx.xxx/xx] gateway4: xxx.xxx.xxx.xxx nameservers: addresses: [xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx]
-
Re: Netplan syntax problems
Any ideas what I am doing wrong?
Yes.
This yaml:
Code:
# Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager
…means what it says. It says and means, let NM do all the work; so long, I’m outa here, buh bye.
I suggest that you revert the faulty changes and simply make the changes in Network Manager:
«Oh, Ubuntu, you are my favorite Linux-based operating system» —Dr. Sheldon Cooper, Ph.D., Sc.D.
-
Re: Netplan syntax problems
Originally Posted by chili555
Yes.
This yaml:
Code:
# Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager
…means what it says. It says and means, let NM do all the work; so long, I’m outa here, buh bye.
I suggest that you revert the faulty changes and simply make the changes in Network Manager:
Thanks chilli555 — that’s bang-on. Made the changes in Network Manager and all is good — this has also (hopefully — I will test today) solved my other thread too.