• Простой пример одного и того же кода в ООП, функциональном и процедурном стиле?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    (Все это дико не академично, не корректно и воообще, но должно быть понятно):

    Процедурный подход: есть последовательность команд. Каждая из них может содержать последовательность команд.
    возьми_кофемашину();
    налей_воды_в_кофемашину();
    нажми_кнопку();
    подставь_кружку();
    вылей_кофе_в_кружку();
    наслаждайся();


    ФП - акцент на действии. Одни действия влекут за собой другие.
    наслаждайся(
        своим_кофе(
            которое_сделала_кофемашина(
                в_которую_налили_воды())))


    ООП - акцент на объектах. Любое действие совершает конкретный предмет
    есть кофемашина;
    есть кружка;
    есть ты;
    
    ты.имеешь(кружку)
    кофемашина.имеет(кружку)
    кофемашина.поехали();
    ты.возьми_свою_кружку();
    ты.наслаждайся();
    Ответ написан
    2 комментария
  • Какого VoIP-провайдера в Великобритании посоветуете, чтобы мог выставлять счёт за услуги юрлицу?

    ipswitch
    @ipswitch
    IT-инженер
    Для начала можно снять британский номер без юр.лица вот здесь:
    https://bit.ly/2z9ZhHq
    Оплатить картой на сайте или любым другим способом.
    Ну вот у Вас и появится на первое время рабочий номер, чтобы спокойно искать компанию с оплатой по безналу от юр.лица и выставлять счета. Дело такое, бюрократизированное.

    А пока хоть работать сможете.
    Ответ написан
    1 комментарий
  • Атака на мой бедный микротик через ssh- это боты или кому то мой бедный роутер понадобился?

    @moneron89
    Сертифицированный тренер Mikrotik
    Я могу посоветовать использовать следующую цепочку в файерволе:
    /ip firewall filter
    
    add action=jump chain=input comment="sshbruteforces chain" connection-state=\
        new dst-port=22 jump-target=sshbruteforces protocol=tcp
    add action=drop chain=sshbruteforces comment="drop ssh brute forcers" \
        src-address-list=ssh_blacklist
    add action=add-src-to-address-list address-list=ssh_blacklist \
        address-list-timeout=1w3d chain=sshbruteforces connection-state=new \
        src-address-list=ssh_stage3
    add action=add-src-to-address-list address-list=ssh_stage3 \
        address-list-timeout=1m chain=sshbruteforces connection-state=new \
        src-address-list=ssh_stage2
    add action=add-src-to-address-list address-list=ssh_stage2 \
        address-list-timeout=1m chain=sshbruteforces connection-state=new \
        src-address-list=ssh_stage1
    add action=add-src-to-address-list address-list=ssh_stage1 \
        address-list-timeout=1m chain=sshbruteforces connection-state=new
    add chain=sshbruteforces dst-port=22 protocol=tcp
    add action=drop chain=forward comment="drop ssh brute downstream" disabled=\
        no dst-port=22 protocol=tcp src-address-list=ssh_blacklist
    add chain=sshbruteforces dst-port=22 protocol=tcp connection-state=new
    add action=drop chain=forward comment="drop ssh brute downstream" dst-port=22 \
        protocol=tcp src-address-list=ssh_blacklist

    Ко мне тоже постоянно ломятся, это ботнет. Первое правило разместите над запрещающим input правилом. Остальные - неважно куда, на них будет произведён jump (это снижает нагрузку на процессор). Работает так: если в течение минуты с одного IP производится более 3х попыток входа - данный IP блокируется на 10 дней.
    Данная цепочка подходит тем, кто не хочет менять стандартный порт SSH и нуждается в доступе с любого ip-адреса. Так же можно настроить port-knocking, но это немного сложнее, приходится использовать дополнительный софт
    UPDATED Немного обновил и оптимизировал цепочку. Суть осталась прежней
    Ответ написан
    8 комментариев
  • Как настроить NAT loopback на Mikrotik без конкретного указания внешнего адреса?

    @Stealth13
    А я опытом поделиться хотел.
    Задачка была, наверное, банальная: надо было сделать проброс портов на Микротике на внутренние ресурсы сети, но так, чтобы на эти внутренние ресурсы сети можно было заходить по интернетовскому доменному имени Микротика как из интернета, так и внутри сети. Обычный проброс портов "в лоб" работает только для обращений из интернета. При обращении внутри локальной сети по внешнему доменному имени получаем обломс. В интернетах нашлось 2 решения: одно - прописать на DNS Микротика "Static DNS" domain.name -> Внутренний_IP_адрес_ресурса, и тогда все обращения по доменному имени внутри сети будут направляться на этот внутренний ресурс. Но это не подходит, когда внутренних ресурсов несколько, а не один, ведь "Static DNS" мы можем написать только для одного ресурса. Второе решение - Hairpin NAT, описанное в Wiki wiki.mikrotik.com/wiki/Hairpin_NAT . Однако с ним тоже проблемы, если внешний IP адрес является динамическим и часто меняется (с доменным именем от dyndns, например). В Hairpin NAT, описанном в Wiki, в правилах NAT необходимо указывать внешний IP, что неприемлемо, когда он часто меняется. Поразмыслив, я придумал следующее "идеальное" решение, объединившее оба способа в один:

    /ip dns static
    add address=192.168.88.1 name=myname.dyndns.org

    /ip firewall nat
    add action=masquerade chain=srcnat comment="defconf: masquerade" out-interface=ether1-gateway (это стандартный маскарадинг, обычно присутствующий в конфигурации по умолчанию)

    add action=dst-nat chain=dstnat comment=RDP dst-address-type=local dst-port=3389 protocol=tcp to-addresses=192.168.88.2
    add action=masquerade chain=srcnat dst-address=192.168.88.2 dst-port=3389 out-interface=bridge-local protocol=tcp src-address=192.168.88.0/24
    (по 2 таких строчки на каждый порт-форвардинг)

    Т.е. прописываем в статический DNS сопоставление доменному имени внутреннего IP адреса роутера (а не внутреннего ресурса!). Любой клиент внутри сети будет попадать на роутер по доменному имени.
    Прописываем по 2 правила для каждого форвардинга - одно для маппинга, второе для маскарадинга. Таким образом мы избавляемся от необходимости непременно указывать внешний IP адрес в правилах NAT, который у нас часто меняется.

    Такой подход проверен и успешно работает в моей сети. Он более универсален, чем описанные ранее, поэтому я решил поделиться опытом, может кому пригодится.
    Ответ написан
    2 комментария
  • Hetzner шлет письма с жалобой на сервер?

    AxianLTD
    @AxianLTD
    Правильно пишут. Закройте порты NetBIOS снаружи, вы все равно ими скорее всего не пользуетесь. А бомбить вас через них будут. А если разбомбят или окажется что ваш сервер участвует в "reflection attack", то по правилам у вас просто отключат сервер.
    Ответ написан
    Комментировать
  • Что нужно знать системному администратору чтобы обслуживать небольшой сервер в офисе?

    Adamos
    @Adamos
    Методичка "сам себе курсы".
    0. Определяешь круг своих непосредственных обязанностей.
    1. Составляешь список - что тебе надо / хотелось бы сделать, и что из этого ты не знаешь, как делать.
    2. Гуглишь рецепты - 90% админской работы подробнейше разжеваны в интернете.
    3. Применяешь обретенное на практике, бьешься головой о грабли, получаешь опыт.
    4. Возвращаешься к п. 1.

    А "небесного инструктажа", после которого ты будешь все знать и все понимать, ни на каких курсах нет и быть не может.
    IT-специалист - это не тот, кого научили. Это тот, кто научился.
    Ответ написан
    7 комментариев
  • Возможна ли переадресация с Мультифон (мегафон) на SIP?

    @NortH21
    Стандартными настройками чего?
    Стандартными средствами Мультифона можно выбрать куда будет идти вызовы
    1) SIM
    2) SIP
    3) SIM + SIP
    Стандартными средствами Мегафона можно поставить переадресацию на обычные номера
    Ответ написан
    3 комментария
  • Как установить битрикс на чистый сервер?

    kolossradosskiy
    @kolossradosskiy
    Битрикс ставится из веб-окружения, запуском в консоли одного лишь скрипта
    wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh   
    chmod +x bitrix-env.sh  
    ./bitrix-env.sh

    В мане все описано.
    Ответ написан
    3 комментария
  • Как подключить блок ип адресов?

    alsopub
    @alsopub
    У вас и есть 1 адрес.
    Из четырех адресов - один broadcast, один gateway, один "нулевой" подсеть, один ваш (пользовательский).

    UPD. Вы хотите убрать ADSL модем? Вы это не сможете сделать - это вам не роутер для проводного интернета - это модем.
    Ответ написан
    2 комментария