Задать вопрос
  • Как скрыть IP внешний на виртуалке?

    Jump
    @Jump
    Системный администратор со стажем.
    В блокноте набираете ваш IP адрес, после чего шифруете получившийся текстовый документ любым доступны средством шифрования, и отправляете зашифрованный текстовый документ вашему другу.
    Не зная ключа шифрования он не сможет его расшифровать.

    Хотя непонятно зачем отправлять человеку то, что он не сможет прочитать - но это уж ваше дело.
    Ответ написан
    5 комментариев
  • 24 pin это тоже самое что и 20pin + 4pin?

    y0u
    @y0u
    dev
    Да, подойдет.
    Ответ написан
  • Объясните как работает php-fpm?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Для начала почитайте что такое SAPI. Затем представьте что apache + mod_php разделили на web-сервер, который проксирует запросы на php-fpm и отдает статику, и собственно отдельный web-сервер который имплементит SAPI и выполняет запросы связанные только с php. То есть статику отдавать мы можем только через php. Суть примерно та же что и у apache2 + prefork + mod_php но оптимизированный только для работы с php. Так же можно поставить на фронт более быстрый и легковесный сервер который умеет проксировать запросы.

    То есть php-fpm это эдакий fast-cgi сервер который постоянно держит готовые для работы пул-процессов (сколько в пуле процессов настраивается, так же как и от какого пользователя их запускать и все такое прочее). Каждый новый запрос уходит в какой-либо процесс из пула, запрос отрабатывает, возвращаем результат тому кто попросил (web-серверу обычно). Если процесс падает (fatal допустим) - поднимаем новый.

    Принципиальной разницы между apache2+mod_php нету, просто упрощается инфраструктура. Наш web-сервер должен только уметь проксировать запросы и отдавать статику, а php-frpm вообще может быть на разных машинах (балансировщиком можно раскидывать запросы). Ну и сами понимаете, nginx + php-fpm будет быстрее обрабатывать запросы чем apache2+mod_php какой бы мы менеджер процессов не использовали в апаче. Минусов по сравнению с apache+mod_php я даже не могу предложить.

    А php-runtime не зависит от этого. Он один на всех, CLI, FPM, mod_php...
    Ответ написан
    7 комментариев
  • Объединить две локальные сети в одну через интернет?

    @Tabletko
    никого не трогаю, починяю примус
    При одинаковой адресации с обоих сторон хлебнёте вы проблем. Лучше сделать разные подсети и настроить нормальную маршрутизацию.
    Ответ написан
  • Какой лучший ssh клиент под windows?

    anyday
    @anyday
    Системный администратор Linux
    Все весьма ужасны, нативной реализации от Microsoft так и нет, весь выбор состоит из putty и cygwin.com
    Ответ написан
    2 комментария
  • Какой лучший ssh клиент под windows?

    Я пользуюсь SecureCRT, очень достойный продукт, стоит своих денег.
    Ответ написан
    Комментировать
  • Редактировать файлы в WinSCP через sudo?

    landergate
    @landergate
    IT-шный jack-of-all-trades
    В настройках подключения в WinSCP:
    Среда -> SFTP -> Параметры протокола:
    Сервер SFTP: sudo /usr/lib/sftp-server
    Ответ написан
    2 комментария
  • Для чего нужен Docker?

    @spotifi
    Внутри Docker только Linux, и, экспериментально, FreeBSD. Запускается нативно под Linux и, экспериментально, под FreeBSD. Под MacOSX, Windows - через виртуальную машину.

    Докер - это двойная изоляция. Изоляция того, что лежит внутри контейнера Докера от операционной системы и изоляция операционной системы от того, что лежит внутри Докер. Изоляция подразумевает изоляцию всех файлов, портов, приоритетов.

    Это почти виртуальная машина. Почти, да не совсем.


    Есть такое понятие "ад зависимостей". Любое ПО устанавливаемое на компьютер, тянет за собой зависимости (конфигурационные файлы, статические файлы называемые обычно asset, вспомогательные утилиты/сервисы, библиотеки и пр.). Ряд из этих библиотек/утилит/сервисов несовместим друг с другом. А с учетом того, что каждая из этих библиотек/утилит/сервисов имеет и свои зависимости - ситуация еще хуже.

    Например, мы используем Yandex.Cocaine, которая нормально компилируется только на Ubuntu 14.04 (и, вроде, на Debian 7). Но не под CentOS 6, 7, Debian 8, FreeBSD 9, 10, Ubuntu 15, 16 и пр. - скомпилировать его невозможно. Запускаем в этих операционных системах в Докере.

    С другой стороны, и одновременно с этим, вам необходимо установить другое, более современное ПО. И одновременно более старое. Причем речь даже не идет об серьезно отличающихся версиях Linux. Например, одно ПО требует не менее Ubuntu 14.10, а другое не более Linux 14.04.

    Docker - это одна программа внутри индивидуального окружения с индивидуальной версией операционной системы. За счет слоеных контейнеров, если вы используете один корень для всех образом, то размер Docker контейнера всего-то на несколько килобайтов больше размера бинарного файла, запускаемого под Docker.

    Таким образом, мы имеем бинарный файл запускаемый как бы в своей операционной системе.

    Вы можете сказать - ба, да это же давно известная виртуальная машина. Но нет, это не так. Это так называемые контейнера. Никакой виртуальной машиной там и не пахнет. За исключением Windows и MacOSX, где работа без виртуальном машины пока экспериментально возможно только, а нормой в этих ОС является использование Докера внутри полноценной виртуальной машины.

    Но виртуальные машины с Докером используются только для разработки. Для запуска в production виртуальные машины с Докер не используются.

    Докер использует контейнеры операционной системы. LXC в Linux, Jails в FreeBSD. Контейнер - это область операционной системы, изолированная от основной части операционной системы. В контейнере свое дерево каталогов (включая системные /dev, /bin, /sbin и пр.), свои сетевые порты и пр. и пр.

    Но при этом не используется полная виртуализация. Что существенно экономит ресурсы. Запустить 100 полноценных виртуальных машин вряд ли получится даже на мощном сервере. А вот запустить 100 контейнеров Docker даже на слабом домашнем компьютере - возможно.

    Правда использование не полной виртуализации ограничивает использование операционных систем внутри контейнеров. Как правило, это специально подготовленные версии Linux или FreeBSD. Именно специально подготовленные. Windows - в принципе в контейнере запустить невозможно.

    Контейнеры существовали и до Docker. Докер, строго говоря, это всего лишь очень удобный набор инструментов, собранных воедино, для управления контейнерной виртуализацией. Но очень удобный.

    Зачем это используется?

    Ребята из всяческих Dropbox, Facebook и и пр. гигантах, запускающие по 1 млн. различных программ в своих сервисах, столкнулись, что невозможно везде гарантировать идентичные настройки операционной системы. А это критично.

    Вплоть до того, что идеально написанная и оттестированная программа на реальном сервере начинает себя вести непредсказуемо.

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

    Более того - изначально разработчик программного обеспечения тестирует программу в контейнере Докер, с определенными настроками. И в этом же (или с такими же настройками) контейнере Докера программа уезжает на сервер.

    Это позволяет гарантировать гораздо большую идентичность среды разработки и среды исполнения.

    До этого люди мучались, придумывали хитрые инсталяторы...

    Потом плюнули на попытки упорядочить окружение в ОС - и сейчас концепция такова - устанавливать программы на сервера вместе со своими индивидуально настроенными под них операционными системами - то есть внутри контейнеров. 1 контейнер = 1 настройка ОС = 1 программа внутри.

    Другими словами:
    • Докер-контейнер нужно использовать для отладки.
    • Тот же Докер-контейнер нужно использовать и на сервере.


    Это позволяет не трудиться с настройками "под сервер" локально на машине разработчика. Это позволяет разрабатывать на машине разработчика совершенно разные программы одновременно, которые требует несовместимых настроек операционной системы. Это позволяет давать гораздо больше гарантий, что программа на сервере будет вести себя также как и на машине разработчика. Это позволяет разрабатывать под Windows/MacOSX с удобным "прозрачным" тестированием под Linux.

    Докер применим к созданию/настройке только серверного программного обеспечения под Linux (экспериментально под FreeBSD). Не для смартфонов. А если десктопов - то только программное обеспечение без GUI.

    Посколько Докер позволил одним махом упростить работу разработчикам и админам и повысить качество результата - сейчас бум на Докер. Придумано огромная гора инструментов для управления развертыванием приложений созданных с Докером. Если раньше чтобы запустить 10 000 программ на 1000 серверах нужно было как минимум 3 высококвалифицированнейших девопса, которые писали кучу описаний как это сделать на Puppet, Salt, Chef, Ansible, да и то не было гарантий, это все тестилось месяцами. То сейчас с Докер даже один квалифицированных девопс может рулить миллионами программ на десятках тысяч серверов. С куда как большей гарантией, что все это заведется нормально.

    UPD:

    Может сложиться ложное впечатление, что разработчик готовит контейнеры в Докер, а потом передает их админу.
    Правильная методология все же другая:

    Разработчик отдает весь свой результат в систему CI (обычно через git)
    CI на каждый новый коммит делает с помощью Docker образ для тестирования.
    Если тесты проходят успешно, то этот же самый Docker образ, отправляется на развертывание в production.
    Или, чуть иначе в компилируемых системах, где исходники не нужны в production: в Docker производится развертывание среды для компиляции, а для тестирования разворачивается второй образ с уже откомпилированным добром, который уже отправляется в production.

    То есть при правильной огранизации дела разработчик не может/не должен влиять на то, какой будет образ.
    А вот в тестовой среде (запускаемом на сервер, недоступном разработчику в больших командах) и в production как раз используется один и тот же образ.

    Основная идея - что тестировали, ровно то и запускаем на боевом сервере. Один-в-один, включая те же самые файлы (не такие же, а именно те же самые).
    Ответ написан
    16 комментариев
  • Для чего нужен Docker?

    @viiy
    Linux сисадмин \ DevOps
    Представьте что нет никакой ложки докера.

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

    2) У вас есть физическая машина + на ней виртуалки. Вы выделяете под каждую задачу свою виртуалку, там сидят отдельные пользователи, вы навели какой то порядок. Появляется задача - пользователи хотят php 6, а его нет, хотят python3, а его нет, хотят Mongo, а она старой версии. Вы обновляете репозитарии, качаете новые пакеты, ставите, часть пользователей довольны, часть нет - им нужна старая версия какая была. Упс!

    3) Одна физическая машина + еще больше виртуальных машин. Вы разделили всех пользователей так, чтобы никто не дрался за версии софта, если нужен php6 - иди на эту машину, нужен php5 - вот на эту. Все счастливы, но появляются разработчики, которые говорят буквально так - "а у меня на рабочей машине все работает, я перенес все как было на виртуалку, а у меня появляется ошибка missing library libXXX.so.X". И вы понимаете что вам остается только создать полную копию машины разработчика, чтобы софт поехал на этой виртуалке без ошибок... И тут появляется Docker! :)

    4) Docker решает именно эту проблему. Вам не нужно заботится о софте который установлен на сервере/виртуалке. Вы просто берете и переносите софт со всеми "кишками" на другой сервер и он просто работает. Работает за счет того, что все "кишки" это слои файловой системы нанизанные как бисер друг на друга. Дополнительно решается проблема свободного места, т.к слои многократно переиспользуются контейнерами, если вам нужен php + одна библиотека, а другому php + другая библиотека, вы используете (грубо говоря) слой php, а для дополнительной библиотеки делаете отдельный слой, одновременно другой человек делает над php другой слой и вы не деретесь между собой и не видите чужих библиотек. Это грубо и скорее всего ради одной библиотеки никто новый слой не делает, делают слой пожирнее.

    Все запущенные процессы Docker помещает в изолированную среду процессов, файловой системы и сетевого стека. Есть много особенностей по работе с Docker, т.к он предполагает, что в одном контейнере вы запускаете один процесс. Если вам нужно запустить целый набор демоном, тут появляются проблемы, нужно писать шелл-скрипт, который все это поднимет в контейнере. Так же есть особенности по сети, файловой системе. Для кого то Docker спасение и решение всех проблем, но я как сисадмин от этого всего не в восторге.
    Ответ написан
    15 комментариев
  • Как в Микротике в DHCP фильтровать неизвестные устройства?

    Настройте на своём DHCP пул "из специального диапазона, для которого нет маршрутизации ни с другими сегментами ЛВС, ни с Интернет", а статические адреса выдавайте из какой хотите подсети.

    Дополнительно, можно ограничить использование статических адресов в вашей сети: на интерфейсе с DHCP включить ARP в reply-only, а у DHCP сервера поставить Add Leases to arp.
    Ответ написан
    4 комментария
  • Зачем IT гиганты используют много несвязанных доменов?

    Поместив HTML, XML, SVG и т.д. и т.п. файл на домене usercontent.google.com можно
    манипулировать куками домена google.com и фишить. Поэтому пользовательский контент всегда отдается с отдельных sandbox-доменов.
    Так же с отдельных доменов обычно отдается статический контент, это позволяет использовать CDN и упрощает управление кэшированием.
    Отдельный домен обычно используется для PTR-записей (например 1e100.net). Для PTR часто нужна двойная валидация, т.е. PTR должна разрешаться в имя и имя обратно в тот же IP. При этом на одном IP может хоститься много доменов и быть установлено много сертификатов, включая вайлдкарды. И наоборот, один домен может хоститься на многих IP. Чтобы исключить прямое обращение к хосту по "неожиданному" для него имени в своем домене, обычно используются PTR записи в нейтральном домене. Кстати исторически принято использовать именно домены в .net. Google так же использует 1e100.net как нейтральный домен для подписи транзитных писем, раньше для этого использовался собственно домен google.com и это приводило к забавному багу, позволявшему подделывать подписи на письмах от google.com, я рассказывал о нем на PHDays 2014.
    Географические домены исторически используют для организации региональных датацентов и ускорения доступа, например yahoo.jp физически расположен в Японии.
    Ответ написан
    6 комментариев
  • На что сосредоточить внимание при выборе ноутбука: процессор или видеокарта?

    morihaos
    @morihaos
    На 99% вопросов уже есть ответы в инетке...
    Привет,
    Для писания кода и работы в браузере хватит и интегрированной, imho. Я бы обратил внимание на проц, а разницу от дискретной вложил бы в SSD или RAM.
    Ответ написан
    Комментировать
  • Как обойти ФЗ-54?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    если начну хорошо навариваться, тогда может начну платить налоги))))
    ну у вас заказчики юмористы.
    Уверен - вам как разработчику, нельзя забивать голову себе, тем как кому-то из ваших клиентов, получше начать наябывать государство/общество. Не могут вести бизнес честно, может тогда следует чем-то другим заняться.
    Ответ написан
    Комментировать
  • Почему не работает доступ к общим папкам в Windows через VPN?

    HawK3D
    @HawK3D
    В общем виде это должно быть организовано примерно так:
    - Поднят и функционирует туннель между роутерами;
    - Поверх туннеля на обоих концах поднят EoIP-туннель;
    - Локальные интерейсы и EoIP туннели объединяются в bridge на каждом роутере;
    - Настраивается 2 DHCP-сервера на обоих роутерах, в качестве интерфейса DHCP нужно указать ваш bridge-интерфейс. DHCP network должна быть единой 192.168.0.0/16 в вашем случае указана в настройках обоих DHCP-серверов, а вот диапазоны (pool) выдачи адресов должны быть непересекающимися, входящие в обозначенную подсеть. Например, 192.168.0.2-192.168.0.255 на одном роутере и 192.168.1.2-192.168.1.255 на втором, в вашем случае.
    - Создавать один DHCP на локальную и удаленную подсеть неправильно и опрометчиво - в случае разрыва туннеля между роутерами - на стороне, где нет DHCP истекут сроки аренды, со всеми вытекающими.
    - Лишний broadcast можно заблокировать с помощью /interface bridge filter.
    - Обязательно нужно создать правило, блокирующее DHCP-запросы между удаленными сетями, например так:
    /interface bribge filter
    add action=drop chain=forward comment="Drop DHCP requests over EoIP bridge" disabled=no in-interface=eoip-tunnel1 ip-protocol=udp mac-protocol=ip src-port=68

    Таким способом можно объединить и больше чем две удаленные сети, выстраивая оптимальную топологию. Работает без проблем, щироковещательный трафик незначительный.

    P.S. Вместо EoIP-туннеля предпочтительнее использовать VPLS. В своих настройках отталкивался от презентации Дмитрия Кузнецова, на деле все оказалось немного проще, приведу отличия моих настроек:
    - Необходимо настроить маршрутизацию между удаленными интерфейсами lo, при этом в качестве шлюза на стороне впн-сервера предпочтительнее указать remote address впн-клиента, а не сам впн-интерфейс, либо создать bind для впн-клиента, чтобы в маршруте интерфейс не заменялся на unknow при переподключении.
    - В список LDP-интерфейсов достаточно добавить только "пустые" bridge, впн-интерфейсы добавлять не нужно.

    После перехода на VPLS заметил некоторое "оживление" сети и прирост максимальной скорости при скачивании файлов.
    Ответ написан
    Комментировать
  • Стоил ли переплачивать за монитор?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Привет! Разница довольно большая между двумя претендентами.

    Мое мнение:
    1. Если деньги есть, бери U2412M.
    2. Если денег нет, езжай в магаз, посмотри на оба моника и после следуй пункту 1.

    То, что выбрал Dell - молодец, лучших альтернатив в сегменте до 30р еще нужно поискать...

    Мой рейтинг мониторов такой:
    DELL P2416D - есть денег нет.
    DELL P2415Q - если денег почти нет.
    DELL UP2715K - если деньги есть.

    Ну и самое главное, не забываем про видео-карту, ибо более 2560x1600 разрешение НЕ всякая нормально потянет.
    Ответ написан
  • Почему не работает доступ к общим папкам в Windows через VPN?

    @koronabora
    Человек
    Поднимите level2 туннель на open vpn, либо необходимо настроить wins сервер.
    Ответ написан
    Комментировать
  • Существуют ли кастомные прошивки для андроид-смартфонов с только телефонным и sms функционалом?

    @AlexLIn
    Могу вот такой посоветовать.
    Батарейку почти не жрет.
    Есть телефон и смс аппы.
    Почти не возможно убить. Но им убить можно.
    416Q02GR0ZL.jpg
    Ответ написан
    2 комментария
  • Интересен ли плеер с интеллектуальным Shuffle для PC и в будущем Android?

    @delphikettle
    Программирую в свободное от учёбы время
    Кончено, интересен. Особенно на Android.
    Ответ написан
    5 комментариев
  • Интересен ли плеер с интеллектуальным Shuffle для PC и в будущем Android?

    @ubuntuman
    Beginner developer
    Попробуйте ради интереса выложить его на Github, а заодно протестировать его на паре знакомых меломанов. Так, что бы точно удостовериться в успехе. А вообще, думаю, идея интересная.
    Ответ написан
  • Носят ли костюмы программисты в IBM?

    opium
    @opium
    Просто люблю качественно работать
    У меня друг там работает в финансовом департаменте всегда просто одет, в обед ходит на часок в качалку в офисе, вечно мне видюшки шлет как штангу качает 8)
    Ответ написан
    1 комментарий