Использование ethtool

ethtool — утилита для настройки сетевых интерфейсов в Linux.

Установить ethtool в Ubuntu/Debian можно командой:

sudo apt-get install ethtool

Посмотрим названия сетевых интерфейсов:

ifconfig -a

Переключимся на root, так как некоторые команды требуют повышенных привилегий:

sudo -i

Пример просмотра настроек eth0:

ethtool eth0

Пример просмотра информации о драйвере сетевого интерфейса:

ethtool -i eth0

Просмотр статистики сетевого интерфейса:

ethtool -S eth0

Просмотр настроек автосогласования:

ethtool -a eth0

Мигание светодиода 3 секунды на указанном сетевом интерфейсе:

ethtool -p eth0 3

Тест сетевого интерфейса:

ethtool -t eth0 online/offline

Просмотр текущего и максимального размера TX и RX буферов:

ethtool -g eth0

Ручная установка скорости 100 Mb Full Duplex на указанном сетевом интерфейсе (указанные параметры сбросятся после перезапуска системы):

ethtool -s eth0 speed 100 duplex full

Просмотр краткой справки по ethtool:

ethtool -h

Смотрите также:
Настройка сети в Linux
Изменение TX и RX буферов сетевых интерфейсов в Linux
Дистанционное включение компьютера (Wake On LAN)

Изменение TX и RX буферов сетевых интерфейсов в Linux

Приведу пример изменения TX и RX буферов сетевых интерфейсов в Linux.
Сначала установим ethtool если он не установлен:

Читать далее «Изменение TX и RX буферов сетевых интерфейсов в Linux»

Мониторинг Linux ISG в Zabbix

Сегодня захотелось сделать мониторинг Linux ISG сессий в Zabbix.

Введя команду на одном из серверов:

/opt/ISG/bin/ISG.pl show_count

Увидел следующее:

Approved sessions count: 2021
Unapproved sessions count: 2

Zabbix агент на сервере уже был установлен, поэтому открыл его конфигурационный файл (в редакторе nano клавиши Ctrl+X для выхода, а y/n для сохранения или отмены изменений):

nano /etc/zabbix/zabbix_agentd.conf

Придумал и добавил следующий код:

UserParameter=isg.approved, /opt/ISG/bin/ISG.pl show_count | grep "Approved sessions count:" | awk '{print $4}'
UserParameter=isg.unapproved, /opt/ISG/bin/ISG.pl show_count | grep "Unapproved sessions count:" | awk '{print $4}'

Разрешим работу Zabbix агента под root пользователем указав:

AllowRoot=1

Перезапустим Zabbix агент чтобы применить изменения:

sudo /etc/init.d/zabbix-agent restart

На Zabbix сервере создадим шаблон ISG, добавим в него элементы данных, указав тип — Zabbix агент, а ключи: isg.approved, isg.unapproved.
Создадим графики для созданных элементов данных.

Применим шаблон к нужным узлам сети.

Готово.

Мониторинг Postfix в Zabbix

Сперва выполним настройку Zabbix агента.

Создадим файл (в редакторе nano клавиши Ctrl+X для выхода, а y/n для сохранения или отмены изменений):

nano /etc/zabbix/zabbix_agentd.d/userparameter_postfix.conf

Добавим в него:

UserParameter=postfix.maildrop, find /var/spool/postfix/maildrop -type f | wc -l
UserParameter=postfix.deferred, find /var/spool/postfix/deferred -type f | wc -l
UserParameter=postfix.incoming, find /var/spool/postfix/incoming -type f | wc -l
UserParameter=postfix.active, find /var/spool/postfix/active -type f | wc -l
UserParameter=postfix.queue, mailq | grep -v "Mail queue is empty" | grep -c '^[0-9A-Z]'

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

Также откроем файл конфигурации Zabbix агента:

nano /etc/zabbix/zabbix_agentd.conf

Разрешим работу Zabbix агента под root пользователем указав:

AllowRoot=1

Перезапустим Zabbix агент чтобы применить изменения:

sudo /etc/init.d/zabbix-agent restart

Теперь перейдем к Zabbix серверу.
Создадим шаблон Postfix, добавим в него элементы данных, указав тип — Zabbix агент, а ключи: postfix.maildrop, postfix.deferred, postfix.incoming, postfix.active, postfix.queue.
Создадим графики для созданных элементов данных.

Также можно создать элемент данных считающий количество процессов Postfix, указав тип — Zabbix агент, а ключ:

proc.num[,postfix]

Также создадим триггер сообщающий когда процессов 0.

Скачать готовый шаблон можно тут — Zabbix шаблон для Postfix

Zabbix шаблон для Postfix

Размер: ~ 2Kb
Инфо: Экспортирован из Zabbix 3.2, также подойдет для других версий.
Инструкция: Мониторинг Postfix в Zabbix
Ссылка на скачивание: Скачать Template App Postfix

IPTables правила для MySQL

Если в iptables блокируются все входящие соединения (INPUT DROP) и чтобы открыть внешний доступ к MySQL необходимо добавить правила:

iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

Чтобы открыть доступ только конкретной сети, например 10.0.0.0/24:

iptables -A INPUT -s 10.0.0.0/24 -p tcp -m tcp --dport 3306 -j ACCEPT

Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:

iptables -D INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

Посмотреть список правил можно командой:

sudo iptables -nvL

Замечу, для того чтобы открыть внешний доступ, также нужно в конфигурационном файле my.cnf закомментировать строку «bind-address = 127.0.0.1».

Если по умолчанию INPUT ACCEPT, то сначала укажем с каких IP разрешен доступ, а только последним правилом заблокируем всем остальным:

/sbin/iptables -A INPUT -s 127.0.0.1 -p tcp --destination-port 3306 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.5 -p tcp --destination-port 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP

Например используя nmap можно проверить локально и внешне фильтруется ли доступ:

nmap -p 3306 localhost
nmap -p 3306 192.168.1.5

Смотри также:
Настройка IPTables
Другие мои статьи о MySQL

Решение ошибки «md: kicking non-fresh sda1 from array»

Был когда-то случай, выпал из рейда один диск и при загрузке сервера в логах отображалось сообщение:

md: kicking non-fresh sda1 from array

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

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

cat /proc/mdstat
mdadm --detail /dev/md0

Вернул его обратно в рейд:

mdadm /dev/md0 -a /dev/sda1

Спустя некоторое время данные синхронизировались на диск и ошибка больше не появлялась.

Смотрите также:
Диагностика HDD используя smartmontools
mdadm — утилита управления программными RAID массивами
Решение проблемы с выпавшими дисками mdadm

Прошивка TP-LINK TL-WR840N V2 от Kyivstar

На тесте буду прошивать TP-LINK TL-WR840N V2 от Kyivstar
С установленной следующей версией прошивки:

Версия встроенного ПО:
3.16.9 Build 160829 Rel.55894n
Версия оборудования:
WR840N v2 00000000

Сначала необходимо попробовать прошить через TFTP.
Как запустить на компьютере TFTP сервер я описывал в этих статьях:
Запуск TFTP сервера на Windows
Установка и настройка TFTP сервера в Ubuntu

Скачиваем архив с прошивками отсюда:
https://files.ixnfo.com/Firmware/TP-Link/wr840nv2_tp_recovery.bin.zip
Файл wr840nv2_tp_recovery.bin помещаем в директорию TFTP сервера.
Назначим компьютеру именно этот IP-адерс — 192.168.0.66 и маску 255.255.255.0, соединим его с маршрутизатором через любой LAN-порт.
Выключим питание маршрутизатора, нажмем кнопку reset на задней стенке маршрутизатора и продолжая держать включим питания, засветится замочек, reset отпускаем.
Этим мы перевели его в режим восстановления, в котором он начнет пытаться загрузить файл wr840nv2_tp_recovery.bin с TFTP-сервера 192.168.0.66.
После успешной загрузки прошивки маршрутизатор сам перезагрузится и запустится с данной прошивкой.
Если обновление прошло успешно, то откроем в браузере веб интерфейс маршрутизатора набрав 192.168.0.1 (логин и пароль admin) и обновим прошивку файлом wr840nv2_ru_3_16_9_up_boot(150929).bin.
Смотрите также — Обновление прошивки маршрутизатора TP-Link TL-WR840N

Если маршрутизатор остался на прошивке от Kyivstar c IP адресом 192.168.1.1 (логин и пароль kyivstar), то остается второй вариант — выпаять микросхему памяти, подключить её к программатору, сохранить копию данных (dump) на всякий случай и записать другой dump:
https://files.ixnfo.com/Firmware/TP-Link/Dumps/wr840nv2_fulldump.zip
(заранее изменив в нем через HEX редактор на оригинальные — MAC (по адресу 1FC00) и PIN (по адресу 1FE00 )).
После этого обратно припаяем микросхему.

В моём случае маршрутизатор (с версией прошивки указанной в начале статьи) обновлялся по TFTP, но прошивка оставалась прежней от Kyivstar, поэтому пришлось воспользоваться программатором.
Однако ходят слухи что по TFTP можно прошить некоторые версии.

Смотрите также мои статьи:
Прошивка TP-LINK TL-WR741ND(KS) V2 от Kyivstar
Прошивка TP-LINK TL-WR741ND(KS) V4 от Kyivstar
Восстановление маршрутизатора TP-Link TL-WR740N