Спасибо за материал. Кстати, чтобы постоянно смотреть обновленные правила необязательно писать скрипт. Есть отличная команда watch. Т.е. watch -n 1 'nft list ruleset' будет делать тоже что и ваш скрипт.
Это если дефолтные 2 секунды чем-то не устраивают и непременно 1с надо. По мне так и вовсе watch nft list ruleset хорошо. Без всяких кавычек, чмодов и бессмысленного скриптописания.
Очень верно замечено, только смысл ролика был не в днсе а в настройках фаервола, юдп используется от клиентского запроса, а слэйв обращается к мастеру только по тспшному порту, спасибо за комментарий)
Добрый вечер, еще один вопрос интерисует: Если на output (изходящие) ставить drop, то что нужно открыть что бы система нормально функционировала. Правильно ли будет ставить на OUTPUT такие правило, и достаточноли этого если правильно: nft add rule ip filter OUTPUT ct state invalid counter drop nft add rule ip filter OUTPUT ct state established counter accept nft add rule ip filter OUTPUT counter drop Хотя помню что то что большими буквами это всего лишь имя, и тогда получается что это дубликация что и в инпуте. Или для output будет правильней в таблице поставить дроп, если да то опять тот-же вопрос, что нужно тогда открыть, какие правила вписать для нормального функционирования системы? Помню когда я в iptables на output ставил дроп то сеть перестовала работать, а огда делал это через gufw то все норм. Подскажите пожалуйста
Здраствуйте, все работает)) Позволите пару вопросов по существу: 1) Можноли дабовлять фильтрацию по мак адресу для 80,443,53 портов или это через чур. Или всетаки будет более безопасным и ни лишним. 2) Как лудше сделать и большая ли разница: В таблице инпупт сразу поставить drop Или лудше в конце поставить: nft add rule ip filter INPUT counter drop
Здравствуйте. То что вы показали с файлом это не работает и ломает полностью nftables. Потом просто пишет консоль nft нет такой команды. И в 2023 Debian 12 этот скрипт как вы показали не работает .
Еще один вопрос забыл написать, по поводу ipv6 Если мы указывает правила на ipv4 то ipv6 по умолчанию порты будут открыты, верно? Если это так: то получается конце правил ipv4 нужно добавить еще одну таблицу для ipv6 только с уже везде с drop?
Здраствуйте, подача очень хорошая, разжованая и понятная... Благодарю :) Хочу для домашнего компютера настроить компютер максимально безопасно, по этому пару уточнений если позволите. 1) Для домашнего использования lo интерфейс обезательно должен быть открыт или нет. В iptables обычно закрывал. 2) В таблице iptables использовал: iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT Какая команда будет равноссильна в nft ? И нужно ли ее применять? 3) Можете привести пример или варианты* для максимальной безопасности для домашнего пользователя. Предпологаю идельно все порты закрыть как входящие так и исходящие и открыть только нужные порты: tcp 80,443 udp 53 порт для торента и для докера... Как это сделать правильно и правильноли будет так? Будет здорово и многим полезным сделать дополнительное видео, ведь защищать домашние компюторы очень нужно! :) Так же будет замечательно если вы в одельном примере от этого так же по кажите такой пример: Когда нужно что бы на реальной машине небыло интернета только обновление linux системы. А на виртуальной машине было настроено и проброшено так как вы надеюсь покажите в первом примере для домашнего использование. Как это сделать правильно? Буду благодарен за обратную связь
1) интерфейс lo нужно открыть в любом случае, на нем крутятся внутренние сервисы ПК/сервера 2) nft add rule ip filter INPUT ct state related,established counter accept 3) исходящие порты можно все открыть, а вот входящие открывать по необходимости, если на компьютере не запущен вэб сервис то не нужно открыть 80, 443 порты, так же если на компьютере не запущен DNS его тоже не нужно открывать (видео ролик рассчитан для серверных платформ, не для домашних)
Благодарю за обратную связь. Да, понимаю что видео расчитано для серверов, а хотелось бы хоть одно видео для номашнего использования. 1) понял, lo открываем в любом случаии. 2) nft add rule ip filter INPUT ct state related,established counter accept это правило ведь нужно применять для домашнего использования, верно? 3) Понимаю что исходящие порты можно открыть все, но ни обходимоли для большей безопасности.? Если закрыть все-же и Изходящие в таблице, то что нужно открыть из изходящего что бы система работала как надо? Так как помню пробывал закрывать output, но ни смотря на то что в input 80.443 были открыты, сеть ни работала. 4) DNS ведь нужен для обновления системы, без 53 udp система ведь ни будет обновляться... по этому думаю что нужен.
@@KhasanKarabayev извените пожалуйста за без покойство! Ни как ни могу разобраться. Дело в том, что после написания правил в командной строке, после перезагрузки все сбивается по дефолту. Скажите пожалуйста как применить правила, что бы они сохранились после перезагрузки системмы? И второе, что бы каждый раз ни писать правила, можно ли их загузить из готового файла, например nftables.conf Помогите пожалуйста, странно проширстил мануалы но ответа ни нашел, везде все как подкопирку.
Здраствуйте, до сих пор ни осилил это сохранения... Все делаю по пунктикам, ошибок ни каких нету, только почему то сейчас при nft list ruleset правила ни появляются. Если делаю скрипт, в скрипте прописываю правила. Затем название скрипта, и как понимаю после этого должны они перенеститсь правила в rules. (вобщем они должны сконфигурироваться) но этого почему то ни произходит. Это произошло после того как я удалил правила по умолчанию по пути: /usr/sbin/nft Потом заново создал этот файл: touch nft И дал разрешение: chmod 755 nft После того как перезагрузился при попытки просмотреть правила которые создовал "nft list ruleset " правила перестали пояляться... Подскажите пожалуйста, как мне исправить это?
@@KhasanKarabayev Да запущен: postimg.cc/K4ddF6Tk Вроде уже несколько раз пересматривал... Вот создание скрипта: cd /usr/local/bin/ touch firewall chmod 755 firewall -- Написал правила -- # firewall # echo '#!/usr/sbin/nft -f' > /etc/nftables.conf # echo 'flush ruleset' >> /etc/nftables.conf # nft list ruleset >> /etc/nftables.conf Все верно? Просто уже даже н знаю куда смотреть, что бы понять что делаю ни так. Может для nft "/usr/sbin/nft" нужно другое разрешение а ни 755..
@@KhasanKarabayev уже понял что ни нужно было, сечас значит это ни исправить? Если нет тогда загружусь с новой копии, так как делаю это еще на виртуальной машине... Просто подумал что туда загружу свежие правила командой: # nft -s list ruleset >> /usr/sbin/nft А тут вот как оно оказалось.