Мониторинг сетевого стека linux

Как отключить ipv6

В настоящее время активного использования протокола ipv6 в России нет и в обычной работе он чаще всего не нужен. Хотя нас уже много лет пугают, что свободных ip адресов уже практически не осталось, но на деле пока еще всем хватает. Так что с точки зрения практических соображений ipv6 в настоящее время на сервере не нужен и его можно отключить.

Перед отключением ipv6 в  centos необходимо на всякий случай проверить, какие программы его используют в своей работе. Это нужно для того, чтобы избежать ошибок в их работе, предварительно отключив ipv6 в конфигурациях. Для того, чтобы увидеть, какие программы висят на ipv6 интерфейсе воспользуемся командой netstat:

Все строки с ::: это ipv6 протокол. В моем случае это sshd, postfix и chronyd. Отключим им ipv6 и оставим только ipv4.

Начнем с sshd. Открываем файл настроек /etc/ssh/sshd_config и находим строки:

Раскомментируем их и изменим. Должно получиться вот так:

Теперь открываем файл настроек постфикс /etc/postfix/main.cf. Ищем там строку:

Меняем на:

Отключаем ipv6 в chronyd. Для этого создаем файл /etc/sysconfig/chronyd и добавляем строку:

Теперь отключаем ipv6 в CentOS. Открываем файл /etc/sysctl.conf и добавляем туда строки:

Редактируем файл /etc/sysconfig/network, добавляя туда:

Добавляем запрет на работу ipv6 в конфигурацию grub. Открываем конфиг /etc/default/grub и добавляем к параметру GRUB_CMDLINE_LINUX еще одно значение ipv6.disable=1. Должно получиться примерно так:

После этого обновляем конфиг загрузчика.

Перезагружаемся и проверяем результат:

Нигде нет упоминания про inet6 и адреса формата ipv6. Значит все в порядке, мы отключили ipv6 в CentOS. Теперь проверим список открытых портов:

Все порты ipv4. Все в порядке, наша задача выполнена.

Настройка маршрутов на основе политик

В основе маршрутизации на основе политик лежат таблицы. Для каждой таблицы настраиваются свои маршруты и политики. Проверим наличие в системе пакета iproute2. Если его нет, произведите его установку.

Откройте файл с таблицами маршрутизации

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

Формат записи: приоритет (число) пробел название таблицы (число).
Теперь откройте файл Netplan с настройками сетевых интерфейсов. Он расположен по пути /etc/netplan/ и имеет расширение .yaml. В моём случае путь такой:

Каждый интерфейс имеет в данном файле блок настроек. В конец данного блока мы и будем добавлять настройки политик и правил маршрутизации для интерфейса

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

Для каждого сетевого интерфейса добавляем блоки routes и routing-policy. Итоговая запись для 1 интерфейса будет выглядеть так:

network:
    version: 2
    ethernets:
        enp0s5:
            addresses:
            - 78.89.90.12/24
            gateway4: 78.89.90.1
            match:
                macaddress: 54:43:32:21:10:09
            mtu: 1500
            nameservers:
                addresses:
                - 8.8.8.8
                - 1.1.1.1
                - 8.8.4.4
                search: []
            set-name: enp0s5
            routes:
                - to: 0.0.0.0/0
                  via: 78.89.90.1
                  table: 700
            routing-policy:
                - from: 78.89.90.12
                  table: 700
                  priority: 300

Для других интерфейсов запись будет аналогична, начиная с имени интерфейса (enp0s5), но у других должен отсутствовать параметр gateway4, т.к. шлюз по умолчанию должен быть один. Настройки routes и routing-policy:

  • to — адрес назначения пакета. Для наших целей — любой (0.0.0.0/0)
  • via — адрес шлюза для данного интерфейса
  • table — имя таблицы маршрутизации. Должны быть указаны одинаковые значения в routes и routing-policy для одного интерфейса, но быть различными от интерфейса к интерфейсу. Данные таблицы мы создали в файле rt_tables
  • from — адрес источника пакета. Для целей данного руководства — это IP адрес интерфейса
  • priority — обязательное числовое значение

После внесения настроек и сохранения файла проверим конфигурацию на ошибки:

Подобный вывод укажет на ошибку при их наличии (в данном случае пропущен пробел):

/etc/netplan/50-cloud-init.yaml:23:12: Invalid YAML: inconsistent indentation:
           routes:
           ^

Если конфиг составлен верно, то вывод будет отсутствовать. Это значит, что пора применить изменения:

После применения изменений настроенные таким образом сетевые интерфейсы станут доступны извне по своим публичным IP адресам.

191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

700
300

ООО «ИТГЛОБАЛКОМ ЛАБС»

700
300

TCP backlog

По метрикам TCP соединений можно не только диагностировать работу сети, но и определять проблемы в работе сервисов.

Например, если какой-то сервис, обслуживающий клиентов по сети, не справляется с нагрузкой и перестает обрабатывать новые соединения, они ставятся в очередь (backlog).

На самом деле очереди две:

  • SYN queue — очередь неустановленных соединений (получен пакет SYN, SYN-ACK еще не отправлен), размер ограничен согласно sysctl net.ipv4.tcp_max_syn_backlog;
  • Accept queue — очередь соединений, для которых получен пакет ACK (в рамках «тройного рукопожатия»), но не был выполнен accept приложением (очередь ограничивается приложением)

При достижении лимита accept queue ACK пакет удаленного хоста просто отбрасывается или отправляется RST (в зависимости от значения переменной sysctl net.ipv4.tcp_abort_on_overflow).

Наш агент снимает текущее и максимальное значение accept queue для всех listen сокетов на сервере.

Для этих метрик есть график и преднастроенный триггер, который уведомит, если backlog любого сервиса использован более чем на 90%:

Как узнать основной шлюз для локальной сети

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

И здесь мы рассмотрим, что такое основной шлюз для локальной сети, и как можно узнать данный параметр при самостоятельной настройке системы.

Для чего нужен основной шлюз в локальной сети?

Основной шлюз в локальной сети может представлять собой либо отдельное устройство — маршрутизатор, либо программное обеспечение, которое синхронизирует работу всех сетевых компьютеров.

Стоит отметить, что компьютеры при этом могут использовать разные протоколы связи (например, локальные и глобальные), которые предоставляют доступ к локальной или глобальной сети, соответственно.

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

При этом формирование IP адреса роутера (или выполняющего его роль ПО) напрямую зависит от адреса сетевого шлюза.

Таким образом, адрес основного шлюза фактически представляет собой IP адрес интерфейса устройства, с помощью которого осуществляется подключение компьютера к локальной сети

Для того чтобы связаться с определенным узлом данной сети, компьютер из другой сети (Сеть 2) ищет путь к нему в своей таблице маршрутизации. Если нужная информация там отсутствует, то узел направляет весь трафик через основной шлюз (роутер1) первой сети, который и настраивает соединение с нужным компьютером своего участка сети.

Иными словами, если при подключении к любому устройству в сети указать его IP адрес вручную, то трафик пойдет напрямую, без участия шлюза. В остальных случаях пакеты данных сперва попадают в «сортировочный центр» сети — основной шлюз, откуда потом благополучно рассылаются конечным устройствам.

— Значительное улучшение эффективности IP-маршрутизации. При этом для соединения с функциональными узлами других сегментов сети все узлы TCP/IP опираются на хранящуюся в основных шлюзах информацию. Соответственно, отдельные шлюзы в большой локальной сети не загружаются лишними данными, что существенно улучшает скорость обмена информацией между компьютерами.

— При наличии в сети нескольких интерфейсов (в частном случае — подключение на компьютере нескольких сетевых карт) для каждого из них может настраиваться свой шлюз «по умолчанию». При этом параметры соединения рассчитываются автоматически, и приоритет отправки трафика на свой основной шлюз получает наиболее быстрый сетевой интерфейс.

Как узнать основной шлюз для локальной сети?

Узнать основной шлюз для локальной сети можно с помощью командной строки на подключенном к сети компьютере или непосредственно в настройках используемого в качестве шлюза сетевого оборудования.

1. Посмотреть основной шлюз можно с помощью специальной команды ipconfig /all (о которой мы также рассказывали в статье как узнать ip адрес компьютера).

Для этого зайдите запустите окно командной строки (на на windows 7 «Пуск -> Все программы -> Стандартные -> Командная строка), введите ipconfig /all и нажмите клавишу Enter.

Нужный параметр здесь указан в строке «Основной шлюз».

2. Чтобы найти маску подсети и основной шлюз непосредственно в настройках маршрутизатора на любом подключенном к сети компьютере:

  • — откройте интернет-браузер;
  • — в адресной строке введите 192.168.1.1 (статический IP адрес маршрутизатора, проверить который можно на сервисной этикетке устройства, — в большинстве случаев это и есть искомый основной шлюз локальной сети) и нажмите клавишу Enter;
  • — введите аутентификационные данные (при заводских настройках в большинстве случаев — admin/admin);
  • — на странице основной информации об устройстве проверьте данные об установленном сетевом шлюзе.

3. Кроме того, узнать основной шлюз роутера можно в настройках активного сетевого соединения на компьютере. Для этого:

— в трее кликните правой кнопкой мыши по значку «подключение по сети»;

— перейдите в раздел контекстного меню «Состояние»

— в открывшемся окне зайдите во вкладку «Поддержка» и посмотрите строку «Основной шлюз».

Как узнать основной шлюз провайдера?

Основной шлюз для подключения к интернету можно также узнать из настроек маршрутизатора. Для этого зайдите в веб-интерфейс устройства (аналогично второму пункту данной инструкции) и на главной странице посмотрите нужную информацию.

Настройка сетевого интерфейса Linux

1. Синтаксис и опции ethtool

Синтаксис ethtool довольно простой, утилите достаточно передать опции и имя сетевого интерфейса, с которым вы хотите работать:

$ ethtool опции интерфейс параметры

Вот основные опции утилиты, которые мы будем использовать в этой статье:

  • —version — выводит версию утилиты;
  • -g, —show-ring — позволяет посмотреть информацию о буфере RX и TX пакетов;
  • -G, —set-ring — позволяет установить размер буфера RX и TX пакетов, работает только для беспроводного интерфейса;
  • -i, —driver — выводит имя используемого драйвера;
  • -P, —show-permaddr — выводит постоянный MAC адрес устройства;
  • -r, —negotiate — выполняет повторное согласование скорости передачи данных, если включено автоматическое согласование;
  • -S, —statistics — выводит статистику;
  • -s, —change — позволяет менять настройки сетевого интерфейса;
  • -k, —show-offload — позволяет посмотреть какие технологии offload включены;
  • —reset — позволяет сбросить настройки различных компонентов сетевой карты, для сброса всех настроек используйте значение параметра all;

Это далеко не все опции программы, все вы можете посмотреть выполнив такую команду в терминале, если программа установлена:

2. Установка ethtool

Обычно, утилита не поставляется по умолчанию вместе с дистрибутивом, но она есть в официальных репозиториях. Для установки утилиты в Ubuntu или Debian выполните:

Для установки ethtool linux в Fedora, CentOS или REHL выполните:

А для OpenSUSE команда будет выглядеть вот так:

3. Информация про сетевые интерфейсы

Сначала надо посмотреть список сетевых интерфейсов в системе. Для этого выполните такую команду:

В данном примере, я использовал фильтр egrep чтобы отсеять все интерфейсы, созданные контейнерами Docker, вам этого делать не обязательно. Здесь enp24s0 — это сетевой интерфейс Ethernet, который мы и будем использовать дальше. Выполнив утилиту ethtool без опций можно посмотреть текущие настройки сетевого интерфейса:

Обратите внимание на пункт Supported link modes, здесь перечислены поддерживаемые скорости передачи данных и режимы дуплекса для них. Скорость измеряется в мегабитах и обычно доступны значения 10, 100 и 1000

Режим дуплекса, выводимый в параметре Duplex отвечает за приём и передачу данных. При значении full сетевая карта может одновременно принимать и отправлять данные, а режиме half только принимать или отправлять данные. Текущая скорость передачи данных выводится немного ниже параметра Duplex.

Ещё есть параметр Advertised auto negotiation. Он отвечает за то будет ли скорость передачи данных и режим дуплекса настраиваться автоматически в зависимости от возможностей обоих соединённых устройств. По умолчанию этот параметр включён и рекомендуется его таким и оставить.

4. Изменение настроек интерфейса

Менять все эти настройки и многие другие можно с помощью опции -s. Например чтобы отключить автоматическое согласование параметров работы выполните:

Затем можно вручную установить скорость передачи данных:

А режим дуплекса в half:

Всё это можно объединить в одну команду:

После изменения скорости передачи данных надо снова поднять сетевой интерфейс:

Теперь при просмотре настроек сетевой карты вы увидите новые значения:

Чтобы посмотреть используемый драйвер используйте опцию -i:

6. Статистика интерфейса

Посмотреть статистику по переданных и полученных данных можно с помощью опции -S:

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

Затем выгрузите модуль ядра с драйвером:

Верните драйвер обратно и запустите устройство:

После этого статистика будет сброшена:

7. Управление светодиодом

Если в вашем компьютере установлено несколько сетевых карт и вам надо определить какой их них принадлежит то или иное имя в системе, можно использовать опцию -p. Ей надо передать количество секунд на протяжении которых светодиод на разъёме должен гореть:

Таким образом вы можете подсветить интерфейс ethtool.

8. Сохранение настроек

Все выполненные с помощью ethtool настройки актуальны только до перезагрузки. Чтобы их сохранить после перезагрузки надо создать скрипт, выполняющий нужные команды после старта системы или же использовать возможности network-scripts. Например в Ubuntu или Debian можно добавить команду, которая выполняет нужные настройки в файл /etc/network/if-pre-up.d/ethtool. Например:

Для CentOS следует добавить параметр ETHTOOL_OPTS в файл настройки сетевого интерфейса, Например:

Посмотреть сетевые интерфейсы windows

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов по системному администрированию и настройке компьютера Pyatilistnik.org. В прошлый раз мы с вами разобрались, как устранять проблему с нерабочей кнопкой Пуск в Windows Server 2019. Двигаемся дальше, сегодня у нас очень интересная и полезная задача, мы научимся вычислять значения GUID сетевого адаптера, рассмотрим в каких ситуациях это может быть полезно, а такие ситуации уж поверьте мне бывают очень частыми. Данный навык прокачает ваш уровень траблшутинга и позволит вам экономить время при неполадках в сети.

22.6. Утилита arp

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

root@barry:~# arp -a
? (192.168.1.191) at 00:0C:29:3B:15:80  on eth1
agapi (192.168.1.73) at 00:03:BA:09:7F:D2  on eth1
anya (192.168.1.1) at 00:12:01:E2:87:FB  on eth1
faith (192.168.1.41) at 00:0E:7F:41:0D:EB  on eth1
kiss (192.168.1.49) at 00:D0:E0:91:79:95  on eth1
laika (192.168.1.40) at 00:90:F5:4E:AE:17  on eth1
pasha (192.168.1.71) at 00:03:BA:02:C3:82  on eth1
shaka (192.168.1.72) at 00:03:BA:09:7C:F9  on eth1
root@barry:~#

Узел с именем «anya» является межсетевым экраном Cisco, с именем «faith» — лазерным принтером, с именем «kiss» — медиа-плеером Kiss DP600, с именем «laika» — ноутбуком, а с именами «Agapi», «Shaka» и «Pasha» — серверами SPARC. С помощью символа знака вопроса обозначен сервер под управлением дистрибутива Red Hat Enterprise Linux, работающий в виртуальной машине.

Вы можете использовать команду для удаления элемента из .

# arp
Address             HWtype  HWaddress           Flags Mask     Iface
ubu1010             ether   00:26:bb:12:7a:5e   C              eth0
anya                ether   00:02:cf:aa:68:f0   C              eth0
# arp -d anya
# arp
Address             HWtype  HWaddress           Flags Mask     Iface
ubu1010             ether   00:26:bb:12:7a:5e   C              eth0
anya                        (incomplete)                       eth0
# ping anya
PING anya (192.168.1.1) 56(84) bytes of data.
64 bytes from anya (192.168.1.1): icmp_seq=1 ttl=254 time=10.2 ms
...
# arp
Address             HWtype  HWaddress           Flags Mask     Iface
ubu1010             ether   00:26:bb:12:7a:5e   C              eth0
anya                ether   00:02:cf:aa:68:f0   C              eth0

[править] Создание сетевого интерфейса

Интерфейс создается ядром автоматически при обнаружении устройства. Для того чтобы устройство было доступно, необходимо включить его драйверную поддержку в состав ядра. Это может быть сделано в момент сборки ядра или при работе системы с использованием механизма загружаемых модулей.

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

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

Не путайте интерфейсы и
устройства системы. Интерфейсам не соответствуют
никакие специальные файлы в каталоге /dev

Вновь созданный интерфейс является ненастроенным: он выключен и к нему не
привязан никакой IP-адрес. Для того чтобы ввести интерфейс в работу, нужно
провести его настройку и включить (поднять) его при помощи команды
ifconfig.

При настройке интерфейса обычно настраиваются следующие параметры:

  • IP-адрес должен быть указан обязательно, поскольку без него использование интерфейса неосуществимо;
  • Сетевая маска должна указываться в том случае, если она отличается от той, которая соответствует классу IP-адреса;
  • Широковещательный адрес указывается в том случае, если он отличается от широковещательного адреса, вычисляемого на основе значений IP-адреса и сетевой маски.

Эти параметры задаются одной командой, которая при этом, как правило, сразу и включает интерфейс.

# ifconfig eth0 192.168.1.1 up
# ifconfig eth1 10.0.0.1 netmask 255.255.255.0 up

Считаем соединения

Disclaimer: для иллюстрации работы с метриками в разных срезах я буду показывать наш интерфейс (dsl) работы с метриками, но это можно сделать и на opensource хранилищах.

В первую очередь мы разделяем все соединения на входящие (inbound) и исходящие (outbound) по отношению к серверу.

Каждое TCP соединения в определенный момент времени находится в одном из , разбивку по которым мы тоже сохраняем (это иногда может оказаться полезным):

По этому графику можно оценить общее количество входящих соединений, распределение соединений по состояниям.

Здесь так же видно резкое падение общего количества соединений незадолго до 11 Jun, попробуем посмотреть на соединения в разрезе listen портов:

На этом графике видно, что самое значительное падение было на порту 8014, посмотрим только 8014 (у нас в интерфейсе можно просто нажать на нужном элементе легенды):

Попробуем посмотреть, изменилось ли количество входящий соединений по всем серверам?

Выбираем серверы по маске “srv10*”:

Теперь мы видим, что количество соединений на порт 8014 не изменилось, попробуем найти на какой сервер они мигрировали:

Мы ограничили выборку только портом 8014 и сделали группировку не по порту, а по серверам.

Теперь понятно, что соединения с сервера srv101 перешли на srv102.

Основные концепции в firewalld

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

Зоны

Демон firewalld управляет группами правил, используя элементы, называемые зонами. Зоны представляют собой набор правил, который определяет разрешенный трафик в зависимости от уровня доверия в сети. Зоне назначаются сетевые интерфейсы, определяющие поведение, которое должен разрешать брандмауэр.

Такая гибкость позволяет легко изменять правила в зависимости от среды, особенно в случае с компьютерами, которые часто перемещаются между сетями (например, с ноутбуками). Вы можете использовать более строгие правила, например, запретить большую часть трафика в публичных сетях WiFi и ввести менее строгие ограничения для домашней сети. Для сервера эти зоны не так важны, поскольку его сетевая среда редко изменяется, если это вообще происходит.

Вне зависимости от того, насколько динамична ваша сетевая среда, вам будет полезно познакомиться с общей идеей, лежащей в основе заданных зон firewalld. Заданные зоны в firewalld упорядочены от наименее доверенных к наиболее доверенным:

drop: самый низкий уровень доверия. Все входящие соединения отбрасываются без ответа и разрешаются только исходящие соединения.

block: аналогично вышеописанному, но запросы входящих соединений не просто отбрасываются, а отклоняются с сообщением 
icmp-host-prohibited или 
icmp6-adm-prohibited

public: публичные сети, к которым нет доверия. Вы не доверяете другим компьютерам, но можете разрешать отдельные входящие соединения на разовой основе.

external: внешние сети, если вы используете брандмауэр в качестве шлюза. Эта зона настроена для маскировки NAT, чтобы ваша внутренняя сеть оставалась частной, но доступной.

internal: другая сторона внешней зоны, используемая для внутренней части шлюза. Компьютеры в основном достойны доверия, доступны некоторые дополнительные службы.

dmz: используется для компьютеров в ДМЗ (изолированные компьютеры, у которых нет доступа к остальной части вашей сети). Разрешены только некоторые входящие соединения.

work: используется для рабочих компьютеров. Большинство компьютеров в сети являются доверенными. Могут быть разрешены некоторые дополнительные службы.

home: домашняя среда. Обычно подразумевается, что вы доверяете большей части других компьютеров и что будут приниматься запросы еще нескольких служб.

trusted: все компьютеры в сети являются доверенными

Наиболее открытый из доступных вариантов, который следует использовать с осторожностью.

Для использования брандмауэра можно создавать правила и изменять свойства зон, а также назначать сетевые интерфейсы в наиболее подходящие зоны.

Постоянство правил

В firewalld правила можно применять к текущему набору правил времени исполнения или использовать как постоянные. При добавлении или изменении правила по умолчанию изменяется только работающий брандмауэр. После перезагрузки системы или службы firewalld сохраняются только постоянные правила.

Большинство операций firewall-cmd могут принимать флаг —permanent, указывающий на необходимость применения изменений к постоянной конфигурации. Кроме того, текущую конфигурацию брандмауэра можно сохранить в постоянной конфигурации с помощью команды firewall-cmd —runtime-to-permanent.

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

22.10. Практическое задание: настройка сетевых интерфейсов

1. Проверьте, исполняется ли на вашем компьютере демон .

2. Выведите информацию о вашем текущем IP-адресе (или адресах).

3. Выведите содержимое файла конфигурации, в котором записан используемый .

4. Выполните действия, перечисленные в одном из разделов с описанием , для перехода от использования к использованию . Используйте полученный ранее для того, чтобы избежать конфликтов!

5. Установили ли вы корректный при выполнении предыдущего задания? Если нет, сделайте это сейчас.

6. Проверьте корректность установки адреса шлюза.

7. Проверьте возможность соединения с адресом шлюза, а также корректность работы шлюза.

8. Измените два последних символа в вашей сетевой карты.

9. Какие порты используются приложениями, работающими по протоколам http, pop3, ssh, telnet, nntp и ftp?

10. Поясните, почему для передачи сообщений электронной почты и доступа к вебсайтам используется протокол , а не .

11. Выведите вашего компьютера.

12. Выведите список IP-адресов узлов, с которыми ваш компьютер недавно обменивался данными.

Как удалённо изменить IP-адрес и настройки DNS с помощью PowerShell?

Вы можете использовать PowerShell для удалённого изменения IP-адреса или настроек DNS-сервера на нескольких удалённых компьютерах. Предположим, ваша задача — изменить настройки DNS для всех серверов в конкретном контейнере AD (Organizational Unit). Чтобы получить список компьютеров в приведённом ниже скрипте, используется командлет Get-ADComputer, а для удалённого подключения к компьютерам используется WinRM (командлет Invoke-Command):

$Servers = Get-ADComputer -SearchBase ‘OU=Servers,OU=Berlin,OU=DE,DC=woshub,DC=cpm’ -Filter '(OperatingSystem -like "Windows Server*")' | Sort-Object Name
ForEach ($Server in $Servers) {
	Write-Host "Server $($Server.Name)"
	Invoke-Command -ComputerName $Server.Name -ScriptBlock {
		$NewDnsServerSearchOrder = "192.168.2.11","8.8.8.8"
		$Adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object {$_.DHCPEnabled -ne 'True' -and $_.DNSServerSearchOrder -ne $null}
		Write-Host "Old DNS settings: "
		$Adapters | ForEach-Object {$_.DNSServerSearchOrder}
		$Adapters | ForEach-Object {$_.SetDNSServerSearchOrder($NewDnsServerSearchOrder)} | Out-Null
		$Adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object {$_.DHCPEnabled -ne 'True' -and $_.DNSServerSearchOrder -ne $null}
		Write-Host "New DNS settings: "
		$Adapters | ForEach-Object {$_.DNSServerSearchOrder}
	}
}

Tracert

Windows 10 также включает в себя tracert (Trace Route). Это диагностический инструмент для определения сетевого пути к месту назначения с помощью серии эхо-запросов ICMP. Однако, в отличие от команды ping, каждый запрос включает значение TTL (время жизни), которое увеличивается на единицу каждый раз, что позволяет отображать список пройденного маршрута и продолжительность.

В команде замените IP-OR-DOMAIN на фактический IP-адрес или доменное имя пункта назначения, для которого требуется устранить неполадки.

Например, эта команда позволяет просмотреть путь, по которому пакеты достигают Google.com:tracert google.com

В команде замените IP-OR-DOMAIN на фактический IP-адрес или имя домена пункта назначения, неполадки с которым вы хотите решить, и HOP-COUNT для количества переходов, которые вы хотите отслеживать.

Преимущества использования

Подобная технология имеет ряд преимуществ:

  1. Повышается эффективность маршрутизации. Данные сортируются на внутренние (локальные) и внешние (предназначенные для внешних серверов). Если конечная точка неизвестна, то используется так называемый, шлюз сети по умолчанию.
  2. Происходит регулярная проверка логина и пароля как в ЛВС, так и за ее пределами, что способствует повышению защиты соединения.
  3. Администратор имеет возможность настраивать трафик по направлению и объему.
  4. Данные находятся под защитой от спама, хакеров и несанкционированного использования. Шлюз выступает «пропускным пунктом» и защищает информацию и в прямом, и в обратном направлении.

Обновление компонентов directX

Заключение

Я постарался рассказать подробно и понятно о полной настройке ELK Stack. Информацию в основном почерпнул в официальной документации. Мне не попалось более ли менее подробных статей ни в рунете, ни в буржунете, хотя искал я основательно. Вроде бы такой популярный и эффективный инструмент, но статей больше чем просто дефолтная установка я почти не видел. Буквально одна на хабре попалась с какой-то более ли менее кастомизацией.

Какие-то проверенные моменты я не стал описывать в статье, так как посчитал их неудобными и не стал использовать сам. Например, если отказаться от logstash и отправлять данные с beats напрямую в elasticsearch, то на первый взгляд все становится проще. Штатные модули beats сами парсят вывод, устанавливают готовые визуализации и дашборды в Kibana. Вам остается только зайти и любоваться красотой :) Но на деле все выходит не так красиво, как хотелось бы. Кастомизация конфигурации усложняется. Изменение полей в логах приводит к более сложным настройкам по вводу этих изменений в систему. Все настройки поступающей информации переносятся на каждый beats, изменяются в конфигах отдельных агентов. Это неудобно.

В то же время, при использовании logstash, вы просто отправляете данные со всех beats на него и уже в одном месте всем управляете, распределяете индексы, меняете поля и т.д. Все настройки перемещаются в одно место. Это более удобный подход. Плюс, при большой нагрузке вы можете вынести logstash на отдельную машину.

Я не рассмотрел в своей статье такие моменты как создание визуализаций и дашбордов в Кибана, так как материал уже и так получился объемный. Я устал писать эту статью :) Смотрите остальные мои материалы по данной теме. Там есть примеры.

Так же я не рассмотрел такой момент. Logstash может принимать данные напрямую через syslog. Вы можете, к примеру, в nginx настроить отправку логов в syslog, минуя файлы и beats. Это может быть более удобно, чем описанная мной схема. Особенно это актуально для сбора логов с различных сетевых устройств, на которые невозможно поставить агента, например mikrotik. Syslog поток так же можно парсить на ходу с помощью grok. Отдельно надо рассмотреть автоочистку старых индексов в elasticsearch.

Подводя итог скажу, что с этой системой хранения логов нужно очень вдумчиво и внимательно разбираться. С наскока ее не осилить. Чтобы было удобно пользоваться, нужно много всего настроить. Я описал только немного кастомизированный сбор данных, их визуализация — отдельный разговор. Сам я постоянно использую и изучаю систему, поэтому буду рад любым советам, замечаниям, интересным ссылкам и всему, что поможет освоить тему.

Все статьи раздела elk stack — https://serveradmin.ru/category/elk-stack/.

Онлайн курс «DevOps практики и инструменты»

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.

Проверьте себя на вступительном тесте и смотрите программу детальнее по .

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: