Настройка сети в UBUNTU SERVER 20.04 LTS (focal)

Автор Itworkroom

Начиная с релиза Ubuntu 17.10, для управления конфигурацией сети используется утилита «Netplan». Она считывает файлы конфигурации из каталога /etc/netplan/*.yaml, созданные вручную или в автоматическом режиме.

Определение сетевых интерфейсов

Определите все доступные сетевые интерфейсы используя команду ip или lshw:

sudo ip a
sudo lshw -class network

В выводе команды логические имена интерфейсов, которые настраиваются в файле /etc/udev/rules.d/70-persistent-net.rules. Если вы хотите определить какой интерфейс получит определенное логическое имя, найдите строку по совпадению физического MAC адреса интерфейса и измените значение NAME=ethX на желаемое логическое имя. Перегрузите систему для применения изменений.

Настройки локальной сети

Отредактируйте файл конфигурации netplan который находится в директории /etc/netplan/:

sudo nano /etc/netplan/01-netcfg.yaml

В файле конфигурации прописаны настройки локальной сети с динамическим ip-адресом (DHCP) и логическим именем вашего локального интерфейса, например eno1:

network:
  version: 2
  ethernets:
    eno1:
      dhcp4: true

Для локальной сети в которой используются статические ip-адреса подойдет следующая конфигурация:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      addresses:
        - 10.0.0.2/24
      gateway4: 10.0.0.1
      nameservers:
          search: [mydomain, otherdomain]
          addresses: [10.0.0.1, 1.1.1.1]

Эта конфигурация даст возможность утилите NetworkManager управлять всеми сетевыми устройствами:

network:
  version: 2
  renderer: NetworkManager

Настройки беспроводной сети

Для корректной работы беспроводного интерфейса вам потребуется установить утилиту WPA supplicant, которая позволяет подключиться к точкам доступа с WPA. WPA и WPA2:

sudo apt install wpasupplicant

Добавьте новый файл конфигурации в каталог /etc/netplan/:

sudo nano /etc/netplan/02-netcfg.yaml

Отредактируйте файл конфигурации беспроводной сети с динамическим ip-адресом (DHCP):

network:
  version: 2
  renderer: networkd
  wifis:
    wlp3s0:
      dhcp4: yes
      dhcp6: no
      access-points:
        "network_ssid_name":
          password: "**********"

Для беспроводной сети в которой используются статические ip-адреса подойдет следующая конфигурация:

network:
  version: 2
  renderer: networkd
  wifis:
    wlp3s0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.0.21/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [192.168.0.1, 8.8.8.8]
      access-points:
        "network_ssid_name":
          password: "**********"

Применение конфигураций

Используйте netplan для генерации необходимой конфигурации:

sudo netplan generate

Для подробного вывода информации при генерации, используйте опцию —debug:

sudo netplan --debug generate

Примените конфигурации netplan:

sudo netplan apply

Для подробного вывода информации при применении, используйте опцию —debug:

sudo netplan --debug apply

Далее рекомендуется перезапустить интерфейсы или перезагрузить ресурс:

sudo reboot

Примеры конфигураций

Пример статически настроенного интерфейса с несколькими IPv4-адресами и несколькими шлюзами с сетевым интерфейсом, с равными уровнями метрики маршрута и статическими DNS-серверами имен (в данном примере Google DNS):

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      addresses:
      - 10.0.0.10/24
      - 11.0.0.11/24
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
      routes:
      - to: 0.0.0.0/0
        via: 10.0.0.1
        metric: 100
      - to: 0.0.0.0/0
        via: 11.0.0.1
        metric: 100

Пример, который показывает реализацию большинства доступных функций:

network:
  version: 2
  # if specified, can only realistically have that value, as networkd cannot
  # render wifi/3G.
  renderer: NetworkManager
  ethernets:
    # opaque ID for physical interfaces, only referred to by other stanzas
    id0:
      match:
        macaddress: 00:11:22:33:44:55
      wakeonlan: true
      dhcp4: true
      addresses:
        - 192.168.14.2/24
        - 192.168.14.3/24
        - "2001:1::1/64"
      gateway4: 192.168.14.1
      gateway6: "2001:1::2"
      nameservers:
        search: [foo.local, bar.local]
        addresses: [8.8.8.8]
      routes:
        - to: 0.0.0.0/0
          via: 11.0.0.1
          table: 70
          on-link: true
          metric: 3
      routing-policy:
        - to: 10.0.0.0/8
          from: 192.168.14.2/24
          table: 70
          priority: 100
        - to: 20.0.0.0/8
          from: 192.168.14.3/24
          table: 70
          priority: 50
      # only networkd can render on-link routes and routing policies
      renderer: networkd
    lom:
      match:
        driver: ixgbe
      # you are responsible for setting tight enough match rules
      # that only match one device if you use set-name
      set-name: lom1
      dhcp6: true
    switchports:
      # all cards on second PCI bus unconfigured by
      # themselves, will be added to br0 below
      # note: globbing is not supported by NetworkManager
      match:
        name: enp2*
      mtu: 1280
  wifis:
    all-wlans:
      # useful on a system where you know there is
      # only ever going to be one device
      match: {}
      access-points:
        "Joe's home":
          # mode defaults to "infrastructure" (client)
          password: "s3kr1t"
    # this creates an AP on wlp1s0 using hostapd
    # no match rules, thus the ID is the interface name
    wlp1s0:
      access-points:
        "guest":
           mode: ap
           # no WPA config implies default of open
  bridges:
    # the key name is the name for virtual (created) interfaces
    # no match: and set-name: allowed
    br0:
      # IDs of the components; switchports expands into multiple interfaces
      interfaces: [wlp1s0, switchports]
      dhcp4: true

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *