Главная страница
Навигация по странице:

  • Способ номер 1

  • Способ номер 2

  • Внимание! На машинах с GUI network-manager уже должен быть установлен. Так как апплеты конфигурации сети его и используют.

  • Конфигурация_сетевой_инфраструктуры. Конфигурация сетевой инфраструктуры


    Скачать 37.12 Kb.
    НазваниеКонфигурация сетевой инфраструктуры
    Дата12.04.2023
    Размер37.12 Kb.
    Формат файлаdocx
    Имя файлаКонфигурация_сетевой_инфраструктуры.docx
    ТипДокументы
    #1057994

    Конфигурация сетевой инфраструктуры

    Конфигурация сетевых интерфейсов


    В современных дистрибутивах для манипуляции сетевыми устройствами присутствует пакет iproute, в состав которого входят такие утилиты как: ip, ss, tc, и т.д. Минимально необходимые команды, которые нужно знать:


    • Посмотреть список физических интерфейсов
      # ip link ( или ip l)

    • Посмотреть список интерфейсов с IP-адресами
      # ip address show (или ip a s)

    • Добавить IP адрес на интерфейс
      # ip address add {ip-address/mask} dev {interface}

    • Удалить IP адрес с интерфейса
      # ip address del {ip-address/mask} dev {interface}

    • Посмотреть список маршрутов
      # ip route show (или ip r s)

    • Добавить маршрут
      # ip route add {network/mask} via {gateway ip}

    • Удалить маршрут
      # ip route del {network/mask} via {gateway ip}

    • Добавить маршрут по умолчанию
      # ip route add default via {gateway ip}

    • Удалить маршрут по умолчанию
      # ip route del default


    Данные команды применяются на лету, но не переживают ребут системы. Чтобы изменения переживали ребут, существует несколько способов.

    Способ номер #1 - Network Scripts и файлы конфигурации.
    В предыдущих релизах RedHat, основным способом конфигурации сети было использование shell скриптов. Под шел скриптами подразумевается в основном “/etc/init.d/network” и всё что он в дальнейшем вызывает. Пользователь предоставлял файлы, рассматриваемые как конфигурационные, но которые могли быть интерпретируемые как дополнения, содержащие переменные для скриптов. В настоящее время, данный способ является дополнительным, в то время как в Debian, этот способ всё ещё является способом по умолчанию.
    В RedHat-подобных дистрибутивах, конфигурационные файлы интерфейсов хранятся в директории “/etc/sysconfig/network-scripts/” с именами “ifcfg-*”, где “*” – имя интерфейса.

    Создать файл конфигурации можно обычным текстовым редактором


    vim /etc/sysconfig/network-scripts/ifcfg-enp0s3


    Узнать, что нужно написать в этом файле можно в файле документации “sysconfig.txt”:


    less /usr/share/doc/initscripts-version/sysconfig.txt


    Посмотреть примеры файлов конфигурации сети можно в директории


    ls /usr/share/doc/initscripts-version/examples/networking/


    Не нужно запоминать эти пути! Нужно помнить, что их всегда можно найти. Логика следующая:

    1. Нужно узнать какому пакету принадлежит “/etc/sysconfig/network-scripts/”
      # rpm -qf /etc/sysconfig/network-scripts/

    2. Вывести список всех файлов, установленных данным пакетом
      # rpm -ql initscripts или rpm -ql $(rpm -qf /etc/sysconfig/network-scripts/)

    3. Отфильтровать вывод можно с помощью команды grep
      # rpm -ql initscripts | grep doc


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

    DEVICE=enp0s3

    BOOTPROTO=none

    ONBOOT=yes

    IPADDR=192.168.0.1

    NETMASK=255.255.255.0

    GATEWAY=192.168.0.254

    DNS1=192.168.0.254

    USERCTL=no
    Чтобы задать статический маршрут/маршруты, нужно создать файл “/etc/sysconfig/network-scripts/route-*”, где “*” – имя исходящего интерфейса. В данном файле, нужно перечислить необходимые маршруты. Пример: “172.16.2.0/24 via 192.168.0.254”.
    После выполнения вышеперечисленных действий нужно сделать: systemctl restart networking.
    В Debian-подобных файл конфигурации сетевых интерфейсов находится тут “/etc/network/interfaces”. Информацию о том, как заполнять этот файл можно найти в мануле


    man interfaces
    vim /etc/network/interfaces



    auto enp0s3

    allow-hotplug enp0s3

    iface enp0s3 inet static

    address 192.168.0.6

    netmask 255.255.254.0

    gateway 192.168.1.237


    Как добавить статические маршруты? iface поддерживает следующие опции (что конечно же описано в man interfaces): pre-up, up, post-up, pre-down, down. Данные опции позволяют выполнить любую команду, перед тем как интерфейс поднимется или выключится. Поэтому…


    auto enp0s3

    allow-hotplug enp0s3

    iface enp0s3 inet static

    address 192.168.0.6

    netmask 255.255.254.0

    gateway 192.168.1.237

    post-up ip route add 172.16.2.0/24 via 192.168.0.254

    pre-down ip route del 172.16.2.0/24 via 192.168.0.254


    DNS-сервера для статически настроенных машин должны быть перечислены в файле “/etc/resolv.conf” в формате “nameserver X.X.X.X”. Данный файл может быть перезаписан, например - dhcp-client’ом, если есть интерфейсы, получающие IP-адрес динамически, поэтому как-то нужно убедиться, что данные настройки будут перманентными.

    В Debian настроить через interfaces просто так не получится. Для этого нужно установить пакет “resolvconf”.


    apt install resolvconf


    После этого в “man resolvconf” можно подсмотреть, что необходимые опции можно добавить так: “dns-nameservers 192.168.0.254 8.8.8.8”.


    auto enp0s3

    allow-hotplug enp0s3

    iface enp0s3 inet static

    address 192.168.0.6

    netmask 255.255.254.0

    gateway 192.168.1.237

    dns-nameservers 192.168.0.254 8.8.8.8

    dns-search mycorp.un


    Способ номер #2 - NetworkManager (Уневерсальный!!!)
    Более современным путём настройки сети будет являться NetworkManager. NetworkManager – дефолтный (в RHEL) сетевой демон, который позволяет настраивать IP-адреса, создавать алиасы интерфейсов, добавлять статические маршруты, информацию о DNS, создавать VPN подключения. NetworkManager запускается как демон и предоставляет API через шину D-Bus, который предоставляет способ запрашивать и контролировать состояние устройств.
    В стандартную поставку для NM входят следующие утилиты:

    nmtui

    Простой псевдо-графический интерфейс.

    nmcli

    Command-line утилита, позволяющая пользователям и скриптам взаимодействовать с NetworkManager’ом.

    nm-connection-editor

    GTK+ приложение.



    Хоть в RHEL NetworkManager и является сетевым сервисом по умолчанию, разработчики сделали всё возможное чтобы shell-скрипты (network scripts) могли взаимодействовать с NM и работать параллельно. NM запускается первым, а /etc/init.d/network согласуется с NM что бы избежать вмешательства в его конфигурацию.
    Что касается Debian, то там NetworkManager требует отдельной установки.
    Внимание! На машинах с GUI network-manager уже должен быть установлен. Так как апплеты конфигурации сети его и используют.


    apt install network-manager


    Конфигурация в “/etc/network/interfaces” не должна конфликтовать с NM, поэтому там должны остаться только настройки loopback интерфейса.

    source /etc/network/interfaces.d/*

    # The loopback network interface

    auto lo

    iface lo inet loopback


    Дальше необходимо выполнить перезагрузку Debian-машин:


    reboot


    После чего можно будет воспользоваться утилитой nmtui для настройки:

    • ip адресов

    • DNS

    • hostnames

    • статических маршрутов

    • gre-туннелей




    nmtui


    Можно редактировать соединения, активировать/деактивировать и задать хостнейм.



    Выполните схожие действия для всех остальных машин!
    NetworkManager - имба! Используйте его!!!!

    Форвардинг пакетов



    Некоторые участники сети будут выступать в качестве маршрутизаторов, поэтому нужно включить возможность форвардинга.
    Просматривать и настраивать системные переменные, можно с помощью утилиты sysctl.
    Найти опцию, которая отвечает за форвардинг ipv4 пакетов

    sysctl -a | grep forward | grep ip


    Включить форвардинг на работающей системе


    sysctl -w net.ipv4.ip_forward=1


    Для того чтобы изменения сохранялись при перезапуске системы, “net.ipv4.ip_forward=1” нужно добавить в файл “/etc/sysctl.conf”.
    На L-FW и R-FW

    sysctl -w net.ipv4.ip_forward=1 >> /etc/sysctl.conf

    NTP



    Для нормальной работы многих сервисов (ОСОБЕННО с TLS), необходимо чтобы часы были синхронизированы.
    Установка NTP сервера на L-SRV

    [root@L-SRV]# apt install chrony
    [root@L-SRV]# echo "allow 0.0.0.0/0" >> /etc/chrony/chrony.conf

    [root@L-SRV]# echo "local stratum 2" >> /etc/chrony/chrony.conf
    [root@L-SRV]# timedatectl set-timezone Asia/Yekateringburg
    [root@L-SRV]# timedatectl set-ntp 0
    [root@L-SRV]# systemctl restart chrony


    Подключение клиентов.

    [root@ANY]# timedatectl set-timezone Asia/Yekateringburg
    [root@ANY]# timedatectl set-ntp 1
    [root@L-ANY]# apt install chrony

    [root@L-ANY]# vim /etc/chrony/chrony.conf

    [root@R-ANY]# vim /etc/chrony.conf

    [root@ANY]# systemctl restart chronyd

    DHCP Server



    - DHCP server на Linux:

    http://www.k-max.name/linux/dhcp-server-na-linux/
    Устанавливаем DHCP сервер и делаем backup конфига.


    [root@L-FW]# apt install isc-dhcp-server
    [root@L-FW]# mkdir dhcp_bak
    [root@L-FW]# cp /etc/dhcp/dhcpd.conf dhcp_bak/


    Хорошим тоном будет убедится, что isc-dhcp-server был добавлен в автозагрузку.


    [root@L-FW]# systemctl enable isc-dhcp-server


    Нужно указать на каких интерфейсах должен работать isc-dhcp-server.


    [root@L-FW]# vim /etc/default/isc-dhcp-server


    INTERFACESv4="enp0s8"


    После чего можно приступить к конфигурации. В dhcpd.conf уже все что необходимо есть, нужно просто отсечь всё ненужное.


    [root@L-FW]# vim /etc/dhcp/dhcpd.conf

    # Суффикс доменного имени по умолчанию

    option domain-name "skill39.wsr";

    # Адрес/адреса DNS сервера/серверов

    option domain-name-servers 172.16.20.10;
    # Время аренды адреса по умолчанию

    default-lease-time 600;

    # Ограничение по максимальному времени аренды

    max-lease-time 7200;
    # Данный сервер является авторитетным для этой сети

    authoritative;
    # Отключить DDNS. (Опция понадобиться в будущем)

    ddns-update-style none;
    subnet 172.16.100.0 netmask 255.255.255.0 {

    range 172.16.100.60 172.16.100.75; # Диапазон адресов

    option routers 172.16.100.1; # Шлюз по умолчанию

    }
    Проверить конфигурацию DHCP сервера


    [root@L-FW]# dhcpd -t


    Если с конфигурацией всё ОК, то dhcp-сервер нужно перезапустить:
    [root@L-FW]# systemctl restart isc-dhcp-server


    написать администратору сайта