Discord

DISCORD Сервер сообщества

Новый способ общения с вашими друзьями и сообществами.

Операционная система, основанная на Debian GNU/Linux.
Аватара пользователя
Опубликовал(а) sandworm
#36
C релиза Ubuntu 17.10, для управления конфигурацией сети используется утилита Netplan. Она считывает файлы конфигурации из /etc/netplan/*.yaml, созданные вручную или в автоматическом режиме.

Этап 1 - Определение сетевых интерфесов

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

Этап 2 - Настройки локальной сети

Отредактируйте файл конфигурации 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


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

Для корректной работы беспроводного интерфейса вам потребуется установить утилиту 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: "**********"

Этап 4 - Применение конфигураций

Используйте 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

Этап 1 - Подготовка окружения и активация репози[…]

Этап 1 - Установка SMS-сервера GoIP Загрузите п[…]

Исследования в области искусственного интеллекта п[…]

Этап 1 - Установка пакетов Выполните обновление[…]

Не упустите самое интересное!