• Как найти причину падения сервера?

    @hx510b
    "Я знаю, что ничего не знаю"
    можно ограничить количество соединений к MySQL, если дело в памяти при нагрузке.
    а так надо смотреть и логи, и параметры и т.д. непонятно, что происходит.
    Ответ написан
    Комментировать
  • Как развернуть OSRM на сервере?

    @hx510b
    "Я знаю, что ничего не знаю"
    EL6 устарел. Надо El7.
    ssdVPS:4 крайне мало ОЗУ. скорее всего не хватит.
    такие задачи решать на дешевых VDS не надо. либо будет падать, либо нещадно тормозить.
    у меня сейчас OSRM для всей РФ работает на виртуалке с 24 ГБ ОЗУ.
    ставим docker, затем:
    mkdir /data/
    cd /data/
    name=russia-latest
    wget -N http://download.geofabrik.de/$name.osm.pbf
    docker run -t -v osrmdata:/data osrm/osrm-backend osrm-extract -p /opt/car.lua /data/$name.osm.pbf 
    docker run -t -v osrmdata:/data osrm/osrm-backend osrm-partition /data/$name.osrm 
    docker run -t -v osrmdata:/data osrm/osrm-backend osrm-customize /data/$name.osrm
    docker run -d -t -i -p 5007:5000 --restart unless-stopped --name $name -v osrmdata:/data osrm/osrm-backend osrm-routed --algorithm mld /data/$name.osrm
    Ответ написан
    Комментировать
  • Ключи подписи для android приложений должны быть разными?

    @hx510b
    "Я знаю, что ничего не знаю"
    Лучще сделать разные ключи для разных приложений. Если потом захотите передать права на приложение другому лицу, то передадите ключи только от передаваемого приложения, не подвергая риску другие свои приложения. Сменить ключи можно только один раз и это тоже будет проблема.
    Каждому приложению свой ключ.
    Ответ написан
    Комментировать
  • Отваливается OpenVPN клиент на Windows, что можно предпринять?

    @hx510b
    "Я знаю, что ничего не знаю"
    нужно прописать конфиге клиента:
    ping-restart 0
    Ответ написан
    Комментировать
  • Где целесообразно использовать LXC/LXD?

    @hx510b
    "Я знаю, что ничего не знаю"
    LXC удобно использовать для отвязки от ОС хоста, как современный аналог OpenVZ (OpenVZ устарел, т.к. не поддерживается новыми ядрами и дистрибутивами). Мы использовали LXC для виртуализации Linux сервисов. LXC значительно эффективнее расходует ресурсы, чем KVM.
    LXC внутри больше похож на виртуальную машину, чем Docker. В LXC почти все привычные инструменты работают как обычно. Но изолированно от хост системы. Можно ставить пакеты, менять настройки etc, запускать демоны и использовать стандартные инструменты Linux среды и т.д. Для LXC можно подтянуть специфичные для дистрибутивов шаблоны. Например, на хосте с Ubuntu поднять гостя с Centos. При желании гостя можно держать на виртуальном диске.

    Еще про разницу между LXC и docker написано тут: https://vps.ua/blog/docker-and-linux-containers/
    Ответ написан
  • Почему ПК выключается при подключении USB-наушников?

    @hx510b
    "Я знаю, что ничего не знаю"
    Возможно в штекере USB наушников происходит короткое замыкание 5 Вольт на "землю" и срабатывает защита блока питания.
    Ответ написан
    2 комментария
  • Не работает Arduino IDE на UBUNTU?

    @hx510b
    "Я знаю, что ничего не знаю"
    У меня нормально работает под Linux mint (по сути тоже Ubuntu).
    SELinux выключен?
    Надо убедиться, что в меню tools выбраны правильный тип платы и правильный порт.
    Иначе точно работать не будет.
    Можно попробовать добавить текущего пользователя в группы dialout и plugdev,
    sudo usermod -a -G dialout <username>
    (измененное членство в группе применяется при следующей авторизации в системе или новой сессии пользователя - т.е. надо перелогиниться)
    либо руками проставить права доступа к устройству для всех.
    Ответ написан
    Комментировать
  • BASH: как удалить огромное количество директорий, содержащих директории и файлы?

    @hx510b
    "Я знаю, что ничего не знаю"
    find /pathto [ options ] -delete
    удаляет то, что задано и быстрее всех
    причем без ключа -delete можно проверить, что список тот который хотелось.
    Ответ написан
    1 комментарий
  • MySQL. Почему медленно выполняется update?

    @hx510b
    "Я знаю, что ничего не знаю"
    1. Убедиться, что для id есть индекс.
    2. Возможно для поля views очень много индексов и они долго обновляются.
    3. Слишком широкая таблица tbl_banner
    3. Проверить нагрузку на сервере с БД - LA, нагрузка CPU, iowait - чем меньше значение - тем лучше.
    LA<5..10, cpu < 100, iowait < 10...20
    4. Жесткий диск работает "медленно" или неисправен.
    5. Возможно, физический размер базы слишком велик и не помещается в буфер памяти. Это можно увидеть с помощью mysqltuner.pl
    6. Возможно, что конфиг mysql не применяется - надо в этом убедиться.
    Это типичные причины. Дальше надо смотреть конкретно.
    Ответ написан
    Комментировать
  • Почему CLOSE_WAIT зависают и вешают веб-сервер?

    @hx510b
    "Я знаю, что ничего не знаю"
    Можно донастроить TCP стек, чтобы уменьшить время удержания открытых сокетов:
    echo 5 > /proc/sys/net/ipv4/tcp_fin_timeout  # освобождать через 5 секунд
    echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle  # включить утилизацию

    Изменить параметрые nginx:
    worker_processes auto;
    - количество процессов по количеству ядер CPU или auto
    events {
           worker_connections 10000;
           multi_accept on;
    }

    - worker_connections сколько надо держать соединений на один процесс, т.е.
    worker_processes * worker_connections = сколько всего соединений надо обрабатывать.
    multi_accept on - процесс будет пытаться сразу брать все новые соединения, а не по одному.
    worker_rlimit_nofile 200000;
    - т.е. если хотим 100000 соединений, то пишем 200000

    надо изменить в системе лимит на количество открытых файлов:
    ulimit -n 1031089
    считается, что для гигабитного канала больше 50 тысяч соединений не получить.

    Еще по теме:
    https://habr.com/post/198982/ - Ускоряем Nginx за 5 минут
    https://romantelychko.com/blog/1300/ - Настройка Linux для высоконагруженных проектов и защиты от DDoS
    Ответ написан
    1 комментарий
  • Как эффективно защитится от брут-форса на VPS сервере?

    @hx510b
    "Я знаю, что ничего не знаю"
    На мой взгляд надо заставить веб-клиента делать какую-то работу, например, ставить куку и смотреть, что он ее предъявил, с помощью javascript на стороне клиента проводить простые вычисления, но не предсказуемые вычисления, которые он должен предъявить.
    Брутфорс наверняка идет в отношении конкретного аккаунта, можно на каждую неудачную попытку увеличивать время ответа, чтобы разительно снижать темп перебора.
    Можно начать показывать CAPTCHA в случае детектирования таких проблем.
    Можно сделать блокировку учетной записи в случае N неудачных попыток за период времени.
    Возьмите за образец логику PIN кодов банковский карт - 3 неудачных попытки - блокировка карты. Поэтому даже весьма простой 4-х численный PIN код становится не подбираемым брутфорсом.
    Существуют различные практики приблизительной деанонимизации веб-клиента, которые позволят установить, что с разных адресов идет один и тот же веб-клиент.
    Ответ написан
  • Настройка сети ipv6 debian, как автоматически видеть всю /64 посеть?

    @hx510b
    "Я знаю, что ничего не знаю"
    В Вашем вопросе очень много неизвестных, чтобы дать правильный ответ. Предположим, в этой сети IPv6 работает с помощью RA.

    Обычно, IPv6 адрес устройства формируется на основе MAC адреса устройство путем несложных преобразований, такой подход позволяет присваивать адреса устройства без конфликтов. Подробно это описано тут https://habr.com/post/245323/
    Этот принцип применяется в большинстве сетей IPv6. Т.е. устройство назначает уникальный IPv6 адрес себе самостоятельно.
    Это значит, если хочется повесить на 1 хост, на 1 сетевой адаптер несколько IPv6 адресов, то надо иметь несколько MAC адресов на хосте, это можно сделать с помощью bridge и созданием виртуальных сетевых адаптеров (речь про Linux). (Возможно существует какой-то другой рецепт, но я о нем не слышал).

    Второй вариант - это DHCPv6, которые позволяет назначать произвольные комбинации адресов вместо адресов на основе MAC, но этот вариант должен поддерживаться самой сетью и клиентом, при этом некоторые ОС плохо поддерживают или совсем не поддерживают DHCPv6. Подробнее смотреть тут: https://en.wikipedia.org/wiki/Comparison_of_IPv6_s...
    Для Вашей задачи, все равно придется идти на ухищрения на клиенте, чтобы он повесил больше одного адреса на один интерфейс и подсеть. Я считаю это вариант не пригодным для внедрения.

    Третий вариант, если в сегменте ЛВС присутствуют несколько IPv6 подсетей (об этом клиентам сообщает дежурный RA сервис по протоколу ICMP), в этом случае клиент, увидев несколько IPv6 сетей, назначит себе адреса для каждой подсети - это поведение стандартное.

    Итого.
    Либо надо городить несколько виртуальных интерфейсов с разными MAC на хосте, чтобы получить больше IPv6 адресов.
    Либо надо притащить в сегмент больше IPv6 сетей, тогда на хостах множество адресов появится "само".
    Ответ написан
    Комментировать
  • Как учиться в вузе, чтобы потом не жалеть о потерянном времени?

    @hx510b
    "Я знаю, что ничего не знаю"
    Надо понять: что нравится, к чему лежит интерес в рамках выбранной специальности.
    Сейчас очень востребованы аналитики, владеющие статистическими методами анализа. Если математика и статистика нравятся. То это очень хорошее направление. Зарплаты бывают 200-400тр.
    Если идти в разработчики, то очень полезно хорошо изучать алгоритмы и осваивать инструмент современной разработки. Я не знаю как ВУЗах сейчас дают предметы. Но обычно ВУЗы оторваны от индустрии. Поэтому фундаментальные знания лучше в ВУЗе изучать. А различные практики изучать самостоятельно или на стажировках. Очень полезно начать самостоятельно заниматься разработкой своих проектов и присоединиться к сообществу open source внося посильный вклад. Важно знать английский язык - минимум - это чтение документации без словаря. Хорошо, если есть разговорный язык - тогда можно рассчитывать на работу в международных или зарубежных компаниях. Или рассматривать возможность эмиграции. Чтобы понять, чем живет индустрия - надо смотреть вакансии и смотреть требования в вакансиях - все термины там должны быть понятны и их надо изучать. Понятно, что есть экзотические вещи - их полезно посмотреть для кругозора. Но почитав десяток другой вакансий - быстро становится ясен костяк требований к кандидатам - и его точно надо осваивать. Еще полезно смотреть видеозаписи выступлений на конференциях. С курса третьего можно начать где-то работать или практиковаться на частичную занятость. Можно порешать тестовые задания у Яндекса в вакансиях или подобное у других компаний чтобы понять уровень сложности и попрактиковаться. С точки зрения карьеры рекомендую стараться попасть в известные компании на работу или стажировку - работа в известных компаниях - это как пятерки в зачетке - потом помогают карьере. Существуют программы сертификации профессионалов. Для этих программ есть тренинги и тесты. Полезно проходить такие тесты. Резюме стоит грамотно составить - посмотреть резюме на сайтах коллег или обратиться к знающему кадровику за помощью. Для хорошей карьеры все-таки важно наличие профильного образования, особенно его любят в около государственных корпорациях. Сейчас в IT везде высокий спрос - поэтому грамотному специалисту и выпуснику остаться без работы сложно.
    Поэтому план такой : обучение в ВУЗе и самостоятельное образование, практика. Затем работа, чтобы получить опыт. Опытных и образованных ждет успех и хорошие зарплаты.
    Ответ написан
    Комментировать
  • Как исправить ошибку при получении сертификата через certbot-auto?

    @hx510b
    "Я знаю, что ничего не знаю"
    Здесь авторизация идет через HTTPS, при этом на адресе домене А, фактически отвечает сертификат домена Б. Возможно на веб-сервере сделан редирект с HTTP на HTTPS. Можно отключить редирект временно, а потом вернкть. Либо можно попобваоть сделать авторизацию средствами автономного веб-сервера certbot:
    certbot standalone --http-01-port 81 -d my.domain.name

    порт указываем отличный, чтобы не конфликтовать с местным веб-сервером.
    Ответ написан
    Комментировать
  • Почему не работает cerbot?

    @hx510b
    "Я знаю, что ничего не знаю"
    Проверить конфиги и убрать комментарии на русском (utf-8). У меня так решилось. Что-то с парсером у certbot не так.
    Ответ написан
    Комментировать
  • Как организовать видеонаблюдение с записью на удалёный сервер?

    @hx510b
    "Я знаю, что ничего не знаю"
    Как написали ранее - решение в лоб - это сливать поток с камер по внешнему каналу куда-то далеко.
    Есть вариант другой, пишу по своему опыту:
    1. ставим любой программный видеорегистратор, умеющий писать видео только по движению в кадре. тем самым мы значительно уменьшаем объем генерируемого видеоархива.
    2. этот видеорегистратор пишет в локальный видеоархив.
    3. настраиваем перенос новых файлов архива на отдаленный сервер, например rsync по cron или другим аналогичным примитивным способом.
    что мы получаем:
    1. уменьшение объема передаваемых данных за счет записи только по датчику движения.
    2. хранение архива где-то далеко, локально файлы формируются и хранятся временно - т.е. это фактически буфер.
    3. такая схема может спокойно переживать временную потерю связности и временную просадку пропускной способности канала.
    я так делал с motion и аналоговыми камерами, когда каналы были cdma450/3g/wimax, при нынешних скоростях можно вполне и HD видео сливать.
    Ответ написан
    Комментировать
  • С чего начать изучение для Настройки VPN сервера?

    @hx510b
    "Я знаю, что ничего не знаю"
    Рекомендую настраивать OpenVPN, это стандарт де-факто в индустрии, поддерживается практически всеми операционными системами.
    Надо найти любую инструкцию как настроить VPN на основе OpenVPN и выполнить ее и получить работоспособную систему, затем менять ее под свои потребности.
    Ссылки: https://habr.com/post/233971/ или https://habr.com/post/188474/
    Ответ написан
    1 комментарий
  • Какую кириллическую капчу лучше установить на сайт?

    @hx510b
    "Я знаю, что ничего не знаю"
    На мой вкус лучше поставить reCaptcha, чем мучать пользователей вводом плохо различимых букв.
    Ответ написан
    Комментировать
  • Как ускорить SQL запрос?

    @hx510b
    "Я знаю, что ничего не знаю"
    0. нужно использовать EXPLAIN для анализа причин тормозов https://habr.com/post/211022/
    1. LCASE(p.model) = 'ao' - полагаю, индекс не используется - отсюда просадка, лучше изменять регистр в правой части, либо модифицировать данные так, чтобы условия выборки были оптимизированы.
    2. заведомо оптимизируемые условия в WHERE:LCASE(p.model) = 'ao' OR LCASE(p.sku) = 'ao'
    следует поставить левее, а менее оптимизируемые правее - это поиск подстроки - в самый назад.
    суть простая: если какое-то условия сработает - остальные проверяться не будут благодаря OR.
    но в данном вопросе это мало влияния оказывает.
    Ответ написан
    Комментировать
  • Для собственного «cdn» какие установить безопасные права для папки и файлов?

    @hx510b
    "Я знаю, что ничего не знаю"
    достаточно 644 на файлы.
    .htaccess не нужен и даже вреден.
    Ответ написан
    Комментировать