Общие заметки, связанные с работой mikbill

если в дальнейшем нужно будет собирать статистику по нагрузке на порт на свитче вот как собирать конфиг mrtg cfgmaker ReadGroup@172.20.30.10 >> test1.cfg



Тут находится важный мусор, который нужно раскидать 

ошибка при запуске
PHP Fatal error:  Incompatible file format:  The encoded file has format major ID 4, whereas the Loader expects 5 in /var/www/mikbill/admin/app/lib/mikbill.php on line 0

- Ядро mikbill не той версии php

Поправить в апдейторе строку на нужную
UPDATE_URL="http://update254.mikbill.ru/"







ethX: xxxxx_clean_tx_irq: Detected Tx Unit Hang
в сторону клиентов интерфейс настроили а в строну интернета забыли
лечим
/sbin/ethtool -K ethX tso off
а вот параметры которые обычно на NAS ставим на сетевые
/sbin/ethtool --offload eth1 rx off tx off
/sbin/ethtool -K eth1 rxvlan off txvlan off
/sbin/ethtool -G eth1 tx 2048 rx 2048
/sbin/ethtool -K eth1 tso off gso off gro off lro off

/sbin/ifconfig eth1 txqueuelen 1000

interface=re:eth4\.[0-9][0-9][0-9][0-9],mode=L2,shared=1,start=dhcpv4,ifcfg=1,username=lua:username
interface=re:eth5\.[0-9][0-9][0-9][0-9],mode=L2,shared=1,start=dhcpv4,ifcfg=1,username=lua:username
interface=re:eth6\.[0-9][0-9][0-9][0-9],mode=L2,shared=1,start=dhcpv4,ifcfg=1,username=lua:username
interface=re:eth7\.[0-9][0-9][0-9][0-9],mode=L2,shared=1,start=dhcpv4,ifcfg=1,username=lua:username
 тогда заработало

без явного указания оно один DHCP opt 82 клиента держало одним и меняло мак в сессии туда обратно...


смотрим какая версия php стоит и на какую можно обновить
yum list 'php'

Смотрим все домены сайта
https://www.charlesproxy.com/


просмотр пакетов установленных из репозитория
find-repos-of-install | grep epel

Смотрим по процессам в дереве
ps axf

проверяем извне открытые порты
nmap -P0 123.123.123.123
вот так все порты
nmap -P0 -p 1-65505 IP
потом проверяем на сервере кто порт слушает
netstat -anp | grep LISTEN | grep PORT


MES 3500-24 opt 82 на zyxel
dhcp option profile opt82 circuit-id slot-port vlan remote-id mac 
dhcp snooping 
dhcp snooping vlan 100,326  
dhcp snooping vlan 326 option profile default2 

dhcp snooping vlan 100 option profile opt82


Узнать кто слушает порт
netstat -npl|grep 25

отключаем time logout на BDCOM
#config
#line vty 0 31
#exec-timeout 0

#quit


переносим права на файлы с другого сервера
find /etc/ -print0 | xargs -0 -i{} sh -c 'stat -c \chown\ %u:%g\ %n\ \;\ chmod\ %a\ %n "{}"' > /tmp/ch-
etc.sh


SRC-NAT на диапазон адресов 
-A POSTROUTING -s 10.0.0.0/8 ! -o eth0 -j SNAT --to 195.42.136.128-195.42.136.254 --persistent

скорость интернета из консоли
wget -O - https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py | python

Чистим кеш днс
ipconfig /flushdns
Кеширование радиус запросов
поменяйте в radiusd.conf
cleanup_delay = 10

max_requests = Кол-во абонентов * 1000


находим макс mtu

ping ya.ru -f -l 1452

Mikrotik: Backup remote mikrotik config




backup.sh
#!/bin/bash
routers=( 192.168.1.1 192.168.2.1 192.168.3.1 )
backupdir="/home/backup/mikrotik"
privatekey="/root/.ssh/id_dsa"
login="user"
passwd="pa$Sw0rd"
fulldir="${backupdir}/`date +%Y`/`date +%m`/`date +%d`"
for r in ${routers[@]}; do
cmd_backup="/system backup save name=${r}.backup"
ssh ${login}@$r -i $privatekey "${cmd_backup}" > /dev/null
cmd_backup="/export file=${r}"
ssh ${login}@$r -i $privatekey "${cmd_backup}" > /dev/null
sleep 5
mkdir -p $fulldir
wget -qP $fulldir ftp://${login}:${passwd}@${r}/${r}.backup
wget -qP $fulldir ftp://${login}:${passwd}@${r}/${r}.rsc
ssh ${login}@$r -i $privatekey "/file remove \"${r}.backup\""
ssh ${login}@$r -i $privatekey "/file remove \"${r}.rsc\"" done



#Усложняем жизнь
 скрипт-кидди и блочим популярные сканеры по UA
if ( $http_user_agent ~* (nmap|nikto|wikto|sf|sqlmap|bsqlbf|w3af|acunetix|havij|appscan|^uTorrent|Windows-Update-Agent|"Microsoft|"ESS|"Google|"Microsoft-CryptoAPI"|"Microsoft|MSDW|^SeaPort|^Windows-Media-Player|"Google|^GoogleEarth|^Skype|"MailRuSputnik"|^Ya\.Online|^MRA|^MediaGet|^BTWebClient|^Syncer|"TMUFE"|^Akamai\|^VKSaver|DrWebUpdate) ) {
     return 403;

}




Система - отчет ARPU годовой 
        ARPU-I - Расчет по оплатам за Интернет
        ARPU-D - Расчет по доходам со всех доп сервисов
        ARPU-F  - суммарный показатель ARPU
http://dl2.joxi.net/drive/2016/05/03/0015/2899/1047379/79/0ecef80051.png

UPDATE `users` SET `local_mac`='' WHERE `gid` in (82,87,73,68)
у заданных тарифов маки будут стерты

Меняем chrown сокета fpm
добавляем в www.conf
listen.owner = www-data 
listen.group = www-data 
listen.mode = 0660
listen = /var/run/php-worker-socket

Авторизация между серверами
ssh-keygen -t dsa
Файл находится на сервере с MikBill по этому пути
/root/.ssh/id_dsa.pub



При внедрении accel-ppp PPPoE или QnQ
Что-бы нагрузка прерывание сетевого адаптера
распределялась на все ядра, а не на одно
Включаем:
RPS
echo ffff > /sys/class/net/eth5/queues/rx-0/rps_cpus
RFS
echo 32768 > /proc/sys/net/core/rps_sock_flow_entries
echo 2048 > /sys/class/net/eth5/queues/rx-0/rps_flow_cn
echo ffff > /sys/class/net/eth5/queues/rx-0/rps_cpu

Openssl
# openssl version
Если вы установили в другую директорию, добавьте например свой путь
/usr/local/ssl/lib в /etc/ld.so.conf
whereis sslwget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.2.9.tar.gz
wget https://www.openssl.org/source/openssl-1.0.1r.tar.gz

pgrep -P 1 -f radius

При внедрении accel-ppp PPPoE или QnQ
Что-бы нагрузка прерывание сетевого адаптера
распределялась на все ядра, а не на одно
Включаем:
RPS
echo ffff > /sys/class/net/eth5/queues/rx-0/rps_cpus
RFS
echo 32768 > /proc/sys/net/core/rps_sock_flow_entries
echo 2048 > /sys/class/net/eth5/queues/rx-0/rps_flow_cn
echo ffff > /sys/class/net/eth5/queues/rx-0/rps_cpu

отправляем на мыло
http://pear.php.net/package/Mail_Mime
php pyrus.phar install pear/Mail_Mime
pear install Mail_Mime-1.10.0

Cacti+netflow

Редактор по умолчанию VI
"i"   режим ввода
 ESC    для ВОЗВРАТА В КОМАНДНЫЙ РЕЖИМ
выйти из файла с сохранением, одной командой:
     ESC  :  wq  Enter
ЧТОБЫ ВЫЙТИ ИЗ ФАЙЛА БЕЗ СОХРАНЕНИЯ, нажмите:
     ESC  :  q  ! Enter


Команды

which accel-pppd расположение родительского каталога

apt-get install language-pack-ru-base -установить русскую локаль

locale -a -проверить локали


find / -name “имя файла” -поиск файла
locate - поиск файлов, updatedb обновление базы locate

ВРЕМЯ ntpdate europe.pool.ntp.org

cd /var/www/mikbill/admin/php ./index.php sectorsync синхронизация

бывают случаи когда фаерволлы отбрасывают ICMP пакеты и узнать трассу не представляется возможным. Делаем так - tcptraceroute -f 4 www.microsoft.com

трассировка с проверкой всех узлов - mtr ip

Add user freebsd
pw useradd mikbill -G wheel -s /bin/tcsh -m -d /home/mikbill/usr/local/etc/suduers

demo ALL=(ALL) NOPASSWD: ALL 


links myip.ru проверить ип через ссш

рестарт сети freebsd /etc/rc.d/netif restart

сканирование портов Nmap ip

трафик iftop


авторизация между серверами ssh-keygen -t dsa

UBUNTU
env LD_PRELOAD="/usr/lib/libperl.so.5.10" /usr/sbin/freeradius 
env LD_PRELOAD="/usr/lib/libperl.so.5.10" /usr/sbin/freeradius -X 
/etc/init.d/dhcp3-server stop

vconfig  rem удалить_интерфейс (убунту дебиан) 



отключить автозагрузку
update-rc.d -f name remove
chkconfig name off

Приветствие SSH

http://patorjk.com/software/taag/#p=display&f=ANSI%20Shadow&t=MIKBILL
yum install nano
nano /etc/motd

Поиск файлов по размеру

sudo du -hs /var
sudo du -h /var > ~/du.txt
find /usr/local -size +10000k

CENTOS решение host already uses address

vi /etc/sysconfig/network-<wbr>scripts/ifup-eth</wbr>
Закомментируйте следующие несколько строк ifup eth0

if ! /sbin/arping -q -c 2 -w 3 -D -I ${REALDEVICE} ${IPADDR} ; then
echo {1}quot;Error, some other host already uses address ${IPADDR}."
exit 1
fi

Запрет пинга

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all



Разрешение

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all


GRE ТУНЕЛЬ МИКРОТИК - CENTOS
Для этого на сервере головного офиса создадим файл "/etc/sysconfig/network-scripts/ifcfg-tun0" следующего содержания:
DEVICE=tun0
BOOTPROTO=none
ONBOOT=yes
TYPE=GRE


# Адрес сервера
MY_OUTER_IPADDR=95.65.113.195
# Адрес сервера внутри GRE-туннеля
MY_INNER_IPADDR=10.0.100.1


# Адрес пира (удалённой точки)
PEER_OUTER_IPADDR=89.28.56.216
# Адрес пира (удалённой точки) внутри туннеля
PEER_INNER_IPADDR=10.0.100.2

на микротике создаем interfacec-gre tunnel
local address=89.28.56.216
remote address 95.65.113.195
вешаем на тунель в адресах 10.0.100.2

GRE ТУНЕЛЬ UBUNTU
ip tunnel add tun0 mode ipip  local 176.96.192.183 remote 195.88.158.126 dev eth0
ifconfig tun0 192.168.10.1 netmask 255.255.255.252 pointopoint 192.168.10.2
ifconfig tun0 mtu 1280 up

ifconfig tun0 up

решение проблемы ioctl: No such device
modprobe ip_gre

UBUNTU PPPOE
pon test-vpn подключение
poff test-vpn отключение
pon test-vpn debug dump logfd 2 nodetach дебаг


IBOX
тестовый 213.160.149.230/24 
боевой 213.160.149.229/24

CENTOS VLANS
/etc/sysconfig/network-scripts/ifcfg-
VLAN=yes
VLAN_NAME_TYPE=vlan26
DEVICE=vlan26
PHYSDEV=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.14.52
NETMASK=255.255.255.248


/etc/network/interfaces

auto vlan1400
iface vlan1400 inet static
       address 192.168.1.1
       netmask 255.255.255.0
       vlan_raw_device eth0

/proc/net/vlan

CENTOS ALIAS IP 
создать в директории /etc/sysconfig/network-scripts/ifcfg-eth0_0 (переименовать потом в ifcfg-eth0:0)
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0


Пересбор  MPD5 FREEBSD
бекап usr/local/etc/mpd5 mpd.conf radius.conf

/usr/ports/net/mpd5
make clean
make deinstall
make install


ngshow (количество подключенных)


Оптимизация запросов радиуса
/etc/raddb/radiusd.conf
thread pool {
<------>start_servers = 1
<------>max_servers = 5
<------>min_spare_servers = 1
<------>max_spare_servers = 5
<------>max_requests_per_server = 512
}
5-число процессоров*2 +1
Определение количества ядер cat /proc/cpuinfo | grep ^processor |wc -l

Создание сертификата
cd /usr/local/etc/apache22

openssl req -new -newkey rsa:1024 -nodes -keyout server.key -x509 -days 500 \
-subj /C=UA/ST=Dn/L=Don/O=ISPNET/OU=Billing/CN=*.ispnet.demo/emailAddress=
email@ispnet.demo  \
-out server.key

заход в лк без логина и пароля в конфиге /var/www/mikbill/stat/app/etc/config.xml проставьте такие значения: <doauthbyip>1</doauthbyip> <doauthbyframedip>1</doauthbyframedip> <doauthbyonlineip>1</doauthbyonlineip>



tcpdump host 217.199.237.141 dst port 443
tcpdump -i re0 -n -nn -ttt 'ip proto \icmp'
флуд днс
tcpdump -i eth4 dst port 53



Media change: please insert the disc labeled

sudo sed -i '/cdrom/d' /etc/apt/sources.list
удалите из /etc/apt/sources.list записи, относящиеся к cd-rom



Unable to lock the administration directory (/var/lib/dpkg/), is another process using it

sudo rm /var/lib/dpkg/lock
sudo fuser --interactive --kill --verbose /var/cache/apt/archives/lock
sudo rm --force /var/cache/apt/archives/lock

ext2 ← ext3 (отключение журналирования) В свойствах ФС раздела убрать флаг "has_journal", который отвечает за журналируемость:

tune2fs -o journal_data_writeback /dev/vg_name/vol и это в монтрирование и тюнинг echo "noop" > /sys/block/<device>/queue/scheduler

echo "noop" > /sys/block/<device>/queue/scheduler





























Комментарии

Популярные сообщения из этого блога

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

Accel-ppp команды

Zabbix agent установка и настройка