*Автор - один из немногих людей, которые объясняют доступно и понятно. Спасибо!*
@AlexAlexis20122 жыл бұрын
Лучшая из тех коротких обучалок , которые я до сих пор видел....Стиль изложения логичный , лаконичный и системный.
@site_support2 жыл бұрын
Спасибо!
@for21652 жыл бұрын
Николай как ваш ученик на платформе Geekbrains,могу сказать что вы большой молодец,доступно рассказываете👏
@DmitryTsarev Жыл бұрын
Отличное вводное видео, просто, чётко и понятно. Только на 27:23 некорректно про DROP и REJECT. Как раз DROP пакета показывает наличие файрвола. В общем случае, при отсутствии iptables или другого файрвола, при получении пакета на порт на котором ничего нет, ответ должен / будет отправлен в любом случае, и на другом уровне (пакет с reset на уровне TCP, см. RFC 793) DROP же это поведение меняет и пакет не отправит, так что REJECT (с --reject-with tcp-reset) как раз эмулирует поведение незащищённого порта без файрвола и без какого-либо сервиса, слушающего на этом порту, а вот DROP показывает наличие файрвола, блокирующего порт. В целом, насчёт DROP vs REJECT есть разные мнения для разных ситуаций, просто по видео может сложиться однобокое мнение по этому вопросу, поэтому уточнил. А так супер, как и вообще канал.
@oneshotov89102 ай бұрын
Очень полезная и доходчивая информация, премного благодарен 🙂
@mariabrest2 жыл бұрын
Супер!!! Жалко только не сказали как командой удилить правило . Но это мелочь. Ну и небольшой конспект от меня. Посмотреть информацию о фильтрах iptables -L -nv Посмотреть информацию о NAT iptables -t nat -L -nv Список адресов:портов которые слушают ss -ntulp Посмотреть какие подключены интерфейсы ip a Разрешили подключение по SSH iptables -A INPUT -p tcp --dport=22 -j ACCEPT Разрешили входящий трафик по loopback iptables -A INPUT -i lo -j ACCEPT Разрешили ping iptables -A INPUT -p icmp -j ACCEPT Разрешили подключение по http iptables -A INPUT -p tcp --dport=80 -j ACCEPT Разрешили подключение по https iptables -A INPUT -p tcp --dport=443 -j ACCEPT Разрешаем все пакеты которые приходят в качестве ответа iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Всё остальное запретить. Политика. iptables -p INPUT DROP Сохранить(м.б. выгрузить) все настройки в файл iptables-save > ./iptables.rules Восстановить настройки из файла iptables-restore < ./iptables.rules Заблокировать по IP iptables -I INPUT -s 209.175.153.23 -j DROP Пакеты для сохранения, автоматической загрузки правил фаервола apt install iptables-persistent netfilter-persistent Сохранение правил netfilter-persistent save Запуск правил netfilter-persistent start Разрешить ssh по конкретному интерфейсу iptables -A INPUT -i enp0s3 -p tcp --dport 22 -j ACCEPT
@site_support2 жыл бұрын
Да, удалить правило можно через iptables -D и дальше все его параметры или указать номер правила. Например: iptables -D OUTPUT -o eth0 -p TCP --sport 22 -j ACCEPT или iptables -D INPUT 3
@mariabrest2 жыл бұрын
@@site_support о, спасибо, про удаление по номеру кстати не знал.
@rinocerus97912 жыл бұрын
@@mariabrest Кстати, вывести правила с номерами в начале строк можно так: iptables -vnL --line-numbers
@yuritemiraev275911 ай бұрын
Запрет пакетов по умолчанию должен быть с параметром "-P" (--policy), а не "-p" (--protocol)
@DonorOfHappiness6 ай бұрын
Это очень хороший ролик. Прежде всего нет воды, узнал целый ряд деталей, которые были непонятны с прохождения моего платного курса. Все последовательно и ясно. Лайк и подписка.
@Denis-mt9gx2 жыл бұрын
Добрый. PING не проходил на сервер. привел команду к такому виду. iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT. Всё заработало. Спасибо за видео.
@RuzalMW Жыл бұрын
Спасибо за столь лаконичный ликбез! Четко и без воды
@sa6kad3 жыл бұрын
Просто и понятно, спасибо. Давайте ещё про iptables, особенно про forward и nat
@site_support3 жыл бұрын
Хорошо, сделаем!
@georgiy_kulagin Жыл бұрын
Господи, это крайне прекрасно поданный и изложенный материал. Самое то освежить в памяти основные концепции или подготовиться к интервью) Спасибо большое! P.S. Подписался в надежде послушать когда-нибудь в подобном изложении про nftables и ipvs.
@ProoksiusSvaagali9 ай бұрын
Очень доступно и понятно, большое спасибо за ролик. Нашел для себя много интересного на канале, буду смотреть.
@Kuvaldis19839 ай бұрын
Спасибо! Очень понятно, слушается приятно, и СИСТЕМНО! ОДнозначно ЛАЙК!)
@Дмитрий-щ4н2ь3 жыл бұрын
Очень доходчиво, спасибо.
@egorgorbachev3 жыл бұрын
поддерживаю
@reiron9857 Жыл бұрын
Большое спасибо за обучалку. Было интересно и полезно!
@RomanRime2 жыл бұрын
Рассказано легко и просто для освоения. Спасибо за проделанную работу.
@fourdogs3438 Жыл бұрын
Спасибо, крайне полезно провел 39 минут! Прям зашло видео для меня!
@TheDarGad2 ай бұрын
За упрощенную таблицу отдельная благодарность!
@cubeaccerman6974 Жыл бұрын
Классный дядька! объясняет очень понятно
@bekasovme2 жыл бұрын
Спасибо Вам за проделанную работу. Просто отличное видео. Все доходчиво объяснено.
@unit33012 жыл бұрын
Легче, чем кажется при первом гуглении, спасибо
@NatureFitSport3 жыл бұрын
Спасибо, благодаря тебе только и понял как работать с iptables
@volodyanoy8 ай бұрын
Грамотная, приятная речь. Способ подачи материала - отличный! Спасибо Вам!
@alexricher25542 жыл бұрын
Для новичков самое то, очень чётко изложено и без лишней воды. Спасибо!
@doszhanm6936 Жыл бұрын
не заметил как пролетело 40 мин. отличное видео!
@Promvv Жыл бұрын
Очень хорошее объяснение, спасибо автору)
@ЕвгенийХодченков-у4ю2 жыл бұрын
Спасибо, все очень подробно и понятно. В из этого видео я унал все что хотел знать.
@maksimbelik22443 жыл бұрын
Спасибо большое, начал больше понимать. Еще бы видео где рассказывается про таблицу mangle как её использовать
@site_support3 жыл бұрын
Спасибо, что смотрите, про mangle сделаем видео позже.
@andreyandreyovich54546 ай бұрын
Спасибо, все четко и понятно, просмотрел на кодклауд серию, но все в кашу смешалось)
@don_Amo-v9e3 ай бұрын
Очень круто рассказал, мне зашло идеально))))
@sandrzei5 ай бұрын
Автору - огромное спасибо!
@annakartsova17162 жыл бұрын
Отличное видео, все понятно, смотреть и слушать одно удовольствие! Спасибо)
@GWYW19892 жыл бұрын
Всё чётко и по делу, никакой воды.
@artorios51923 ай бұрын
Спасибо! Классная информация!
@r9odj7812 жыл бұрын
Отличное видео по iptables, спасибо!
@StayinAlive_ Жыл бұрын
Спасибо огромное, 10/10
@АнтонБ-х9у Жыл бұрын
Насчёт включения правил - можно подстраховатся и выполнить две команды через sleep, первая команда добавляет правило, вторая отменяет его. Пример >> echo "one" && sleep 20 && echo "two" Если всё впорядке, то тогда применяем правило уже окончательно.
@dmitry027 Жыл бұрын
Спасибо, всё по делу.
@dmitriygilyov3522 жыл бұрын
очень круто, лучшее объяснение по iptables
@site_support2 жыл бұрын
Спасибо!
@ДенисГорелов-х7у Жыл бұрын
спасибо! отлично обьясняете!
@pomka21542 жыл бұрын
Спасибо ты лучший, очень помог!
@ТаджикТаджиковичанович3 жыл бұрын
Хорошо объяснено, хотелось бы увидеть продолжение для локальных сетей и другой тонкой настройки
@site_support3 жыл бұрын
А что именно для локальных сетей интересует?
@ТаджикТаджиковичанович3 жыл бұрын
@@site_support например настройка локальной сети с несколькими подсетями и различным оборудованием, например, принтерами с ограничением доступа к определенному оборудованию из определенной подсети
@semibiotic2 жыл бұрын
27:17 Тут присутствует небольшое когнитивное искажение. REJECT, отвечая, эмулирует закрытый (т.е. неиспользуемый) порт, скрывая, таким образом, наличие сервиса и файрвола, а DROP (на фоне ping-ов и других отвечающих портов) подчеркивает, что мы блокируем данный порт, и на нем, вероятно, запущен какой-то сервис. Это можно проиллюстрировать с помощью nmap(8). Для REJECT он покажет, что порт закрыт ("closed", то есть не используется), так же, как если бы сервис не был запущен, а для DROP - что заблокирован ("filtered").
@semibiotic2 жыл бұрын
Разумеется, REJECT не требуется и даже будет вреден, если DROP используется по умолчанию или если мы прячем сервер от всего, включая пинги.
@DmitryTsarev Жыл бұрын
Всё так, тоже обратил внимание, что на видео неправильно объяснён этот момент. Насчёт REJECT vs DROP есть разные мнения и у обоих подходов свои + и -, а на видео как-то однозначно в пользу DROP посыл.
@cyber-sec78322 жыл бұрын
Спасибо друг! Некоторые моменты сложные, но интересно и полезно! Больше тем по безопасности =)
@dimachen862 жыл бұрын
Отличное видео. Спасибо. Хотелось бы еще увидеть как дебажить запросы. Что происходит с конкретным запросом пока он попадет к службе.
@site_support2 жыл бұрын
Какие запросы вы имеете в виду?
@aquecola2 жыл бұрын
Шикарный гайд!
@erics83623 жыл бұрын
Спасибо, доходчиво. Хотелось бы примеры использования iptables для ограничения доступа vpn клиентов к конкретным сетям/айпишникам
@Maximmall Жыл бұрын
vpn создает интерфейсы. В частности традиционно Wireguard создает интерфейс wg0, так же как, например, ens33 или eth0. И соответственно все эти правила пишутся для этого интерфейса. Тут нет какой-то особенности. Все тоже самое. Либо без указания интерфейса - по умолчанию - для всех, либо для конкретного интерфейса.
@fedor_ado3 жыл бұрын
Спасибо.
@eduardmart12373 жыл бұрын
И можете сделать какие нибудь сложные примеры с редиректом, nat и т.д.
@NickLavlinsky3 жыл бұрын
Можем!
@nihi1ist690 Жыл бұрын
Отличный материал. Было бы замечательно, если рассмотрите возможность сделать что-то похожее, но про nftables.
@site_support11 ай бұрын
Уже есть, на этом канале.
@amalexey2 жыл бұрын
Про мангл и "прыжки" расскажите, пожалуйста с примерами, как всегда, было бы очень интересно
@site_support2 жыл бұрын
А что вас конкретно интересует?
@andreysakharov62103 жыл бұрын
Отличный контетн, спасибо! Я то по должности разработчик, так что я мамкин администратор. Но тема захватывает. Возник такой вопрос. Сталкивался с руководствами, в который нежелательный траффик отсекали при помощи UFW. Предполагаю что проблему они решают на несколько разных уровнях. Нужно ли эти инструменты использовать совместно? Или вы посоветуете остановиться на чем то одном?
@site_support3 жыл бұрын
UFW это всего лишь прокладка перед iptables, лучше сразу изучайте iptables, будет намного полезнее.
@andreysakharov62103 жыл бұрын
@@site_support понял вас, спасибо
@СергейЕфимов-ц4в Жыл бұрын
Жаль что в этом видео не рассказали про удаление и как нужно двигать правило вверх вниз. Спасибо за ваше полезное видео
@site_support11 ай бұрын
Удаление IPTABLES -D, а двигать правила нельзя.
@eFFecTzz56 Жыл бұрын
Приветствую, вопрос как мне настроить приоритет интерфейсов, например есть два рабочих интерфейса с выходом в интернет, мне надо чтобы трафик ходил всегда по первому интерфейсу, но если первый интерфейс отваливается, то мне надо чтобы трафик ходил по второму. Спасибо
@ivanburich49222 жыл бұрын
Всем привет, для чего нужен, -A INPUT -i lo -j ACCEPT ?
@r9odj7812 жыл бұрын
Добрый день! Разрешить все входящие пакеты на интерфейс loopback. Это как localhost в windows.
@Zush13372 ай бұрын
спасибо!
@studioavangardsakha8711 Жыл бұрын
Освежил утерянные в рутине потока времени знания) щас пойду применять на "боевой" сервер 😅
@rinocerus97913 жыл бұрын
Спасибо, упорядочилось. А по nftables будет? Не пора ли на него переходить?
@site_support3 жыл бұрын
Возможно, будет. Пока не вижу тенденции перехода на него.
@pavelkryachko3 жыл бұрын
Ещё не встречал такой задачи с которой не справился бы iptables.
@АндрейДуровин2 жыл бұрын
Спасибо за объяснение по iptables. А можете подсказать как блокировать пул ip c помощью ipset. Например если есть списки CIDR
@site_support2 жыл бұрын
Да, легко. Делается ipset, а потом правило. Вот здесь есть все примеры: wiki.archlinux.org/title/Ipset
@suomynonaanonim441411 ай бұрын
Присоединюсь к остальным - отличный урок для начинающих! Вопрос: есть ли у вас уроки по настройке QoS с помощью iptables+iproute2 на Debian/Ubuntu? Сколько не рыл - ничего не могу найти.
@site_support8 ай бұрын
Такого нет, но в своё время пытался настраивать QoS и шейпинг с помощью TC. Довольно сложно и муторно.
@reloac2 жыл бұрын
Народная примета. Играешь с фаерволом на сервере в ЦОДе, это к дороге.
@site_support2 жыл бұрын
Да, если нет KVM.
@reloac2 жыл бұрын
@@site_support Да этой шутке лет 20, тогда никаких KVM не было.
@mercurykd Жыл бұрын
про ipset у вас есть?
@step727511 ай бұрын
День добрый коллеги , вопрос такой , вот мы тут прописываем эти правила , но при ребуте не слетят эти правила т к они добавлены но не записаны в конфигах , кто то это разбирал ? или же они сразу же прописавыються в конфигах и почему их сразу в файл не записать ???
@Dmitrii_NY11 ай бұрын
ответ с 29 минуты >>>
@viktorkorovin27762 жыл бұрын
Спасибо самое понятное обьяснение на канале, простите за вопрос - можно сделать видео ИМЕННО для простого ПК (НЕ СЕРВЕРНОГО) и как пример сделайте настройку iptables по максимуму что бы DROP БЫЛ ДЛЯ входящих и ИМЕННО для исходящих - то есть по глобальным правилам все закрыть ,но что бы работали программы которые уже стоят - поскольку в сети нет нормальной настройки именно для (простого ПК (НЕ СЕРВЕРНОГО) - для дилетанта не понятно то что есть в сети - скрипты и тд - ПОЖАЛУЙСТА сделайте такое видео
@site_support2 жыл бұрын
Если у вас Ubuntu, просто поставьте ufw и не парьтесь. Если у вас простой ПК, то он и без файрвола вполне нормально будет себя чувствовать.
@viktorkorovin27762 жыл бұрын
@@site_support Спасибо но как то хочется по максимуму все сделать -)
@LeoPlus Жыл бұрын
31:28 про -I
@linuxlifepage Жыл бұрын
33:20 можно было ставить только iptables-persistent, так как второй пакет идет зависимостью
@mkonin4 ай бұрын
Привет ) я из 2к24 ))) помогло
@vladk9512 Жыл бұрын
сохранил после перезагрузки правило сбрасывается
@eduardmart12373 жыл бұрын
А можете сделать гайд по настройке nat
@NickLavlinsky3 жыл бұрын
Можем!
@PavelElzateev-j7i9 ай бұрын
спасибо
@Alexander-mj3jk10 ай бұрын
а кто и когда решает, куда пойдет пакет - в приложения или в интерфейс? И по каким признакам принимается решение
@site_support8 ай бұрын
По таблице маршрутизации и адресам в пакете.
@eduardmart12373 жыл бұрын
А это все на CPU обрабатывается или сетевая карта может делать часть работы?
@NickLavlinsky3 жыл бұрын
Это на CPU.
@pavelkryachko3 жыл бұрын
Почему Вы считаете что iptables не может работать самостоятельно?
@NickLavlinsky3 жыл бұрын
Что значит "самостоятельно"?
@pavelkryachko3 жыл бұрын
@@NickLavlinsky Вы в конце netfilter зачем то использовали. Как вводный урок - отлично!
@nspr8995 ай бұрын
"Волшебный рубильник" - это shutdown -r +5
@demmiurge8568 Жыл бұрын
не проще ввести один раз sudo -i?
@site_support11 ай бұрын
Можно еще sudo su.
@rinocerus97913 жыл бұрын
У меня дедик (на debian 9) падал после команды iptables -F Ни у кого такого не случалось?
@site_support3 жыл бұрын
Он не падал, скорее всего политика стояла на DROP, и весь трафик порезался.
@BraddPitt-t7f4 ай бұрын
для знакомства прям оченьхорошо
@Andrey-mo9qp Жыл бұрын
хм... Перестали резолвиться днс-запросы. Чего не зватает?
@site_support Жыл бұрын
Очевидно, правил. Скорее всего с related, established.
@Andrey-mo9qp Жыл бұрын
@@site_support спасибо за внимание. Правила: iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT (при этом ping по ip-адресам проходит) и даже iptables -A INPUT -p udp --sport=53 -j ACCEPT не решают проблему А вот такое, случайно обнаруженное: iptables -A INPUT -p udp --dport=53 -j ACCEPT проблему решает, но почему, не понятно. Может проблема в Docker ?
@XPERT518 Жыл бұрын
После обновления убунты? Они много что поломали, по сравнению например с версией 14. Там теперь настройка немного иначе, фаерволл не причем.
@MrRezonn76 ай бұрын
Что-то понятное начинается с 11 мин. Где комп, где роутер, где схема сети на которой происходит работа? Может программу запустить типа браузера чтобы показывать что сеть работает
@site_support2 ай бұрын
Сеть можно прекрасно проверить без браузера.
@АлексАг-ж6ы Жыл бұрын
Эх еще бы логирование событий iptables добавить и совсем бы огонь было.
@ЕвгенийСавинов-з5р2 жыл бұрын
Не корректная картинка, postrouting работает и для пакетов которые приходят самому серверу и для пакетов не для него. На картинке показано как будто postrouting только для пакетов предназначенных не для сервера
@site_support2 жыл бұрын
В чем именно некорректная? Для входящих пакетов на хост POSTROUTING не применяется. Эта цепочка стоит на пути исходящих пакетов.
@АлександрКурынов-в3ъ Жыл бұрын
продолжение про фаерволлы
@kirosavaus61672 жыл бұрын
+
@soul_resistent Жыл бұрын
root@box:~# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables: No chain/target/match by that name. в чём проюлема? сервер VPS ubuntu 22.04 соответсвенно сервер не может устанавливать соединения с другими
@site_support11 ай бұрын
Правило корректное, должно работать. Может у вас уже используется nftables? Проверьте nft list ruleset.
@prurieure775 Жыл бұрын
почему бы сразу не объяснять что такое -L -nv и так далее
@MineSurv442 жыл бұрын
/sbin/iptables-save?
@site_support2 жыл бұрын
В нормальных системах полный путь для команды не требуется.
@Yaroslav_Sergeevich9 ай бұрын
а можешь подсказать как поставить защиту на сервер чтобы к примеру можно было зайти на него только с определенных ip. Ну например 21 и 22 порт закріть для всех кто не всписке исключений. но при 80 и 443 что бы не затрагивать так как там сайты для клиетов )
@site_support8 ай бұрын
Поставить в правиле для SSH -s IP
@Yaroslav_Sergeevich8 ай бұрын
@@site_support напиши пожалуйста пару команд что бы добавить и после убрать их. добавление и удаление ip. ну и я так понимаю какая то общая команда еще должна быть . На сегодня вот такую штуку пробовал. 1. Сперва установить iptables sudo yum install iptables 2. Проверка установки rpm -q iptables 3. Очищаем текущие правила sudo iptables -F" 4. Создайте папку iptables в каталоге /etc: sudo mkdir /etc/iptables Создайте файл rules.v4 в этой папке: sudo touch /etc/iptables/rules.v4 5. Разрешаем доступ к порту SSH (порт 22) только с определенных IP-адресов sudo iptables -A INPUT -p tcp --dport 22 -s мой ip1 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -s мой ip2 -j ACCEPT 6. Блокируем доступ к порту SSH со всех остальных IP-адресов sudo iptables -A INPUT -p tcp --dport 22 -j DROP 7. Сохраняем правила iptables sudo iptables-save > /etc/iptables/rules.v4 8. Перезапускаем Сервер reboot Но это то что с GPT сами на коленке придумали ))) Можешь подсказать правильную схему данного процесса. От А до Я какдолжно быть ну что бы без особых еще заморочек. Что бы просто и понятно было )))