• Как запретить посещение некоторых сайтов по https в Routeros?

    @efkot
    нет зашифрованный трафик вы не отсечете ни проксём ни лаер7
    только в бан по ипам

    я вот так баню
    ip firewall layer7-protocol add name=block_site regexp="^.*(get|GET).+(odno(c|k)la(s|ss)niki|vk.com|ok.ru|vk.me).*\$"

    для https всё сложней
    system scheduler add interval=10m name=schedule on-event=script1 policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive

    /system script
    add name=script1 policy=ftp,reboot,read,write,policy,test,password,sensitive \
        source=":foreach i in=[/ip dns cache all find where (name~\"odnokl\" || na\
        me~\"vk.com\" || name~\"vk.me\") && (type=\"A\") ] do={\r\
        \n:local tmpAddress [/ip dns cache get \$i address];\r\
        \ndelay delay-time=10ms\r\
        \n#prevent script from using all cpu time\r\
        \n:if ( [/ip firewall address-list find where address=\$tmpAddress] = \"\"\
        ) do={ \r\
        \n:local cacheName [/ip dns cache get \$i name] ;\r\
        \n:log info (\"added entry: \$cacheName \$tmpAddress\");\r\
        \n/ip firewall address-list add address=\$tmpAddress list=blockSS timeout=\
        12:00:00 comment=\$cacheName;\r\
        \n}\r\
        \n}"

    ip firewall filter add action=reject chain=forward dst-address-list=blockSS in-interface="eth 1" protocol=tcp reject-with=tcp-reset
    Ответ написан
  • Как установить несколько версий php на php5-fpm + nginx?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    - ставим все нужные версии PHP (то есть нужно установить несколько php-fpm)
    - форвардим запросы на нужный fpm.

    www.sitepoint.com/run-multiple-versions-php-one-server
    Ответ написан
    Комментировать
  • Как установить несколько версий php на php5-fpm + nginx?

    kompi
    @kompi
    nullstack devoops
    Для меня эту проблему разрешил docker.
    Ответ написан
  • Автоматизировать обработку видео в Adobe AE?

    mihailpanasenko
    @mihailpanasenko
    Видеодизайн, моушн-графика, анимация.
    Очень многие вещи облегчают скрипты, можно найти готовые в интернете или написать самому (JavaScript). Это и есть своего рода автоматизация в AE, можно делать что угодно, вплоть до чтения содержимого внешних файлов.
    c91fde8bb71e4cbe98db08e6b7b0c68f.png
    Ответ написан
    1 комментарий
  • Почему lvm том доступен для записи не полностью?

    Albibek
    @Albibek
    Вопросы есть? А если найду?
    При создании ext4, по-умолчанию резервируется 5% свободного места для решения проблем фрагментации. Вы можете изменить эту настройку командой tune2fs -m N <устройство>, где N - количество %.

    https://unix.stackexchange.com/questions/7950/rese... - Подробности.

    Ещё не забывайте про пересчёт байтов в кило/мега/гига-байты. В некоторых случаях считают по "курсу" 1024, а в некоторых - 1000.
    Ответ написан
    1 комментарий
  • Как убрать историю команд mc?

    Ernillew
    @Ernillew
    Администрирую *nix-системы с 1997 года
    export HISTIGNORE=”&:ls:[bf]g:exit: cd \”\`*: PROMPT_COMMAND=’*”

    www.midnight-commander.org/wiki/doc/faq#a6.8Iseelo...
    Ответ написан
    3 комментария
  • Можно ли на ModX Revo создать аналогию сайту Q&A?

    samoilenkoevgeniy
    @samoilenkoevgeniy
    Lead Full-Stack Web Developer
    можно, делайте.
    Ответ написан
    Комментировать
  • Как правильно составить резюме системному администратору, или что я написал не так?

    v_sadist
    @v_sadist
    DevOps engineer
    "Указал, как и требуется все места где работал прежде, и заполнил самый важный пункт "Навыки и умения". "
    Самый важный пункт - это опыт. Навыки и умения это здорово, но в них вы пишете "я знаю как настроить циску", а в опыте вы пишете "сопровождение циски АСА, настройка ОСПФ, настройка сайт ту сайт впн. Чувствуете разницу? Вложите больше данных в раздел опыта работы.
    В моем резюме, есть разделы, в одном из них регулярные задачи (сопровождение того-то и того-то, делание того-то и того-то), проекты (в которых указывается сам проект, моя роль в нем, и что конкретно я в нем делал)

    "При этом, я догадываюсь, что мои реальные знания несколько выше среднего уровня, в доказательство тому наблюдаю как знакомые, будучи более некомпетентными, устраиваются на неплохие должности. "
    Тщеславие это нехорошо. Если ваши менее компетентные приятели устраиваются на хорошие должности, значит вы либо в разных областях (к примеру вы условно сетевик, а ваши приятели виндузятники и линуксоиды)

    "В связи с этим вопрос - может быть я что-то не так написал, или же написал мало? Чего не хватает в моем резюме? Думаю что вопрос будет интересен многим. Заранее спасибо."
    Распишите подробно опыт, каждую мелочь которую вы делали на работе - это раз.
    В зависимости от того, какую должность вы хотите, оптимизируйте резюме под конкретную должность.

    "PS: "навыки и умения" в моем резюме -

    Знание принципов работы протоколов модели OSI, коммутация, маршрутизация. Построение и обслуживание сетей построенных на оборудовании Cisco, MicroTik, D-link (VLAN, STP, ACL, NAT, OSPF, VPN). Анализ сетевого трафика (Wireshark)."
    Вы это напрямую скопипастили из резюме? У вас там грамматическая ошибка - рекрутеры не любят ошибки в резюме.

    "Работа с Windows Server 2012 R2, FreeBSD, Avaya."
    Как-то в кучу все. Разбейте ОС отдельно, телефонию отдельно. В ОС напишите, что кнкретно умеете там делать.

    "Внедрение Vmware ESXi на предприятии. "

    Запишите лучше это в опыт.

    "Back-UP, антивирусная защита. "
    Любой админ решает задачи по безопасности и надежности данных. Лучше распишите какими средствами это делаете.

    "Большой опыт технической поддержки пользователей, в том числе удаленной."
    Ну путайте опыт и навыки. Большой ли у вас опыт будет видно из раздела повыше (где ваш пресловутый опыт собственно и расписан)

    " Аутсорсинг. "
    Это вы делали, работая в конкретной конторе? Если да - уберите этот пункт из навыков, и уточните в разделе опыта. Если нет, то сделайте отдельно "место работы", типа "фриланс сисадмин"

    "Построение ЛВС с нуля, обслуживание оргтехники, телефонии,"
    Повторяетесь. Это есть выше.
    " планирование и закуп оборудования."
    Запишите это лучше в опыт работы в качестве одной из задач.
    Ответ написан
    Комментировать
  • Как правильно составить резюме системному администратору, или что я написал не так?

    @hizhuns
    Системный администратор
    летом 2014 мы активно набирали людей в команду, прочитав такое резюме я бы не пригласил...
    во первых, что касается резюме в целом на "небезызвестном сайте" - попробуйте его распечатать. получается больше 2-х листов? думайте что удалить, получается меньше 1-го листа? думайте что добавить. для меня лично было очень удобно когда резюме на 2 листа - 1ый лист это контактные данные, фото если есть, информация об образовании и детальное описание текущего(последнего) места работы (поддерживаемые службы, сервисы, проекты модернизации/внедрения, серверы, сети, прочее оборудование, размер команды и т.д. и т.п.). 2-ой лист очень краткое содержание предыдущего опыта работы, банально Г-Г / Компания / Должность и 2 строчки описания и т.д.

    по поводу того что я вижу здесь -
    Работа с Windows Server 2012 R2, FreeBSD, Avaya
    WS там что? (инфраструктурные сервисы, коммуникации, поддержка?) FreeBSD аналогично непонятно. AVAYA отдельная тема - у вас телефония была или сеть на этом оборудовании? где описание?
    Внедрение Vmware ESXi
    - чудесно, но все же версия хотя бы какая? 5 - 6 разница ощутима.
    Back-UP, антивирусная защита
    не Back-UP а backup, а еще лучше система резервного копирования с поддержкой версионного независимого хранения данных на внешних носителях, опять же какая? антивирусная защита туда же - KSC и DrWES разные вещи..

    ну как-то так мое личное мнение, а вобще целиком бы на резюме глянуть, возможно мнение и изменится =)
    Ответ написан
    6 комментариев
  • Как настроить маршрутизацию относительно гостевых OS с перенаправлением по domain_name на одном порту?

    merryjane
    @merryjane
    Системный администратор
    Cделайте еще один контейнер или на хост системе поднимите nginx и сделайте набор виртуальных хостов с нужными domain_name, в каждом из которых уже делайте proxy_pass в нужный вам контейнер.
    Ответ написан
    1 комментарий
  • Почему Mikrotik RB951G не работает на заявленном 1Gbs?

    Jump
    @Jump
    Системный администратор со стажем.
    Проверьте поддержку такой скорости с другой стороны кабеля.
    Проверьте кабель.
    Ответ написан
    3 комментария
  • Почему Mikrotik RB951G не работает на заявленном 1Gbs?

    vvpoloskin
    @vvpoloskin Куратор тега Сетевое администрирование
    Инженер связи
    Можно на микротике жестко выставить скорость 1000М и попробовать подключить. А еще можно попробовать включаться не в PoE порт. Ну и еще подумать, для чего вам надо 1GE линк и зачем вы используете для таких скоростей такую коробочку.
    Ответ написан
    8 комментариев
  • Что нужно знать чтобы стать начинающим системным инженером (devops)?

    Singaporian
    @Singaporian
    Статья, которую должен прочитать каждый.

    DevOps - не профессия. Это название культуры доставки кода от разработчика (dev) через тестировщиков и до сисадмина(ops) и обратная связь по этой цепочке.

    Человека, который внедряет DevOps, обычно называют... как хотят. Чаще всего этим занимается какой-нибудь нон-конформист в команде.

    Профессии, которые отрисуются в процессе построения этой методологии следующие:
    • Build Engineer - инженер, который управляет зависимостями, сборками, конфликтами кода.
    • Release Engineer - инженер, который управляет репозиторием кода (кто куда и по каким правилам мерджится и откуда бренчуется). Пожалуй, это самая сложная задача в больших проектах. Особенно с нестрогим Agile или в Waterfall.
    • Automation Engineer - инженер, который занимается автоматизацией рутинных задач. Обычно деплоймент, автотесты, etc. Все эти buzz-слова типа Docker - его инструментарий.
    • Site Reliability Engineer - инженер, который поддерживает ops (апгрейды, расширение железа)
    • Configuration Manager - непонятная мне специальность. Жуткое порождение HR-специалистов, давящих на громкое название позиции. Можно было бы пойти дальше и назвать специальность ZooKeeper Vice President

    В список не вошла самая главная специальность - "психолог". Человек, который должен следить за людьми и вычислять психологически важные аспекты команды, пораждающие боттлнеки производительности.

    Почти всегда все эти роли совмещают один-два человека. Ну это зависит от качества кода.
    Назовем эту компанию BRAE/CM для краткости.
    Задача BRAE/CM состоит в том, чтобы программный код, который выходит из под пера программистов, оставался на контроле программистов и сисадминов одновременно. Программисты, равно как и сисадмины, благодаря DevOps-подходу, имеют возможность и даже обязаны обслуживать код на протяжении всего жизненного цикла от планирования архитектуры до мусорки.
    То есть сисадмины начинают рулить еще до того, как код попадет к ним - на ранних стадиях, а программисты продолжают рулить своими задачами уже после того, как код от них ушел к сисадминам - на поздних стадиях. И все это прозрачно друг для друга и все проблемы и решения ходят туда сюда и не спотыкаются о бюрократия в стиле "ничего не знаю, мы код уже закоммитили, у меня тут свои проблемы, у них сломалось - пусть сами и чинят".

    Так вот эта работа - завершающая стадия системного администратора и начинающая стадия разработчика. Поэтому не бывает Junior BRAE/CM.
    BRAE/CM бывает всегда только Senior в системном администрировании и всегда Junior в программировании.

    Еще один момент. В домашних условиях можно выучить инструменты на базовом уровне. Но не поварившись в одной кастрюле с реальными разработчиками, смысл всей этой кухни не понять. Так что сразу забейте. Но если хотите, могу описать пошаговый длинный путь как стать RE/CM:

    Сразу оговорюсь по языкам.
    У каждого языка свое предназначение. Java чаще используется в корпоративном секторе. Там много серверов и сложные бизнес-приложения. Поэтому Java-мир очень чувствителен к таким понятиям, как "технинческий долг" и "управление процессом разработки". И именно поэтому именно там все основные вакансии DevOps и именно там будет самый интересный опыт.
    Кроме Java, традиционно сильная DevOps-культура у Ruby. Практически все остальные языки не имеют столь развитой и популярной инфраструктуры в в данном контексте и потому вам скорее всего будут неинтересны.
    Другими словами, если в среде разработчиков выбор языка - тема для холивара и эмоций с миллионами сравнительных анализов с противоположными результатами, то для специалистов по DevOps выбор очевиден и прозрачен. Java - это одновременно самые интересные задачи, самый богатый toolset, самый большой выбор вакансий и самые высокие зарплаты.

    Каждый последующий пункт, кроме особо длинного первого, будет выливаться в неделю-две достаточно плотного труда. Если не прокрастенировать и уделять этому по несколько часов вечером.

    Итак, что делать:
    1) Почитать книги Head First по Java. Пройти курсы Java на EDX.
    2) Освоить SVN. Есть прекрасные тьюториалы. (GIT освоим позже)
    3) Поставить VirtualBox (не VMWare!!!)
    4) Написать простенькое приложение. Код коммитить в SVN. Собирать его при помощи maven.
    5) Поднять на отдельной виртуалке Jenkins. Он должен брать код приложения на SVN и запускать свой локальный maven для сборки.
    6) Написать модульные тесты (unit tests) своего кода. Пусть maven и их прогоняет.
    7) Поднять где-нибудь Nexus. Усложнить задачу maven, чтобы он теперь складывал все в Nexus. Если maven'у потребуются внешние библиотеки, он тоже не сам должен ходить в интернет, а через Nexus (Central repo).
    8) Настроить на своем десктопе vagrant так, чтобы он с нуля создавал виртуалки VirtualBox.
    9) Создать виртуалку DEV через vagrant. При этом ansible должен на ней что-нибудь настроить (например установить JDK)
    10) Научиться деплоить jar/war из Nexus на виртуалку DEV чем-нибудь. Чем - не посоветую, так как сам работаю с очень сложным IBM uDeploy, а это точно не для новичка. Посмотрите в сторону Rundeck или чего-то такого. Может самим Jenkins'ом задеплойте.
    11) Напишите интеграционные АВТОтесты. На чем хотите (как вариант: Selenium).

    Усложняем систему.
    12) Донастраиваем Jenkins: собирает maven-проект; выкладывает на Nexus; дергает vagrant/ansible для создания виртуалки SIT (system integration test); деплоит приложение на SIT; прогоняет автотесты на SIT; удаляет виртуалку после успешного завершения автотестов.
    13) Прикручиваем SonarQube в Jenkins для статического анализа кода. Исправляем косяки своего кода, согласно полученным от SQ рекомендациям.
    14) Прикручиваем мониторинг Sensu.
    15) Пишем нагрузочные тесты на чем-нибудь. В идеале потрогать два инструмента: jMeter и Gatling.
    16) Как и в 12-м шаге прикручиваем в Jenkins автоматизацию создания виртуалки SLT (Stress/Load test) и прогона на ней тестов. Только уже лоад-тестов(обязательно) и стресс-тестов(опционально) соответственно.
    17) Дописываем в свое приложение какой-нибудь функционал, чтобы использовалась база.
    18) Придется познакомиться с LiquiBase. Деплой SQL руками делать запрещено.
    19) Перейти на Docker (то есть теперь приложение выкладывать не напрямую в ОС, а внутрь докера)

    20) Денек на то, чтобы почитать про Agile, Scrum, Waterfall и прочие организационные порядки.

    А теперь немного уходим в управление проектом:
    21) Поставить Atlassian Jira. Разобраться, чем отличаются Epic, Story, Task, Sub-Task. Создать себе подобной этой структуре фронт работ (делать его не придется, просто нафантазируйте).
    22) Поставить Atlassian Stash и связать его с Jira.
    23) Переехать со своего SVN на GIT, предоставленный Stash'ем.
    24) Пройти Git-тьюториал какой-нибудь. Инструмент очень нетривиальный.
    25) Взять любую таску в работу. При этом в начале работы сделать новый Git branch из тикета Jira.
    26) По завершению работы запустить всю построенную ранее цепочку, но уже для своего брэнча.
    Дайте попробую угадать: вам пришлось скопировать все джобы и переписывать в них ветки?
    27) Сделать джобы нормально. Чтобы одни и те же можно было использовать для любых веток - по аналогии с принципом программирования "reuse code". У Вас будет reuse job :)
    28) Сделать pull request, самому сделать code review и самому себя же за-approve'ить. После этого сделать merge своей ветки в master.
    29) Сделать сборку брэнча автоматической по git-hook (или SCM pool)

    30) А теперь высший пилотаж: к чертям Docker, Copistrano и прочую buzz-word-hipsters-галиматью. Теперь вы с этим знакомы и сможете применить, но пришло время выгрызать этот детский сад калёным железом. Теперь вы доставляете код только как .deb-пакеты. Это значит, что вы:
    a) разбиваете control-файл на несколько пакетов, возможно с lib*,
    b) оверрайдите все ~20 dh_ в файле rules так, чтобы все это соответствовало вашим наработкам в предыдущих пунктах.
    c) раскидываете файлы по .install
    d) самое тяжелое: готовите .preinst, .postinst, .prerm, .postrm файлы СОГЛАСНО ИХ ПРИМЕРАМ .ex, сгенерированным dh_make - то есть с разбиемнием на update/configure/broken-install и что там еще есть. Это означает, что при переустановке, при апгрейде, при даунгрейде, при удалении и при пурдже, у вас будут разные сценарии, каждый из которых должен быть проработан досканально. На этом этапе вы также познакомитесь с понятием "регрессионные тесты".

    Ну как бы базовый вариант вот. Но это далеко не весь инструментарий и путь. Это так, для начала.
    Кроме этого неплохо бы познакомиться с Puppet (это не очень подходит для DevOps, скорее для рядовых админов с кучей серверов, но это очень популярный инструмент ввиду того, что никто не понимает, что такое DevOps и вас скорее всего заставят управлять сотней серверов, вместо релиз инжиниринга). А так же нужно познакомиться с операционными системами NixOS (обязательно) и CentOS/Debian (опционально, но я бы палкой бил тех, кто не знает эти OS). Кроме того, надо базово ориентирваться в PostgreSQL.

    Внимание, важный момент, который должен быть вшит на уровень подсознания у DevOps-ориентированного инженера: вы все время пробуете новые инструменты. Вы всегда будете находить что-то очень отличное. Знаете Nexus как свои пять пальцев и он решает почти все проблемы? Отлично! Теперь выкидываете Nexus и ставите Artifactory. Знаете хорошо CentOS? Круто! Теперь пробуете все это проделать на Windows или Debian. Потому что только когда вы сможете сравнивать инструменты, ваша работа будет ювелирной. А DevOps бывает либо ювелирным, либо он не DevOps. Вы должны быть языко-независимым, платформо-независимым и инструменто-независимым.

    Что будет дальше? Дальше вы начнете работать с микросервисами (сотни одинаковых контейнеров в облаке, которые должны как-то работать друг с другом без ручной конфигурации). Тогда познакомитесь со всякими Consul, ZooKepper и кучей инструментов AWS/OpenStack.
    Ответ написан
    13 комментариев
  • Как вы начинаете вёрстку сайта?

    @AndreyMyagkov
    Для несложных классических сайтов:

    1. Создаю HTML - каркас сайта (шапка, сайдбары, подвал итд)
    2. Прорабатываю шапку и подвал. Режу картинки для шапки и подвала. На этом этапе HTML шапки и подвала готовы.
    3. Быстренько выдираю названия стилей из HTML (использую сервисы типа bearcss.com , html2css итп)
    4. Начинаю CSS: сброс стилей + из пункта 3
    5. Быстренько выдираю CSS для шапки и подвала из PSD (использую плагин CSSHAT), остальное ручками
    6. Шапка и подвал готовы! На этом этапе посути готов каркас как для главной, так и для внутренних страниц, причем очень быстро и уже можно что то показать!
    7. Прорабатываю контентную часть поблочно (выполняю пункты 1-5 для каждого блочка)
    8. Все иконки, декор запихиваю в спрайт, фотки и большие изображения можно прогнать через сервисы сжатия типа tinypng tinyjpg
    9. Проверяю готовый макет на pixelperfect, в разных браузерх, вношу правки
    10. PROFIT!
    Ответ написан
    Комментировать
  • Nginx + php5-fpm VS Nginx + Apache; Что выбрать?

    @hell
    По первому пункту:
    Правильнее будет протестировать на актуальном железе и в актуальной конфигурации. Кроме того, ответ на ваш вопрос будет зависеть еще и от вашей возможности корректировать параметры ядра. На виртуалках у вас такой возможности может и не оказаться.

    Полтора года назад я делал такие тесты для своего сервера.
    Тестировались три варианта - nginx+php-fpm, nginx+apache+mod_php, nginx+nginx+php-fpm. результаты тестов на боевых сайтах показали:

    при правильной настройке apache - nginx+php-fpm - наименее производительное решение
    nginx+apache+mod_php и nginx+nginx+php-fpm выдерживают примерно одинаковую нагрузку, но второе решение чуть менее надежное (то есть именно чуть - в среднем, на 1000 натравливаний siege на боевой сервер, php-fpm слетел раз 7, а апач - раза 2)

    Софт с тех пор поменялся, железка у вас заведомо другая (та, на которой я тестировал, погорела), у меня был debian без виртуалок, у вас - Centos, посему актуальные результаты тестов в вашем случае могут оказаться другими.

    По второму - позволю процитировать себя же - "при правильной настройке apache". Правильная настройка апача на производительность включает полный отказ от .htaccess. Часть переносится в nginx, часть - напрямую в конфиги конкретного веб-сервера. Ну и из апача вообще выбрасываетс много-много-много всего. Нужно помнить, что правила рерайта в нгинксе огтличаются от апачевских - на хабре была пара правильных (особенно с учетом комментов) статей, ну и на самом сайте нгинкса примеров хороших более чем достаточно.

    По третьему - если вы проведете тесты и убедителсь, что с надежностью у связки nginx+nginx+php-fpm все нормально на ваших сайтах, я бы перешел.
    Поясню суть такой связки:
    внешний nginx отдает статику, зипует на лету, частично рерайтит запросы, а также проксирует запросы к php на внутренний нгинкс. Кроме того, по необходимости и возможности, он может кешировать часть запросов. У внешнего нгинкса keepalive_timeout установлен в достаточно большое значение (то есть тоже стоит подбирать).
    Внутренний нгинкс стоит с keepalive_timeout=0, и работает с php-fpm.

    Прекрасной плюшкой такой связки является возможность кеширования страниц с одновременным, простым и наитивным отключением кеширования интерактивной части (то есть, к примеру, вы кешируете весь сайт кроме блока комментариев и блока каких-нить прикольных фишечек, которые выводятся по рандому).

    Минусом - принципиальные отличия в логике рерайтов на nginx и в apache. Врочем, если потратить разок 2-3 рабочих дня на то, чтобы в этих разлиичях разобраться, дальше все будет проще.
    Ответ написан
    3 комментария
  • RU.Stackoverflow: Прощай тостер?

    fsdsdfsfdsfsdfsdfsdfsdfsd
    @fsdsdfsfdsfsdfsdfsdfsdfsd
    Unknown
    ru.stackoverflow.com это бывший hashcode.ru.

    А вообще, у toster самый приятный интерфейс из подобных сайтов ;)
    Ответ написан
    2 комментария
  • Стоит ли возвращать долг Hetzner?

    @FoxInSox
    Надеюсь пеня будет бежать быстро.
    Ответ написан
    Комментировать