Где хранятся настройки сети linux

Sysadminium

Настройка сети – это один из важнейших навыков системного администрирования, и в этой статье мы научимся настраивать сеть на Ubuntu 22.04.

Получение информации о сетевых интерфейсах

В прошлой статье мы разобрали настройку сети в системе Debian 11, а в этой разберём всё тоже самое но для Ubuntu 22.04.

Посмотреть на доступные сетевые интерфейсы мы точно также можем с помощью утилиты lshw. И на сервере Ubuntu эта утилита предустановлена.

$ sudo lshw -C network *-network:0 description: Ethernet controller product: Virtio network device vendor: Red Hat, Inc. physical id: 12 bus info: pci@0000:00:12.0 version: 00 width: 64 bits clock: 33MHz capabilities: msix bus_master cap_list rom configuration: driver=virtio-pci latency=0 resources: irq:11 ioport:e0e0(size=32) memory:fea93000-fea93fff memory:fe40c000-fe40ffff memory:fea00000-fea3ffff *-virtio3 description: Ethernet interface physical id: 0 bus info: virtio@3 logical name: ens18 serial: 02:6e:f0:fb:d4:71 capabilities: ethernet physical configuration: autonegotiation=off broadcast=yes driver=virtio_net driverversion=1.0.0 ip=172.28.90.34 link=yes multicast=yes *-network:1 description: Ethernet controller product: Virtio network device vendor: Red Hat, Inc. physical id: 13 bus info: pci@0000:00:13.0 version: 00 width: 64 bits clock: 33MHz capabilities: msix bus_master cap_list rom configuration: driver=virtio-pci latency=0 resources: irq:10 ioport:e100(size=32) memory:fea94000-fea94fff memory:fe410000-fe413fff memory:fea40000-fea7ffff *-virtio4 description: Ethernet interface physical id: 0 bus info: virtio@4 logical name: ens19 serial: 82:dd:88:27:00:a5 capabilities: ethernet physical configuration: autonegotiation=off broadcast=yes driver=virtio_net driverversion=1.0.0 link=yes multicast=yes

В этом примере у меня два сетевых интерфейса: ens18 (02:6e:f0:fb:d4:71) и ens19 (82:dd:88:27:00:a5). При этом ip адрес назначен только на ens18 (172.28.90.34).

Мы уже знаем что утилита lshw в основном используется, чтобы узнать имя и возможности сетевой карты, то есть информацию о железе. А для получения настроек сетевых интерфейсов нужно использовать команду – ip. Работает эта команда точно также как в Debian, поэтому заострять на ней внимание не буду.

$ ip addr show ens18 2: ens18: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 02:6e:f0:fb:d4:71 brd ff:ff:ff:ff:ff:ff inet 172.28.90.34/20 brd 172.28.95.255 scope global dynamic ens18 valid_lft 258376sec preferred_lft 258376sec inet6 fe80::6e:f0ff:fefb:d471/64 scope link valid_lft forever preferred_lft forever $ ip addr show ens19 3: ens19: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 82:dd:88:27:00:a5 brd ff:ff:ff:ff:ff:ff inet6 fe80::80dd:88ff:fe27:a5/64 scope link valid_lft forever preferred_lft forever

В примере выше видно, что ens18 имеет назначенный ip адрес, а ens19 нет. Но оба интерфейса активны (state UP).

Настройка IP адреса

Вот настройка сетевых интерфейсов при помощи конфигурационных файлов в Ubuntu значительно отличается от Debian. Это потому-что в Ubuntu используется система для управления сетью — Netplan. И нужно будет изучить конфигурационные файлы и команды этой системы.

Читайте также:  Linux yum удалить пакет

Конфигурационные файлы Netplan находятся в каталоге «/etc/netplan«, а конфигурационный файл созданный при установки системы — «/etc/netplan/00-installer-config.yaml«.

Посмотрим на этот конфиг с помощью утилиты cat:

$ cat /etc/netplan/00-installer-config.yaml # This is the network config written by 'subiquity' network: ethernets: ens18: dhcp4: true ens19: dhcp4: true version: 2

Такой формат конфигурационных файлов называется — YAML (произносится как «ямл»).

Разберём этот файл построчно:

  • network: — говорит о том, что сейчас будем настраивать сеть;
    • ethernets: — начинается настройка сетевых интерфейсов;
      • ens18: — настраиваем интерфейс ens18;
        • dhcp4: true — ip адрес будет получен по dhcp;
        • dhcp4: true — ip адрес будет получен по dhcp;

        Разбирать формат YAML не буду, просто покажу как назначить статичные ip адреса и отключить dhcp.

        Число в имени файла — означает приоритет, и чем оно выше, тем выше приоритет у файла. Создадим новый конфиг, имя можно придумать любое, но чтобы этот файл стал главнее текущего, установим приоритет 02-:

        $ sudo nano /etc/netplan/02-network.yaml network: ethernets: ens18: dhcp4: no addresses: [ 172.28.90.75/20 ] routes: - to: default via: 172.28.80.10 nameservers: addresses: [ 77.88.8.8, 77.88.8.1 ] ens19: dhcp4: no addresses: [ 192.168.0.10/24 ] version: 2

        После создания конфигурационного файла проверим его на синтаксис:

        Если в выводе пусто, значит конфигурация верна.

        Теперь можно применить настройки:

        После этого, вам придётся заново подключится к серверу по ssh, по другому ip адресу.

        Итак, мы указали ip адреса для обоих интерфейсов, а также назначили на одном из низ шлюз по умолчанию (routes: — to default) и dns сервера (nameservers).

        И запомните, на сервере Ubuntu 22.04, не нужно использовать утилиты ifdown и ifup. Здесь работает netplan, и применять настройки нужно с помощью этой утилиты, предварительно проверив конфигурацию.

        Добавление статических маршрутов

        Добавлять статические маршруты нужно также в уже знакомом файле «/etc/netplan/02-network.yaml«:

        $ sudo nano /etc/netplan/02-network.yaml network: ethernets: ens18: dhcp4: no addresses: [ 172.28.90.75/20 ] routes: - to: default via: 172.28.80.10 - to: 192.168.5.0/24 via: 172.28.80.5 on-link: true nameservers: addresses: [ 77.88.8.8, 77.88.8.1 ] ens19: dhcp4: no addresses: [ 192.168.0.10/24 ] version: 2

        При добавлении маршрута нужно указать:

        • — to: 192.168.5.0/24 — префикс (сеть назначения);
        • via: 172.28.80.5 — через какой шлюз нужно добираться до сети назначения;
        • on-link: true — активировать маршрут при поднятии интерфейса.

        Применим настройки и проверим маршрут с помощью команды ip:

        $ sudo netplan apply $ ip route show default via 172.28.80.10 dev ens18 proto static 172.28.80.0/20 dev ens18 proto kernel scope link src 172.28.90.75 192.168.0.0/24 dev ens19 proto kernel scope link src 192.168.0.10 192.168.5.0/24 via 172.28.80.5 dev ens18 proto static onlink

        В примере выше — 192.168.5.0/24 via 172.28.80.5 dev ens18 proto static onlink — и есть наш дополнительный статический маршрут.

        Итог

        Вот мы и прошли тему “Настройка сети на Ubuntu“.

        Мы познакомились с системой Netplan. Научились настраивать сеть с помощью конфигурационных файлов /etc/netplan/**-имя.yaml. Узнали как проверить и применить настройки с помощью команды netplan.

        Теперь можем указать ip адрес, адрес шлюза, адрес dns сервера, а также можем создать отдельные маршруты в системе Ubuntu 22.04

        Источник

        Где NetworkManager хранит настройки (РЕШЕНО)

        NetworkManager поддерживает различные подключаемые модули, которые могут определять новые места хранения информации о конфигурации.

        Основным конфигурационным файлом NetworkManager в который обычно вносят изменения, является /etc/NetworkManager/NetworkManager.conf. Вы можете посмотреть его содержимоео следующей командой:

        cat /etc/NetworkManager/NetworkManager.conf

        Кроме этого файла, настройки NetworkManager могут быть сохранены в директориях /etc/NetworkManager/conf.d и /usr/lib/NetworkManager/conf.d.

        Для получения списка всех настроек NetworkManager, учитывающих все конфигурационные файлы, выполните команду:

        NetworkManager --print-config

        Где NetworkManager хранит настройки сетевых подключений

        NetworkManager хранит настройки каждого подключения в отдельных текстовых файлах с расширением .nmconnection. Типичным местом хранения файлов настроек является директория /etc/NetworkManager/system-connections/. Кроме неё, файлы с подключениями могут располагаться в других местах, определяемых плагинами NetworkManager, например, настройки сетевых подключений по Bluetooth могут храниться в папке /var/run/NetworkManager/system-connections. Конфигурационным файлом NetworkManager является /etc/NetworkManager/NetworkManager.conf. Кроме этих основных мест, могут быть и другие пути, специфичные для дистрибутивов Linux.

        Чтобы вывести список всех сетевых подключений и расположение их файлов конфигураций выполните команду:

        nmcli -f NAME,DEVICE,FILENAME connection show

        Все конфигурационные файлы NetworkManager

        Итак, конфигурационными файлами NetworkManager являются следующие:

        • /etc/NetworkManager/NetworkManager.conf — главный конфигурационный файл
        • /etc/NetworkManager/conf.d — директория с конфигурационными файлами
        • /usr/lib/NetworkManager/conf.d — системная директория с конфигурационными файлами (например, файл /usr/lib/NetworkManager/conf.d/20-connectivity.conf)
        • /var/lib/NetworkManager/NetworkManager-intern.conf — внутренний файл конфигурации. Этот файл записывается и читается NetworkManager, и его значения конфигурации объединяются с конфигурацией из NetworkManager.conf. Изменения, вносимые в этот файл, будут перезаписаны
        • /var/lib/NetworkManager/NetworkManager.state — файл с набором состояний
        • /etc/NetworkManager/system-connections/ — директория, в которой хранятся проводные и беспроводные соединения
        • /var/run/NetworkManager/system-connections/ — директория с некоторыми видами соединений, например, Интернет по Bluetooth модему
        • /var/lib/NetworkManager/
        • /etc/NetworkManager/dispatcher.d/
        • /etc/NetworkManager/dnsmasq.d/
        • /etc/NetworkManager/dnsmasq-shared.d/

        Связанные статьи:

        Источник

        Где в системах с systemd лежат файлы конфигурации сети и прочих сервисов?

        В дистрибутиве который у меня стоял раньше, сеть настраивалась в файле /etc/network/interfaces, всё понятно и красиво, как во всех гайдах в интернете. Но вот сейчас я поставил минт, и смотрю что в этом файле кроме локальной петли ничего нету. Я сразу подумал, как же тогда интерфейс при запуске сам поднялся то, если там не прописано чтобы он поднимался, там вообще ничего нет. Потом ещё заметил ненормальные названия интерфейсов и пошел гуглить. Из нагугленного понял, что виновник всей этой вакханалии и хаоса некий systemd, который кроме своей задачи запуска системы позволяет себе ещё что-то делать. Ну полез я в папку /etc/systemd/network, а там пусто. Ну и где мне теперь искать куда настройки сети прописаны? Гугл выдет только стандартный путь как в нормальных дистрибутивах.

        mint на базе убунты а там netplan.io запилили вроде

        cast intelfx

        И как уже им пользоваться? Зачем они вообще всё это делают? Всё же прекрасно работало.

        Ну и что это? Это же управление нетворк менеджером из терминала. Я и так в нетворк менеджере могу всё прописать. Мне надо знать где сами конфиги лежат в минте этом, и зачем оно так работает.

        как во всех гайдах в интернете
        Потом ещё заметил ненормальные названия интерфейсов
        некий systemd

        Ну и где мне теперь искать куда настройки сети прописаны?

        Читай в документации к своему дистрибутиву. В линуксе есть несколько способов настройки сети — interfaces, network manager, networkd etc. Настраиваются они все по разному.

        0 Имеем подсказку nmcli c s

        1 Читаем man nmcli , в секции SEE ALSO находим nm-settings(5)

        2 Внимательно читаем nm-settings(5)

        3 Обращаем внимание в секции FILES на

        /etc/NetworkManager/system-connections or distro plugin-specific location

        Так зачем мне нетворк менеджер? Я и так могу в нетворк менеджере натыкать. Мне нужен сам файл где эти все настройки прописаны.

        Ну так в минте этом только и в графической оболочке через нетворк менеджер и настраивается. Понаделали мусора какого-то, что теперь ничего не работает, ну за-то стильно, модно, молодёжно.

        Имена интерфейсов можно назначать через правила udev привязав конкретное имя к конкретному MAC.
        при этом само имя может быть любым.

        torvn77 ★★★★★ ( 17.08.19 17:18:54 MSK )
        Последнее исправление: torvn77 17.08.19 17:19:38 MSK (всего исправлений: 1)

        Покажи вывод ls -l /etc/NetworkManager/system-connections/

        А можно сделать чтобы всё по человечески было как раньше?

        Ну так в минте этом только и в графической оболочке через нетворк менеджер и настраивается

        Графические оболочки есть не только у NM. Но, если в минте действительно по умолчанию используется NM (что может быть не так, так как в первом же коммите сказали про убунтовский netplan), то и смотри в его файлы настройки, в чём проблема.

        $ nmcli c s NAME UUID TYPE DEVICE Проводное соединение 1 2c02c64d-be77-36c5-af64-03aeec35aa65 ethernet ens5f5 Автоматически настроить TOTOLINK_N301RT f8091326-4f64-44c7-b513-94dcfbaf5576 wifi -- 
        ls -l /etc/NetworkManager/system-connections/ итого 8 -rw------- 1 root root 402 авг 11 11:16 'Автоматически настроить TOTOLINK_N301RT' -rw------- 1 root root 369 авг 11 15:23 'Проводное соединение 1'
        # cat /etc/NetworkManager/system-connections/Проводное\ соединение\ 1 [connection] id=Проводное соединение 1 uuid=2c02c64d-be77-36c5-af64-03aeec35aa65 type=ethernet autoconnect-priority=-999 permissions= timestamp=1565526199 [ethernet] cloned-mac-address=F4:6D:04:89:02:25 mac-address=F4:6D:04:89:02:25 mac-address-blacklist= [ipv4] dns-search= method=auto [ipv6] addr-gen-mode=stable-privacy dns-search= method=auto 

        Ну и что это такое? Файл с настройками интерфейса не так должен выглядеть.

        Источник

Оцените статью
Adblock
detector