Сообщения

Сообщения за 2016

Подготовка нового сервера

(Если ставим сами разбиваем) /swap 3*ddr / -20-50 gb (корень) /home -10-50 gb /var -остаток /tmp -4gb (убрать права на запуск) На /var оставлять больше всего места, так как там база, логи и сам mikbill /boot 4gb можно Смотрим систему cat /etc/issue Настройка DNS echo "nameserver 8.8.8.8" >/etc/resolv.conf Настройка интерфейса: BOOTPROTO=none IPADDR=192.168.10.120 NETMASK=255.255.255.0 GATEWAY=192.168.10.1 DNS1=8.8.8.8 DNS2=8.8.4.4 Ставим первые пакеты yum install -y epel-release yum install -y mc ntpdate htop nano wget проверяем часовой пояс и время date Настройка часового пояса tzselect Тут можно подсмотреть пояса  /usr/share/zoneinfo/ Или изменение часового пояса mv /etc/localtime /etc/localtime-old ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime проверяем ntpdate ntpdate pool.ntp.org Проверяем разбивку df -h Создаем учетку, закрываем root доступ по ssh и меняем порт adduser user passwd u...

mikbill расшифровка завершений сессий

Сессии Lost-Сarrier Потеря несущей, чаще всего у абонента потери в? локалке? и нужно проверять?физику линии. Так же может быть вызвано отключением? подключения по локальной сети? у абонента вместо отключения ?интернет соединения? Для Wi-Fi и других роутеров означает что выключили питание на этом устройстве. User-Request Нормальное завершение Сессии. Пользователь закрыл соединение. Online Пользователь находится в интернете. Admin-Reboot Перезагрузка сервера доступа(NAS). Сервер корректно завершил соединение. BILL-Request Выброшен из интернета из админки биллинга. NAS-Request Сервер доступа по запросу завершил сессию ( те кто-то его выкинул ). NAS-Error Вызвана неправильными параметрами сессии, устранять администратору. Port-Error Вызвана неправильными параметрами сессии, устранять администратору. Admin Reset Сессия или порт сброшены администратором. User Error Ошибка в полученных от пользователя данных, вызвавшая прекращение сеанса

IP+MAC привязка Mikrotik

Изображение
Клиентский интерфейс ставим  в режим reply-only В настройках DHCP ставим static-only, включаем  Add arp for leases В результате в arp-таблицу будут попадать только те, кому выдало IP из leases (авторизация проходит, но интернета не будет без совпадения) Также не сработают статические записи на клиенте ( если он до этого ни разу не подключался по dhcp )  или делать записи в dhcp leases+arp

nf_conntrack: table full, dropping packet в dmesg

https://www.stableit.ru/2010/01/nfconntrack-table-full-dropping-packet.html # sysctl -a | grep conntrack_max net.ipv4.netfilter.ip_conntrack_max = 65536 net.netfilter.nf_conntrack_max = 65536 net.nf_conntrack_max = 65536 mcedit  /etc/sysctl.conf net.ipv4.netfilter.ip_conntrack_max=1548576 sysctl -p Смотрим текущее значение (грузит проц) cat /proc/net/nf_conntrack | wc -l Лучше сделать так apt-get install conntrack Centos yum install -y conntrack-tools Смотрим запросы conntrack -L Смотрим топ запросов от IP /usr/sbin/conntrack -L |awk '{if ($5 ~ /src/) print $5; else if ($4 ~ /src/) print $4}' | sed "s/src=/ /g" | sort | uniq -c | sort -n | tail -n10 ************************************************************ #NO TRACK FOR REAL SUBNETS #Sub provider #eth10.500 10.10.10.10/27 $IPT -t raw -A PREROUTING -i eth10.500 -d 20.20.20.20 -j ACCEPT $IPT -t raw -A PREROUTING -i eth10.500 -d 20.20.20.30 -j ACCEPT $IPT -t raw ...

DDOS

Смотрим количество запросов с IP netstat -ntu | awk '{print $5}'| cut -d: -f1 | sort | uniq -c | sort -nr | more Смотрим запросы на апач ps aux | grep httpd | wc -l Смотрим количество запросов по логам cat /var/log/nginx/admin_access.log.1 | awk '{print $1}' | sort | uniq -c >/home/admin_access.log.1 syn flood http://skeletor.org.ua/?p=4054 https://rusua.org.ua/2013/01/07/411/

Отключаем графики mrtg

mcedit /var/www/mikbill/admin/sys/scripts/mikbill_5min.sh #!/bin/bash cd /var/www/mikbill/admin #for BSD #cd /usr/local/www/mikbill/admin php ./index.php rad_online php ./index.php pool_online #php -q ./index.php user_mrtg_gen #/usr/bin/indexmaker /etc/mrtg/mrtg_mikbill_users.conf > /var/www/mikbill/admin/sys/mrtg_users/index.html >/dev/null 2>&1 env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg_mikbill_tarif.conf >/dev/null 2>&1 #env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg_mikbill_users.conf >/dev/null 2>&1 php ./index.php do_turbo_block #php ./index.php traf_count

Mikrotik PCQ

Изображение
https://wiki.mikbill.ru/billing/howto/mikrotik_simple_pcq адреса сетей если что прописываются в Mikrotik.php private $network_list = "10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"; Узнаем версию Router OS sys reso pr Устанавливаем ssh ключ по консоли user ssh-keys import user=bill public-key-file=id_dsa.pub

raid 1

Информация о рейдах в системе mdadm --detail --scan --verbose nano /etc/apt/sources.list  deb http://ftp.ru.debian.org/debian wheezy-backports main apt-get -t wheezy-backports upgrade apt-cache search linux-image apt-get install linux-image-3.16.0-0.bpo.4-amd64 linux-headers-3.16.0-0.bpo.4-amd64 update-grub grub-install --version grub-install (GRUB) 1.99-27+deb7u3 информация о рейде  more /proc/mdstat переконфигурация dpkg-reconfigure grub-pc смотрим запуск из консоли apt-get install grub-emu grub-emu apt-get remove linux-image-3.16.0-0.bpo.4-amd64 linux-headers-3.16.0-0.bpo.4-amd64 lsblk blkid watch cat /proc/mdstat О том, что массивы в порядке, указывает наличии двух букв U в квадратных кавычках каждого массива - [UU]. Если массив поврежден, буква U меняется на _. Для данного примера:  [_U] - поврежден /dev/sda [U_] - поврежден /dev/sdb инфа по рейду mdadm --detail /dev/md...

Linux

Перезагрузка сервера при зависании (reboot on kernel.panic) nano /etc/sysctl.conf kernel.panic = 60

Netconsole отправляем логи kernel panic на другой сервер

На сервере который отлаживаем выполняем: nano /etc/modules Добавляем netconsole   nano  /etc/modprobe.d/netconsole.conf options netconsole netconsole=SRCPORT@SRCHOST/eth0,DSTPORT@DSTHOST/DSTMAC SRCPORT - порт этого сервера SRCHOST - IP этого сервера DSTPORT - порт сервера принимающего сообщения DSTHOST - IP  сервера принимающего сообщения DSTMAC - MAC  сервера принимающего сообщения если он в одной сети, если нет, то прописываем MAC шлюза для определения MAC шлюза делаем  ping IP arp -a|grep IP Проверяем и запускаем без перезапуска сервера modprobe netconsole На сервере который будет принимать сообщения: Ставим Syslog   install syslog-ng nano  /etc/syslog-ng/syslog-ng.conf ( /etc/default/syslog-ng ) source net { udp(ip("0.0.0.0") port(6666)); }; destination netconsole { file("/var/log/$HOST-netconsole.log"); }; log { source(net); destination(netconsole); }; /etc/init.d/syslog-ng restart Для проверки ра...

Kdump -crashlog

Установка на Debian 7 apt-get install kdump-tools Настройка   Включить дамп USE_KDUMP=1 update-grub Ошибка [FAIL] no crashkernel= parameter in the kernel cmdline ... failed! nano /etc/default/grub В строку  GRUB_CMDLINE_LINUX_DEFAULT  дописываем  crashkernel=128M@32M  . Столько будет выделяться памяти для дампа. Теперь: sudo update-grub reboot cat /proc/cmdline DIAGNOSTICS USE_KDUMP is not set or zero The variable USE_KDUMP in the file /etc/default/kdump-tools is 0. To use kdump, edit the file and change the value to 1. kdump is not supported by this kernel The file /sys/kernel/kexec_crash_loaded does not exist. This means that the currently running kernel either was not configured to support kdump, or that a crashkernel= commandline parameter was not used when the currently running kernel...

Debian

apt-get install ssh Настройка сети /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.3.90 gateway 192.168.3.1 netmask 255.255.255.0 network 192.168.3.0 broadcast 192.168.3.255

Syslog

Ошибка imuxsock begins to drop messages from pid due to rate-limiting mcedit /etc/rsyslog.conf  $SystemLogRateLimitInterval 0  $SystemLogRateLimitBurst 0  service rsyslog restart

Vlans

Freebsd ifconfig vlan164 create ifconfig vlan164 vlan 164 vlandev igb1 

Mikbill установка в один docker-контейнер

Такая установка хороша для проведения тестов или просто посмотреть функционал. Плюсы: 1. Можно ставить одинаково на все ОС, где ставится docker. 2. Не нужна обязательно чистая система, не затронет рабочий функционал. 3. Установленный контейнер легко удалить и поставить заново. Поставить docker можно например так curl -sSL https://get.docker.com/ | sh Или по официальному мануалу https://docs.docker.com/engine/installation/ Запускаем контейнер docker run -p 80:80 -p 443:443 -ti centos:6.8 Если выскакивает сообщение типа "Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use." Вариант 1: меняем порт docker run -p 8080:80 -p 443:443 -ti centos:6.8  Вариант 2: узнаем что использует этот порт и отключаем netstat -tulpn | grep :80 Далее ставим по мануалу уже внутри контейнера (должно было войти автоматически) https://wiki.mikbill.ru/billing/howto/repo_cenos6 yum install -y epel-release yum update -y yum install -y http...

Ansible

Обновление всех серверов в группе: ansible nodes -m yum -a "name=* state=latest" -b -e @passwords Создание роли: ansible-galaxy init notify Проверяем подключенную версию python ansible --version | grep "python version" Меняем версию меняем линк в /usr/bin/python на /usr/bin/python3 Установщик для Debian/Ubuntu Тут лучше wget  https://github.com/mikbill/accel_ansible/blob/master/ansible_install_deb.sh wget https://github.com/mikbill/design/raw/master/accel_ansible/ansible_install_deb.sh chmod +x ansible_install_deb.sh ./ansible_install_deb.sh CentOS release 6.8 и Centos 7 Установка yum -y update && yum -y install epel-release && yum -y install ansible Настраиваем конфиг mcedit /etc/ansible/hosts [test-servers] 10.10.10.10 ansible_ssh_user= LOGIN ansible_ssh_pass= PASSWORD ansible_ssh_port=65098 Файл  Host inventory  содержит информацию об обслуживаемых серверах, где команды будут исполнены. На...

Zabbix - установка

Изображение
Zabbix - установка Тут ищем шаблоны https://share.zabbix.com/network_devices/ логин и пароль от базы лежит тут:  /etc/zabbix/web/zabbix.conf.php Обновление http://serveradmin.ru/obnovlenie-zabbix-2-4-do-3-0/ бекап базы /usr/bin/mysqldump --opt -v --databases zabbix -uroot -pPASSWORD | /usr/bin/gzip -c > /home/zabbix.sql.gz yum remove zabbix-release-2.4-1.el6.noarch rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm (не поставилось таким образом, поставилась 3.0) rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm Ошибка: PHP Parse error:  syntax error, unexpected '[' in /usr/share/zabbix/index.php on line 29 нужен пхп 5.4 или выше Установка на центос 6.7 с репозитория remi rpm -qa | grep php nano /etc/yum.repos.d/remi.repo [remi] name=Remi's RPM repository for Enterprise Linux 6 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/6/remi/$basearch/...

mpd5 нас настройка

uname -a FreeBSD ns2 10.3-RELEASE FreeBSD 10.3-RELEASE Ставим пакеты: pkg install mpd5 pkg install dhcprelya проверяем pf и отключаем правила ipfw (ipfw list) Пример конфига: /etc/rc.conf hostname="ns2" ifconfig_bce0="inet 17.219.33.25 netmask 255.255.255.252" defaultrouter="17.219.33.23" sshd_enable="YES" mpd_enable="YES" named_enable="YES" #apache24_enable="YES" # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable dumpdev="AUTO" #vsftpd_enable="YES" gateway_enable="YES" ###################################################################### # Interfaces ###################################################################### ifconfig_bce1="-lro -rxcsum -txcsum up" ifconfig_em="-lro -rxcsum -txcsum up" #ifconfig_em0="inet 10.140.0.0 netmask 255.255.255.0" cloned_interfaces=" vlan150 vlan1...