Настройка сети в Ubuntu Server 20.04 LTS

9 комментариев
network-logo

Сегодня в статье рассмотрим примеры по Настройки сети в 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

Есть два пути настройки сетевых интерфейсов:

  1. Получение IP адресов при помощи DHCP — автоматическая настройка
  2. Настройка статических 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.

Для изменения глобальной переменной необходимо проделать следующие действия:

  1. откройте и отредактируйте следующий файл:
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

  1. Устанавливаем 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 закончена.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо!!!

RSS

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Вносим CAA запись в DNS (bind9)
dns_bind9

Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата. CAA (RFC-6844, Certificate Authority Читать

Установка Samba на Ubuntu Server 20.04
samba-logo

Сегодня установим и настроим наш файловый сервер Samba на Ubuntu Server 20.04. Расшарим директории для нашего сервера и установим на Читать

Как изменить hostname в Debian/Ubuntu ?
linux-logo

В этой статье я вам расскажу как изменить hostname в Debian/Ubuntu (обычно имя компьютера в сети). Существует два способа изменения Читать

Переименовываем сетевые интерфейсы в Linux
network-logo

В этой статье рассмотрим пример как можно переименовать сетевые интерфейсы в дистрибутивах Linux. После обновления systemd (частью которого является udev) Читать

4.5 4 голоса
Рейтинг статьи

Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

9 комментариев
новее
старее большинство голосов
Inline Feedbacks
Просмотреть все комментарии
Крекер
Крекер
31.12.2021 23:22

Яхоооо и бутылка рома!

Олег Смирнов
Олег Смирнов
Ответить на  Крекер
31.12.2021 23:26



44
44
31.12.2021 23:18

Гуд все получилось. Спасибо вам.

mkv
mkv
21.09.2020 10:10

Как насчет настройки 2х интерфейсов просто пытаюсь настроить интернет и внутреннюю сеть, а он ни в какую не хочет если пингую внутренний интерфейс он не пингуется tcpdump говорит что пинг уходит на внешний интерфейс настроки network: ethernets: ens192: addresses: - 81.z.y.x/29 gateway4: 81.z.y.x nameservers: addresses: - 8.8.8.8 - 8.8.4.4 search:… Подробнее »

mkv
mkv
Ответить на  webmaster С.
28.09.2020 13:48

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

Дмитрий
Дмитрий
04.06.2020 10:51
network:
  ethernets:
     enp0s3:
         addresses: []
         dhcp4: true
         dhcp6: true
         optional: true
  version: 2

 
При настройке сети через DHCP строка adresses:[] НЕ НУЖНА!
 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: