Вт. Дек 1st, 2020
network-logo

Сегодня раcсмотрим пример настройки сети на Ubuntu Server 18.04 LTS. Первое что я заметил, это способ управления сетевыми интерфейсами в Ubuntu 18.04, он полностью изменился по сравнению с Ubuntu Server 16.04 LTS

Вы слышали о NetPlan?

NetPlan — это новый инструмент для управления настройками сети, представленный в Ubuntu 17.10 .

Этот инструмент заменяет файл статических интерфейсов /etc/network/interfaces, который ранее использовался для настройки сетевых интерфейсов в Ubuntu. Теперь вы должны использовать /etc/netplan/*.yaml для настройки интерфейсов Ubuntu.

Новый файл конфигурации интерфейсов теперь находится в каталоге/etc/netplan.
После чистой установки дистрибутива 18.04 в данной директории находится всего один файл. Обычно этот файл называется 50-cloud-init.yaml

Есть два рендера. NetworkManager и networkd.

NetworkManager в основном используется на настольных компьютерах, а networkd на серверах. Если Вы хотите, чтобы NetworkManager управлял сетевыми интерфейсами, используйте NetworkManager в качестве средства визуализации, иначе используйте networkd.

При использовании NetworkManager в качестве средства визуализации для управления интерфейсами будет использоваться графический интерфейс NetworkManager.

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

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

  • Получение IP адресов при помощи DHCP — автоматическая настройка
  • Настройка статических IP адресов

Если вы используете какой либо маршрутизатор то идем по первому пути. Но сначала давайте определимся с именами интерфейсов в нашей системе. Для этого набираем команду:

sudo ifconfig -a

Вывод команды покажет все имеющиеся в системе сетевые интерфейсы. В моей системе команды выдает следующий результат:

enp0s3: flags=4163  mtu 1500
inet 10.5.5.41 netmask 255.255.255.0 broadcast 10.5.5.255
inet6 fe80::a00:27ff:fef4:9314 prefixlen 64 scopeid 0x20
ether 08:00:27:f4:93:14 txqueuelen 1000 (Ethernet)
RX packets 384 bytes 360941 (360.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 235 bytes 23725 (23.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4099 mtu 1500
ether 08:00:27:06:d2:9d txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s9: flags=4099 mtu 1500
ether 08:00:27:1f:b2:78 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
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 (Local Loopback)
RX packets 104 bytes 7616 (7.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 104 bytes 7616 (7.6 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 18.04 — DHCP.

И так с интерфейсами определились, давайте теперь настроим наш интерфейс, который смотрит в инет, на получение автоматических настроек сети по DHCP

Открываем файл настроек Netplan

sudo nano /etc/netplan/*.yaml

Файл должен выглядеть следующим образом (если не так, то редактируем):

network:
  ethernets:
     enp0s3:
         dhcp4: true
         dhcp6: true
         optional: true
  version: 2

Далее сохраняем изменения:

sudo netplan apply

Настройка сети на Ubuntu Server 18.04 статические маршруты.

Если Вы пошли вторым путем и хотите настроить все IP адреса сами, то вот пример для настройки статических адресов

network:
  ethernets:
     enp0s3:
         addresses:
         - 10.5.7.1/24
         gateway4: 10.5.7.1
         nameservers: 
            addresses: [8.8.8.8,8.8.4.4]
            search:
            - dom
         optional: true
  version: 2

Далее сохраняем изменения:

sudo netplan apply

Проверка параметров сети

Для проверки внесенных вами исправлений давайте наберем команду

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

Также можем еще посмотреть вывод команды:

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.7.1
         DNS Servers: 10.5.7.1
          DNS Domain: dom 

Как видим из данного вывода DNS указан для нашего сетевого интерфейса enp0s3 его же IP адрес.

Но глобальная переменная DNS является все также systemd-resolver.

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

  1. откройте и отредактируйте следующий файл:
sudo nano /etc/systemd/resolved.conf
[Resolve]
DNS=10.5.7.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.7.1            
          DNSSEC NTA: 10.in-addr.arpa   
.....

Из вывода видно что наш DNS изменился на 10.5.7.1.

Но вывод nslookup также покажет systemd-resolver.

  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.7.1

Применим наши изменения

sudo resolvconf -u

Теперь вывод nslookup покажет наш DNS сервер

nslookup ya.ru

Server:		10.5.7.1
Address:	10.5.7.1#53

Non-authoritative answer:
Name:	ya.ru
Address: 87.250.250.242
Name:	ya.ru
Address: 2a02:6b8::2:242

На этом настройка сети в Ubuntu Server 18.04 LTC закончена.

[endtxt]

5 1 голос
Article Rating
3
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x
Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять