Доки, маны, напоминалки

скрипт на bash против http флуда

Posted on Январь 10, 2011

скрипт на bash против http флуда контент-граберами, loic и прочей ересью.

Создаем в /root два файла:

1) ban.sh с правами 755:

#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/etc/apf
LOG="/root/ban.log"
WHITE_IP="/root/white.IP"
LIMIT=$1
cp -f $WHITE_IP /tmp/~ban.white
echo $2 | tr ',' '\n' >> /tmp/~ban.white
netstat -nt | grep tcp | grep -v ffff | grep ":80" | awk {'print $5'} | cut -d: -f 1 | sort | uniq -c | sort -rk 1 > /tmp/~ban.con
for ip in `cat /tmp/~ban.con | awk '{print $2}'` ; do
if [ `grep "$ip" /tmp/~ban.con | awk '{print $1}'` "-gt" "$LIMIT" ]
then
if [ ! `grep $ip /tmp/~ban.white` ]    then
iptables -I INPUT -s $ip -j DROP
/etc/init.d/iptables save
echo "`date +%s` `grep $ip /tmp/~ban.con | awk '{print $1}'`        $ip" >> $LOG
echo "`date +%s` `grep $ip /tmp/~ban.con | awk '{print $1}'`        $ip"
fi
fi
done
rm -f /tmp/~ban.*

2) white.IP куда пишем 127.0.0.1 и адреса, которые не надо проверять. По одному в строку

Проверить, что iptables запущен и имеет цепочку INPUT:

iptables -nL

Если цепочку нету, то создаем:

iptables -N INPUT

Запуск кроном:

*/5 * * * *      sh /root/ban.sh 10

Каждые 5 минут проверка на не больше 10 коннектов

Посмотреть забаненые:

iptables -nL

Посмотреть количество текущих соединений с каждого IP можно командой:

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

Общее количество текущих подключений к серверу:

netstat -nt|grep ESTAB|wc -l

Установка связки trac+SVN на Debian Lenny+ISPManager

Posted on Январь 10, 2011

Дано: Виртуальный выделенный сервер c установленным на нем Debian Lenny, Apache 2.2, Nginx 0.6, а также с предустановленной на нем панелью управления ISP Manager Lite. Задача - установить на все это дело связку SVN+Trac.

virt-clone man по русски

Posted on Январь 10, 2011

virt-clone(1).

Приведен вольный перевод man страницы virt-clone. Virt-clone это консольная утилита входящая в состав пакета Virtinst и предназначена для клонирования виртуальных машин.

virt-install man по русски

Posted on Январь 10, 2011

virt-install(1).

Приведен вольный перевод man страницы virt-install. Virt-install это консольная утилита входящая в состав пакета Virtinst и предназначена для создания виртуальных машин.

virsh man по русски

Posted on Январь 10, 2011

virsh(1).

Приведен вольный перевод man-страницы virsh, дополненый переводом man’а идущего в дистрибутиве libvirt-0.7.6-r1 и данные из help’а самого virsh. Утилита virsh является основным интерфейсом для управления виртуальными окружениями и сетями, пулами хранения данных, сетевыми интерфесами и различными объектами виртуальной инфраструктуры.

man virt-install

Posted on Январь 10, 2011

virt-install(1) - Linux man page

Name

virt-install - provision new virtual machines

Synopsis

virt-install [ OPTION ]...

Description

virt-install is a command line tool for provisioning new virtual machines using the "libvirt" hypervisor management library. The tool supports both text based & graphical installations, using serial console, SDL graphics or a VNC client/server pair. The guest can be configured with one or more virtual disks and network interfaces plumbed through to the host.

man virsh

Posted on Январь 10, 2011

virsh(1) - Linux man page

Name

virsh - management user interface

Synopsis

virsh <subcommand> [args]

Description

The virsh program is the main interface for managing virsh guest domains. The program can be used to create, pause, and shutdown domains. It can also be used to list current domains. Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). It is free software available under the GNU Lesser General Public License. Virtualization of the Linux Operating System means the ability to run multiple instances of Operating Systems concurrently on a single hardware system where the basic resources are driven by a Linux instance. The library aims at providing long term stable C API initially for Xen paravirtualization but should be able to integrate other virtualization mechanisms, it currently also supports QEmu and KVM .

как выйти из vim

Posted on Январь 10, 2011

Попробовать ZQ

Попробовать нажать ESC (переход в командный режим), а затем :q и enter.

Если не дает выйти - :q!


Чтобы не запоминать, как выходить из vim:

bash, sh, ksh: export EDITOR=nano
csh: setenv EDITOR nano