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

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



[endtxt]




RSS




2020-05-22T08:39:05
Network