Публикации

Какой конфиг терминального сервака?

Клюнул тут одного персонажа кто-то и… как всегда… СРОЧНО.
Задача в целом — перевести офис на терминалы. Варианта 2 (чуть ниже).
Офис самый обычный, 50+ человек, винда, аутлук, офис, 1С, сетевая печать.
Есть перцы, работающие с банк-клиентами, есть с ЭЦП всякими, несколько хитрых софтин для рассчёта чего-то там специализированного. Как везде, короче.
Менять компы на терминалки не собираемся, только если закупать дополнительные.

Собственно помогите, пожалуйста, с конфигом.

На 50+ юзеров с учётом обычного софта и парочкой тяжести я вижу как-то так:
Проц Е5-2670 (там 12 ядер) * 4 шт (всего 48 ядер) — не крутовато ли?
RAM по формуле 3Гб на юзера получается 150-180 Гб — нужно же и на систему и на запас
Харды SSD по 1Тб * 4шт — нужно же шустро
Ещё харды обычные SATA, 4 шт. нешустрые данные хранить

Если идти по запасному варианту — то есть пересаживать только серую массу, которые не используют тяжести, клиентбанки и некоторых начальников (они-то своё домашнее видео, наверное, не захотят через общий сервак гонять?), то получается грубо:

Юзеров около 25:
Проц Е5-2670 (там 12 ядер) * 2 шт — не круто? по идее проц дорогой, но материнка нужна уже
Читать дальше

Как пробросить трафик с одного сервера на другой?

Доброго дня.
Столкнулся со следующей проблемой — необходимо пробросить трафик с 80 порта одного сервера (дале 1.1.1.1) на другой (далее 2.2.2.2). Оба сервера хостятся на амазоне, ОС — восьмой дебиан на первом и бубунта 14.04 на втором.

Делал так, через iptables:

# sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf # включил ip forwarding # sysctl -p // проверил, включилось # iptables -F // удалил текущие правила # iptables -t nat -F // и специально для nat // Далее сами правила # iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 2.2.2.2:80 # iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 80 -j SNAT --to-source 1.1.1.1 # sudo iptables -t nat -L -n // проверка // вывод: Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to: 2.2.2.2:80 Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination SNAT tcp — 0.0.0.0/0 2.2.2.2 tcp dpt:80 to: 1.1.1.1 // и напоследок сохранил и проверил: # iptables-save | sudo tee /etc/iptables.up.rules

Tcpdump на первой машине показывает, что пакет отправляется на второй хост, но на втором хосте он либо не обрабатывается, либо его режет амазоновский нат. Гугление и общение с админами не помогло, все запутались ещё больше. Максимум чего удалось добиться это отправка пакетов на второй хост при обращении на первый, но там они не обрабатываются, в tcpdump нет вывода никакого.
Если кто то захочет предложить Port mirroring или mangle в iptables — в принципе рассматривается.

Заранее спасибо.

Как заставить работать GeoIP?

Geoip стоит. Базы залиты /usr/share/GeoIP

phpinfo показывает
/etc/php.d/geoip.ini
geoip extension version 1.0.8
geoip library version 1004005
geoip.custom_directory no value no value

В php.ini прописана строка extension=geoip.so

Nginx собран вместе с geo модулем, nginx -V это подтверждает.
В nginx.conf прописано
# GeoIP geoip_country /usr/share/GeoIP/GeoIP.dat; # the country IP database geoip_city /usr/share/GeoIP/GeoLiteCity.dat; # the city IP database ### SET FASTCGI Variables ### fastcgi_param GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code; fastcgi_param GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3; fastcgi_param GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name; fastcgi_param GEOIP_REGION $geoip_region; fastcgi_param GEOIP_CITY $geoip_city; fastcgi_param GEOIP_POSTAL_CODE $geoip_postal_code; fastcgi_param GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code; fastcgi_param GEOIP_LATITUDE $geoip_latitude; fastcgi_param GEOIP_LONGITUDE $geoip_longitude;

В fastcgi_params тоже
# For GeoIP fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code; fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name; fastcgi_param GEOIP_REGION $geoip_region; fastcgi_param GEOIP_CITY $geoip_city; fastcgi_param GEOIP_POSTAL_CODE $geoip_postal_code; fastcgi_param GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code; fastcgi_param GEOIP_LATITUDE $geoip_latitude; fastcgi_param GEOIP_LONGITUDE $geoip_longitude;

php -m | grep geoip PHP Warning: Module 'geoip' already loaded in Unknown on line 0 geoip

А в тестовом файле не определяет даже страну.

Что за ошибка старта httpd?

Не могу перезапустить httpd, сервер лежит.
Centos, панель vestacp.

Сегодня производил yum update пакетов, не помню сразу ли httpd отвалился или эти события никак не связаны.
Nginx тоже не стартует. Доступ к самой панеле есть.

До этого, также сегодня оказались пустыми все базы mysql на сервере…
Хотя в /var/lib/mysql базы лежат с инфой!
Пока так и не понял взлом был какой-то или сбой сервера…
Базы все существуют, но они пустые, 1кб (не в /var/lib/mysql).
Все базы были под разными юзерами. Сервис mysql в строю.

Бегло конфиги такие же как на других серверах под Vestacp, там все работает.

Ошибка при рестарте httpd:
service httpd restart httpd: apr_sockaddr_info_get() failed for name32 httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName Stopping httpd: [FAILED] [Fri Dec 11 01:17:31 2015] [warn] NameVirtualHost 91.23.210.178:8443 has no VirtualHosts [Fri Dec 11 01:17:31 2015] [warn] NameVirtualHost 168.35.8.210:8443 has no VirtualHosts [Fri Dec 11 01:17:31 2015] [warn] NameVirtualHost 168.35.8.211:8443 has no VirtualHosts [Fri Dec 11 01:17:31 2015] [warn] NameVirtualHost 168.35.8.208:8443 has no VirtualHosts [Fri Dec 11 01:17:31 2015]
Читать дальше

Что произошло, вычищены все mysql базы под вордпрессом на сервере?

Сервер был под сентосом.
Fail2ban вроде настроен.
Php.ini disable_functions = show_source,system,shell_exec,passthru,exec,phpinfo,popen,proc_open,eval

Панелька vestcp.
На один домен — один юзер.

Сегодня все базы пустые… большинство сайтов, юзеров.
WTF?!

По логам mysqld.log
много вот такого по всем или почти всем доменам
151210 9:45:51 [ERROR] /usr/libexec/mysqld: Can't open file: './user_1/wp_options.frm' (errno: 24) 151210 9:45:57 [ERROR] /usr/libexec/mysqld: Can't open file: './user_2/70q83c_options.frm' (errno: 24)

151210 17:47:56 [Note] Event Scheduler: Purging the queue. 0 events 151210 17:47:56 InnoDB: Starting shutdown… 151210 17:47:57 InnoDB: Shutdown completed; log sequence number 710936729 151210 17:47:57 [Note] /usr/libexec/mysqld: Shutdown complete

Как получить p-to-p IP адрес в bash скрипте?

Есть задачка

root@router:/# ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:46.98.155.191 P-t-P:212.115.225.241 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:12856544 errors:0 dropped:0 overruns:0 frame:0
TX packets:9236144 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:14388430097 (13.4 GiB) TX bytes:4112806872 (3.8 GiB)

root@router:/# ifconfig ppp0 | awk -F ' *|:' '/inet addr/{print $4}'
46.98.155.191

как получить p-t-p адрес?

пробовал
root@router:/# ifconfig ppp0 | awk -F ' *| :' '/inet addr/{print $4}'
P-t-P:212.115.225.241

но выхлоп содержит лишние p-t-p
как их убрать?

Пишем Ping в файл. Какой Errorlevel выбрать?

Написал вот такой скрипт в .bat файле:
@Echo Off :begin echo Date %date:~0,2%-%date:~3,2%-%date:~6,4% Time%time%>> %DATE%.txt ping -n 5 192.168.1.100>> %DATE%.txt if errorlevel 1 echo ALARM Date %date:~0,2%-%date:~3,2%-%date:~6,4% Time%time% >>"%date%ALARM_192.168.1.100.txt" ping -n 30 127.0.0.1 >nul echo ********************************************************>> %DATE%.txt goto begin

Все работает, но в процессе обнаружил следующее:
errorlevel 1 это «превышен интервал ожидания для запроса»
errorlevel 0 это «заданный узел недоступен» и «обмен пакетами...(нормальный пинг)»

Вопрос: мне нужно писать в файл тревоги и когда превышен интервал и когда заданный узел недоступен. Как это сделать, если у «узел недоступен» errorlevel как у нормального пинга?

И еще: чем принципиально отличается «заданный узел недоступен» от «превышен интервал ожидания для запроса»

Asterisk отваливается, как?

Всем привет!
В Астериске пока начинающий.

Столкнулся с проблемой такой, падает сервер (зависает, таймаут запроса)

Собсвтенно вот лог
for an extension is strongly discouraged and can have unexpected behavior. Please use '_X.' instead at line 4831 of /etc/asterisk/extensions_additional.conf [2015-12-07 09:37:27] WARNING[1234] pbx_config.c: The use of '_.' for an extension is strongly discouraged and can have unexpected behavior. Please use '_X.' instead at line 4832 of /etc/asterisk/extensions_additional.conf [2015-12-07 09:37:27] WARNING[1234] pbx_config.c: The use of '_.' for an extension is strongly discouraged and can have unexpected behavior. Please use '_X.' instead at line 4865 of /etc/asterisk/extensions_additional.conf [2015-12-07 09:37:27] WARNING[1234] pbx_config.c: The use of '_.' for an extension is strongly discouraged and can have unexpected behavior. Please use '_X.' instead at line 4866 of /etc/asterisk/extensions_additional.conf [2015-12-07 09:37:27] WARNING[1234] pbx.c: Unable to register extension 's' priority 1 in 'opros', already in use [2015-12-07 09:37:27] WARNING[1234] pbx_config.c: The use of '_.' for an extension is strongly discouraged and can have unexpected behavior. Please use '_X.' instead at line 127 of extensions.conf [2015-12-07 09:37:27] WARNING[1234] pbx_config.c: The use of '_.' for an extension is strongly discouraged and can have unexpected behavior. Please use '_X.' instead at line 139 of
Читать дальше

Как обезопасить себя от попадалова при использовании хостинга с оплатой за использованные ресурсы?

Подумываю перейти с классического PHP shared хостинга на более современный и универсальный облачный хостинг дабы избавиться от ограничения на выбор языка — хочется иметь возможность экспериментировать с Node.JS, Go, Elexir, Rust, Scala и т.п. (понятно, что поэкспериментировать можно и на локалхосте, но не в этом суть). Но есть два вопроса, живо волнующие меня в данном контексте: как защитить себя от атак и как не попасть на бабки в случае внезапного хабраэффекта? На сколько я понимаю, администраторы shared-хостингов берут эти проблемы на себя: во-первых сами настраивают PHP, web-сервер и ОС безопасным образом и регулярно ставят обновления, во-вторых обычно не требуют дополнительных денег при внезапных пиках посещаемости. В случае с облачными VPS же я опасаюсь, что мне самому придётся вникать в тонкости безопасного администрирования (не то, чтобы я был против, это интересно, просто не всё сразу) и что в случае хабраэффекта или DDoS-атаки мне потом выставят счёт на миллион долларов за перерасход ресурсов. Поделитесь, пожалуйста, своим опытом и соображениями по этим вопросам. Заранее спасибо.

Как настроить сеть в XEN?

Всем привет!

Есть железка с установленным xen-ом на debian.
Хочу получить:
— все гостевые системы и хост-система в одной локальной подсети (допустим, 10.10.10.0) имели доступ друг к другу;
— интернет на всех машинах;
— проброс портов гостевых систем через хост-систему (допустим, 192.168.1.1 — получила хост-система от роутера, нужно настроить доступ к 10.10.10.13:22 через 192.168.1.1:3333).
Теперь, что имею:
— настроенная гостевая система debian без пакетов, без интернета с присвоенным через команду xen-create-image адресом 10.10.10.13;
— хост-система, которая получила адрес от роутера 192.168.1.1 и также не имеет интернета;
Связи ни с чем нет. Настраивал по статье — vladimir-stupin.blogspot.ru/2014/06/xen.html
На хост-системе через ifconfig есть dhcp eth0 и xenbr0 с адресом 10.10.10.1 (адрес хост-системы в подсети всех виртуалок). На гостевых системах в конфигах перед созданием прописывал vif = [ 'script=vif-bridge, bridge=xenbr0' ].

Помогите, пожалуйста, разобраться. Буду рад любой информации!