iptables -t nat -A POSTROUTING -m iprange --src-range '10.0.0.3-10.0.0.7' -d 10.0.2.2 -j MASQUERADE
понедельник, 10 февраля 2014 г.
Диапазон IP в iptables. Модуль iprange
При написании правила iptables нужно было указать не подсеть, а именно диапазон IP-адресов, задача решается с помощью модуля iprange:
понедельник, 3 февраля 2014 г.
Доступ к данным на RAID/LVM при загрузке с livecd
Сначала нужно собрать массив, затем активировать тома LVM, самый простой путь такой:
mdadm --assemble --scan # поиск и сборка доступных массивов vgchange -a y <имя_группы> # активация группы томов
понедельник, 13 января 2014 г.
Zabbix icmp pinger processes more than 75%
Прилетело мне тут на почту следующее сообщение:
Zabbix icmp pinger processes more than 75%
Проблема давно известная, но решил что раз уж завёл бложик, то пусть всё будет в одном месте :)
Итак, решение следующее: нужно тупо увеличить количество инстансов пингера, за это отвечает параметр StartPingers в конфиге zabbix-server'a. В моём случае конфиг лежит в /etc/zabbix/zabbix_server.conf
Zabbix icmp pinger processes more than 75%
Проблема давно известная, но решил что раз уж завёл бложик, то пусть всё будет в одном месте :)
Итак, решение следующее: нужно тупо увеличить количество инстансов пингера, за это отвечает параметр StartPingers в конфиге zabbix-server'a. В моём случае конфиг лежит в /etc/zabbix/zabbix_server.conf
воскресенье, 12 января 2014 г.
Batch renaming files. Bash
Потребовалось мне тут кучку файлов переименовать по шаблону. Сначала начал искать специальную утилиту и смотреть в сторону xargs, но в баше же есть возможность обработки переменных! Итак, убрать в конце имени файла ".part" (артефакты от transmission):
Замена части имени:
for i in Movies/*/*.part; do mv "$i" "${i%%\.part}" ; done
Замена части имени:
for i in *blur*.h; do mv $i ${i/blur/sharp}; doneпятница, 27 сентября 2013 г.
Сброс кеша записи в Google Public DNS
Если вы изменили какую-либо ресурсную запись на NS-серверах, но кеширующие рекурсоры Google Public DNS длительное время продолжают отдавать старые записи или вы просто хотите хоть как-то ускорить этот процесс, то можно попробовать сбросить кеш рекурсоров на специальной странице: https://developers.google.com/speed/public-dns/cache
Сброс кеша одной и той же записи возможен один раз в несколько минут.
Напомню IP-адрес гугловых рекурсоров:
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
вторник, 9 июля 2013 г.
send_arp, arping и быстрая миграция ip-адреса (IPv4)
Для того чтобы быстро мигрировать IP-адрес с сервера на сервер нужно сообщить коммутатору о необходимости изменения arp-таблицы. Наиболее простой способ без прямого взаимодействия с коммутатором (т.е. законнектиться по ssh на коммутатор и почистить ручками arp) - воспользоваться утилитами send_arp или arping. В Debian и Ubuntu пакеты называются соответственно fake и arping. С помощью них можно достаточно просто формировать и отравлять arp-запросы. arping является более простой утилитой нежели send_arp, в то время как вторая является более низкоуровневой утилитой для точного формирования arp-пакета. Для работы я предпочёл именно send_arp, т.к. она предоставляет больший контроль и не делает лишних операций.
Сама процедура миграции IP-адреса выглядит следующим образом:
# IP=x.x.x.x
# send_arp $IP `cat /sys/class/net/ethX/address` $IP `cat /sys/class/net/ethX/broadcast`
Суть команды: отправляем широковещательные arp-запросы самому себе (src ip = dest ip)
Для надёжности лучше отправить несколько запросов.
Ежели ваш выбор пал на arping, то выглядеть команда будет так:
# arping -U
P.S. В составе pacemaker также есть утилита send_arp, но она лежит вне $PATH, имеет другой синтаксис и используется в ресурс-агентах, каким-либо образом управляющих IP-адресами (например, ocf::heartbeat:IPaddr2)
P.P.S. Для IPv6 используются т.н. анонсы, но как правильно их отправлять - пока не разобрался (есть утилита ndsend, но она находится в пакете vzctl, который как-то совсем нет желания ставить на сервер), буду рад если напишут в комментариях :)
Сама процедура миграции IP-адреса выглядит следующим образом:
- убираем IP-адрес на первом сервере (ip addr del x.x.x.x/yy dev ethX)
- поднимаем IP-адрес на втором сервере (ip addr add x.x.x.x/yy dev ethX)
- со второго сервера отправляем несколько специально сформированных arp-запросов
# IP=x.x.x.x
# send_arp $IP `cat /sys/class/net/ethX/address` $IP `cat /sys/class/net/ethX/broadcast`
Суть команды: отправляем широковещательные arp-запросы самому себе (src ip = dest ip)
Для надёжности лучше отправить несколько запросов.
Ежели ваш выбор пал на arping, то выглядеть команда будет так:
# arping -U
P.S. В составе pacemaker также есть утилита send_arp, но она лежит вне $PATH, имеет другой синтаксис и используется в ресурс-агентах, каким-либо образом управляющих IP-адресами (например, ocf::heartbeat:IPaddr2)
P.P.S. Для IPv6 используются т.н. анонсы, но как правильно их отправлять - пока не разобрался (есть утилита ndsend, но она находится в пакете vzctl, который как-то совсем нет желания ставить на сервер), буду рад если напишут в комментариях :)
вторник, 4 июня 2013 г.
mdadm. Уменьшаем число устройств в массиве
При установке системы объединил 2 раздела в зеркало и обозначил 3й как spare, поставил и забыл. На следующий день приходит письмо от mdadm'a мол array degraded.... Лезу на сервер, а там в mdstat такая борода:
md1 : active raid1 sda5[0] sdc5[22] sdb5[1]
976129856 blocks super 1.2 [22/3] [UUU___________________]
Ну, думаю, 22 устройства в массиве это очень круто, но надо возвращать mdadm на землю: mdadm /dev/md1 --grow --raid-devices=3
Как пометить 3й диск как spare - на домашнее задание, это сразу гуглится :)
Подписаться на:
Сообщения (Atom)