Задать вопрос
  • Что нужно сделать, что бы ipset после reboot сервера сохранял сеты?

    @xbox
    Простое и рабочее решение, развивая совет "Max_rip".

    "Max_rip" дал отличный совет "/etc/init.d/iptables-persistent, Добавит туда ipset save / ipset restore ". Только из-за того, что в слове "добавит" пропущен мягкий знак смысл его при первом прочтении теряется и кажется, что /etc/init.d/iptables-persistent должен все автоматически делать. Я попробовал - автоматически не получается. iptables-persistent сохраняет настройки iptables, но без напильника не сохраняет сеты ipset.

    Вот что имелось ввиду в совете и то, что мне помогло:

    Для начала должен быть установлен пакет iptables-persistent. На Debian устанавливаем так
    apt-get install iptables-persistent

    Этот пакет нам позволит сохранять командой из консоли правила IPTABLES. После перезагрузки правила iptables сбрасываться перестанут.

    Далее редактируем скрипт запуска /etc/init.d/iptables-persistent
    Находим секуцию save_rules() и дописываем в нее вначале строку
    ipset save > /etc/ipset.rules
    Это будет сохранять сеты IPSET при каждом сохранении правил iptables с помощью iptables-persistent.

    После этого находим секцию load_rules() и добавляем вначале строку
    ipset restore < /etc/ipset.rules
    Это будет загружать сеты IPSET при каждой загрузке правил iptables с помощью iptables-persistent.

    Этот вариант на мой взгляд самый удобный. Одной командой из консоли cохраняются и правила iptables и сеты Ipset. После перезагрузки правила сохранятся.
    service iptables-persistent save

    Удачи.
    Ответ написан
    Комментировать
  • Как сохранить правила iptables после перезагрузки Ubuntu?

    EKrava
    @EKrava
    в debian и ubuntu добавили пакет iptables-persistent
    который использует iptables-save/iptables-restore

    #service iptables-persistent
    Usage: /etc/init.d/iptables-persistent {start|restart|reload|force-reload|save|flush}

    после настройки правил как нужно, сделать service iptables-persistent save и при следующей загрузке они будут применены
    Ответ написан
    4 комментария
  • Каков базовый набор flat цветов веб- программистов и дизайнеров?

    0neS
    @0neS
    designmodo.github.io/Flat-UI
    + эти:
    @app-themed-default: #1bbae1;
    @app-themed-dark-default: #394263;
    @app-themed-night: #888888;
    @app-themed-dark-night: #333333;
    @app-themed-amethyst: #af64cc;
    @app-themed-dark-amethyst: #583a63;
    @app-themed-modern: #46b7bf;
    @app-themed-dark-modern: #3b3f40;
    @app-themed-autumn: #e67e22;
    @app-themed-dark-autumn: #4a392b;
    @app-themed-flatie: #1ec1b8;
    @app-themed-dark-flatie: #32323a;
    @app-themed-spring: #27ae60;
    @app-themed-dark-spring: #344a3d;
    @app-themed-fancy: #d9416c;
    @app-themed-dark-fancy: #352b4e;
    @app-themed-fire: #e74c3c;
    @app-themed-dark-fire: #4a2e2b;
    Ответ написан
    3 комментария
  • Какой стек технологий в программировании быстрее всего освоить с нуля?

    AutomationD
    @AutomationD
    Если бы я мог выбирать, я бы выбрал JavaScript, и этому есть объективные причины:
    -За хорошую frontend разработку платят хорошо, а это в 90% случаев JS и HTML
    -Вы не ограничиваете себя backend технологиями и можете переходить из одной компании (или проекта) в другую достаточно легко
    -Западный рынок для вас открыт (с backend php ситуация отличается)
    -Есть прекрасные backend вещи, которые помогут вам при необходимости - NodeJS, MongoDB и т.д, так при необходимости вы напишите продукт с нуля
    -JavaScript очень динамично развивается. Я был в шоке, когда увидел x86 эмулятор!

    Удачи!
    Ответ написан
    Комментировать
  • Какой есть способ проверки полного вхождения одного массива в другой на JavaScript без использования двойного цикла?

    ramntry
    @ramntry
    Если @egor_nullptr вас понял правильно, и вам нужно проверить, что массив b хотя бы в одном экзепляре содержит каждый элемент массива a, то предлагаю такое решение:
    Array.prototype.hasAll = function(a) {
        var hash = this.reduce(function(acc, i) { acc[i] = true; return acc; }, {});
        return a.every(function(i) { return i in hash; });
    };

    По сравнению с решением @egor_nullptr оно асимптотически быстрее: O(n + m) против O(n * m), где n, m - размеры массивов a, b. При n = m = 100 000 на моей машине мой вариант отрабатывает быстрее в 200 раз. Тестировал так.

    Знаете, каков мой опыт разработки на JavaScript? Я программирую на нём 40 минут, в обнимку с JavaScript Reference от Mozilla. Мой основной язык - C++. А вам очень советую добраться-таки до какой-нибудь книжки по алгоритмам и структурам данных (например, до "Introduction to Algorithms". Она есть на русском, лучший перевод, на мой взгляд, от МЦНМО). Это полезно, уверяю вас.
    Ответ написан
    5 комментариев
  • Node.JS детям — возможно или фантастика?

    Dimitriys
    @Dimitriys
    я думаю нет смысла писать в базу, тк Node.js пока запущен будет хранить в памяти, а так к нему есть модули например для mysql
    посмотрите примеры Simple Chat Node.js…
    Детям я думаю будет интереснее показать пример игры крестики нолики на 2 игрока с сервером на Node.js
    Преимущества: написали функцию проверки на замыкание 3х в ряд в браузере… и 1:1 скопировали в Node.js что бы и на сервере проверялось
    Ответ написан
    6 комментариев