Сегодня в статье рассмотрим примеры по Настройки сети в Ubuntu Server 20.04 LTS. По сравнению с Ubuntu Server 16.04 LTS настройка осуществляется через утилиту Netplan.
NetPlan — это инструмент для управления настройками сети, представленный в Ubuntu начиная с версии 17.10 и выше.
Этот инструмент заменяет файл статических интерфейсов /etc/network/interfaces
, который ранее использовался для настройки сетевых интерфейсов в Ubuntu. Теперь вы должны использовать /etc/netplan/*.yaml
для ваших изменений в Ubuntu.
Новый файл конфигурации интерфейсов как вы поняли находится в каталоге /etc/netplan/*.yaml
.
После чистой установки дистрибутива Ubuntu Server 20.04 в данной директории находится всего один файл. У меня он называется 50-cloud-init.yaml
Не забываем о синтаксисе данного файла. Табуляция не используется и количество пробелов должно быть одинаково для одноименных категорий.
Полезное.
Ещё стоит напомнить что для конфигурирования сети могут быть использованы рендера — NetworkManager и networkd.
NetworkManager в основном используется на настольных компьютерах, а networkd в серверных дистрибутивах, хотя никто не мешает использовать их и в обратном порядке.
При использовании NetworkManager в качестве средства визуализации для управления интерфейсами будет использоваться графический интерфейс NetworkManager.
Настройка сети в Ubuntu Server 20.04
Есть два пути настройки сетевых интерфейсов:
- Получение IP адресов при помощи DHCP — автоматическая настройка
- Настройка статических IP адресов
Если вы используете какой либо маршрутизатор, то идем по первому пути. Но сначала давайте определимся с именами интерфейсов в нашей системе. Для этого воспользуемся командой ifconfig.
Да, на чистой системе данная утилита не установлена по умолчанию. Её необходимо будет установить. Ну или можно воспользоваться командой ip. Я же человек старых правил ))), мне все-таки по душе утилита ifconfig поэтому набираем:
sudo ifconfig -a
Вывод команды покажет все имеющиеся в системе сетевые интерфейсы. В моей системе команда выдает следующий результат:
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 14:d6:4d:56:b8:5a txqueuelen 1000 (Ethernet)
RX packets 2087766 bytes 2768743733 (2.7 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1996135 bytes 201457120 (201.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 10:78:d2:76:39:b3 txqueuelen 1000 (Ethernet)
RX packets 10585 bytes 2371990 (2.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16067 bytes 18280327 (18.2 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 10:78:d2:76:39:b3 txqueuelen 1000 (Ethernet)
RX packets 87766 bytes 68743733 (12.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 13819 bytes 12743733 (12.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 242 bytes 35780 (35.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 242 bytes 35780 (35.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Как видим из вывода имеются три сетевых интерфейса: enp0s3
; enp0s8
; enp0s9
.
Интерфейс enp0s3 выступает в качестве WAN интерфейса для системы. Остальные два enp0s8 и enp0s9 подключены к двум локальным сетям. В дальнейшем мы их объединим в сетевой мост.
Статья по настройке сетевого моста на Ubuntu Server 18.04 LTS
Настройка сети в Ubuntu Server используя автоматическую настройку по DHCP.
И так с интерфейсами определились, давайте теперь настроим наш интерфейс, который смотрит в инет, на получение автоматических настроек сети по DHCP
Открываем файл настроек Netplan
sudo nano /etc/netplan/*.yaml
Файл должен выглядеть следующим образом (если не так, то редактируем):
network:
ethernets:
enp0s3:
dhcp4: true
dhcp6: true
optional: true
version: 2
Далее применим изменения:
sudo netplan try
Если в синтаксисе нет ошибок, то изменения применятся через 120 секунд, ну или сразу если Вы нажмёте Enter
Настройка сети в Ubuntu Server используя статические маршруты.
Если Вы пошли вторым путем и хотите настроить все IP адреса сами, то вот пример для настройки статических адресов:
network:
ethernets:
enp0s3:
addresses: [ 10.5.5.1/24, 'fe00:a:b:100::1/64']
gateway4: 10.5.1.1
nameservers:
addresses: [10.5.5.1, 'fe00:a:b:100::1']
search:
- lan
optional: true
version: 2
- addresses — это ip адрес который будет назначен вашей сетевой карте.
- gateway4 — ip адрес вашего роутера
- nameservers — тут перечисляются DNS сервера. Первый опять же наш роутер.
- search — тут указываем домен в котором будет произведен поиск. Домен можно настроить при помощи DNS сервера
Далее сохраняем изменения:
sudo netplan try
Проверка параметров сети
Для проверки работоспособности сети можно воспользоваться командой ping
и nslookup
:
ping 8.8.8.8
- 8.8.8.8 — ip адрес dns сервера google.
ping 10.5.5.2
10.5.5.2 — ip адрес ПК из вашей сети.
nslookup ya.ru
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: ya.ru
Address: 87.250.250.242
Name: ya.ru
Address: 2a02:6b8::2:242
Как видим на запрос ответил systemd-resolver 127.0.0.53. Если у Вас настроен собственный DNS сервер и вы хотите его установить по умолчанию для сервера DHCP, то потребуется отредактировать файл настройки systemd-resolver.
Также можем еще посмотреть вывод команды:
systemd-resolve --status
Global
LLMNR setting: no
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 22 (enp0s3)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 10.5.5.1
DNS Servers: 10.5.5.1
DNS Domain: dom
Из данного вывода DNS указан для нашего сетевого интерфейса enp0s3
его же IP адрес.
Но глобальная переменная DNS является 127.0.0.53.
Для изменения глобальной переменной необходимо проделать следующие действия:
- откройте и отредактируйте следующий файл:
sudo nano /etc/systemd/resolved.conf
[Resolve]
DNS=10.5.5.1
...
Примените изменения:
sudo systemctl restart systemd-resolved.service
Посмотрим еще раз на глобальные переменные DNS
sudo systemd-resolve --status
Global
LLMNR setting: no
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 10.5.5.1
DNSSEC NTA: 10.in-addr.arpa
.....
Из вывода видно что наш DNS изменился на 10.5.5.1.
Если воспользуемся командой nslookup, то вывод также покажет что dns сервер 127.0.0.53. Для изменения необходим пакет resolvconf
- Устанавливаем resolvconf
sudo apt install resolvconf
Открываем файл и вносим изменения:
nano /etc/resolvconf/resolv.conf.d/head
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 10.5.5.1
Применим наши изменения
sudo resolvconf -u
Теперь вывод nslookup покажет наш DNS сервер
nslookup ya.ru
Server: 10.5.5.1
Address: 10.5.5.1#53
Non-authoritative answer:
Name: ya.ru
Address: 87.250.250.242
Name: ya.ru
Address: 2a02:6b8::2:242
На этом Настройка сети в Ubuntu Server 20.04 LTS закончена.
[endtxt]
RSS
- Тест скорости дисков в Linux
- Как запустить команду в фоне в Linux
- Ошибка несоответствие размеров GPT PMBR
- nginx: [warn] protocol options redefined
- Как включить поддержку linux в windows 11