Тёмный

Настраиваем iptables с нуля 

Поддержка Сайтов :: Метод Лаб
Просмотров 54 тыс.
50% 1

Защита сетевых соединений сейчас просто необходима буквально на каждом устройстве, подключенном к Интернет. Тем более, на сервере. Расскажем и покажем конфигурирование штатного сетевого экрана Linux через интерфейс Iptables.
Этот канал посвящён теме поддержки сайтов: от технических аспектов системного администрирования до вопросов экономической эффективности технологий.
Занимаясь комплексной поддержкой сайтов более 19 лет, мы накопили значительный опыт, которым готовы делиться с помощью наших видео. Так что присоединяйтесь, будет интересно!
Профессиональная поддержка сайтов: www.methodlab.ru/price/suppor...
Тестирование скорости сайтов: xn--80aanaoiczhuihpc.xn--p1ai/
Сервис оптимизации картинок: www.fotorubka.ru/
Группа "Ускорение сайтов" в VK: sitespeedup
Метод Лаб в VK: methodlab

Опубликовано:

 

6 сен 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 123   
@AlexAlexis2012
@AlexAlexis2012 2 года назад
Лучшая из тех коротких обучалок , которые я до сих пор видел....Стиль изложения логичный , лаконичный и системный.
@site_support
@site_support 2 года назад
Спасибо!
@hitpau
@hitpau 5 месяцев назад
*Автор - один из немногих людей, которые объясняют доступно и понятно. Спасибо!*
@for2165
@for2165 Год назад
Николай как ваш ученик на платформе Geekbrains,могу сказать что вы большой молодец,доступно рассказываете👏
@mariabrest
@mariabrest 2 года назад
Супер!!! Жалко только не сказали как командой удилить правило . Но это мелочь. Ну и небольшой конспект от меня. Посмотреть информацию о фильтрах 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_support
@site_support 2 года назад
Да, удалить правило можно через iptables -D и дальше все его параметры или указать номер правила. Например: iptables -D OUTPUT -o eth0 -p TCP --sport 22 -j ACCEPT или iptables -D INPUT 3
@mariabrest
@mariabrest 2 года назад
@@site_support о, спасибо, про удаление по номеру кстати не знал.
@rinocerus9791
@rinocerus9791 Год назад
@@mariabrest Кстати, вывести правила с номерами в начале строк можно так: iptables -vnL --line-numbers
@yuritemiraev2759
@yuritemiraev2759 3 месяца назад
Запрет пакетов по умолчанию должен быть с параметром "-P" (--policy), а не "-p" (--protocol)
@RuzalMW
@RuzalMW Год назад
Спасибо за столь лаконичный ликбез! Четко и без воды
@georgiy_kulagin
@georgiy_kulagin Год назад
Господи, это крайне прекрасно поданный и изложенный материал. Самое то освежить в памяти основные концепции или подготовиться к интервью) Спасибо большое! P.S. Подписался в надежде послушать когда-нибудь в подобном изложении про nftables и ipvs.
@volodyanoy
@volodyanoy 28 дней назад
Грамотная, приятная речь. Способ подачи материала - отличный! Спасибо Вам!
@reiron9857
@reiron9857 9 месяцев назад
Большое спасибо за обучалку. Было интересно и полезно!
@_NoNaMe_27
@_NoNaMe_27 Год назад
В целом всё знал, но для начинающего очень хороший выпуск. Хотелось бы серию выпусков, и про нат и про форвард. Как пробрасывать порты, как перенаправлять порты. Сложного тут тоже ничего нет, но в стиле изложения автором - будет доходчиво.
@RomanRime
@RomanRime Год назад
Рассказано легко и просто для освоения. Спасибо за проделанную работу.
@alexricher2554
@alexricher2554 Год назад
Для новичков самое то, очень чётко изложено и без лишней воды. Спасибо!
@bekasovme
@bekasovme Год назад
Спасибо Вам за проделанную работу. Просто отличное видео. Все доходчиво объяснено.
@user-pv2qt6dh6b
@user-pv2qt6dh6b 2 года назад
Очень доходчиво, спасибо.
@egorgorbachev
@egorgorbachev 2 года назад
поддерживаю
@Promvv
@Promvv 9 месяцев назад
Очень хорошее объяснение, спасибо автору)
@annakartsova1716
@annakartsova1716 2 года назад
Отличное видео, все понятно, смотреть и слушать одно удовольствие! Спасибо)
@NatureFitSport
@NatureFitSport 2 года назад
Спасибо, благодаря тебе только и понял как работать с iptables
@sa6kad
@sa6kad 2 года назад
Просто и понятно, спасибо. Давайте ещё про iptables, особенно про forward и nat
@site_support
@site_support 2 года назад
Хорошо, сделаем!
@GWYW1989
@GWYW1989 2 года назад
Всё чётко и по делу, никакой воды.
@ProoksiusSvaagali
@ProoksiusSvaagali 2 месяца назад
Очень доступно и понятно, большое спасибо за ролик. Нашел для себя много интересного на канале, буду смотреть.
@cyber-sec7832
@cyber-sec7832 2 года назад
Спасибо друг! Некоторые моменты сложные, но интересно и полезно! Больше тем по безопасности =)
@fourdogs3438
@fourdogs3438 7 месяцев назад
Спасибо, крайне полезно провел 39 минут! Прям зашло видео для меня!
@Kuvaldis1983
@Kuvaldis1983 2 месяца назад
Спасибо! Очень понятно, слушается приятно, и СИСТЕМНО! ОДнозначно ЛАЙК!)
@user-we5hn2yi3k
@user-we5hn2yi3k Год назад
Спасибо, все очень подробно и понятно. В из этого видео я унал все что хотел знать.
@Denis-mt9gx
@Denis-mt9gx Год назад
Добрый. PING не проходил на сервер. привел команду к такому виду. iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT. Всё заработало. Спасибо за видео.
@maksimbelik2244
@maksimbelik2244 2 года назад
Спасибо большое, начал больше понимать. Еще бы видео где рассказывается про таблицу mangle как её использовать
@site_support
@site_support 2 года назад
Спасибо, что смотрите, про mangle сделаем видео позже.
@unit3301
@unit3301 Год назад
Легче, чем кажется при первом гуглении, спасибо
@cubeaccerman6974
@cubeaccerman6974 Год назад
Классный дядька! объясняет очень понятно
@r9odj781
@r9odj781 Год назад
Отличное видео по iptables, спасибо!
@pomka2154
@pomka2154 2 года назад
Спасибо ты лучший, очень помог!
@user-xd1su3sk3i
@user-xd1su3sk3i Год назад
Насчёт включения правил - можно подстраховатся и выполнить две команды через sleep, первая команда добавляет правило, вторая отменяет его. Пример >> echo "one" && sleep 20 && echo "two" Если всё впорядке, то тогда применяем правило уже окончательно.
@DmitryTsarev
@DmitryTsarev 11 месяцев назад
Отличное вводное видео, просто, чётко и понятно. Только на 27:23 некорректно про DROP и REJECT. Как раз DROP пакета показывает наличие файрвола. В общем случае, при отсутствии iptables или другого файрвола, при получении пакета на порт на котором ничего нет, ответ должен / будет отправлен в любом случае, и на другом уровне (пакет с reset на уровне TCP, см. RFC 793) DROP же это поведение меняет и пакет не отправит, так что REJECT (с --reject-with tcp-reset) как раз эмулирует поведение незащищённого порта без файрвола и без какого-либо сервиса, слушающего на этом порту, а вот DROP показывает наличие файрвола, блокирующего порт. В целом, насчёт DROP vs REJECT есть разные мнения для разных ситуаций, просто по видео может сложиться однобокое мнение по этому вопросу, поэтому уточнил. А так супер, как и вообще канал.
@dmitriygilyov352
@dmitriygilyov352 2 года назад
очень круто, лучшее объяснение по iptables
@site_support
@site_support 2 года назад
Спасибо!
@fedor_ado
@fedor_ado 2 года назад
Спасибо.
@user-fh6ex1dk6h
@user-fh6ex1dk6h Год назад
спасибо! отлично обьясняете!
@doszhanm6936
@doszhanm6936 9 месяцев назад
не заметил как пролетело 40 мин. отличное видео!
@dmitry027
@dmitry027 Год назад
Спасибо, всё по делу.
@StayinAlive_
@StayinAlive_ 11 месяцев назад
Спасибо огромное, 10/10
@dimachen86
@dimachen86 Год назад
Отличное видео. Спасибо. Хотелось бы еще увидеть как дебажить запросы. Что происходит с конкретным запросом пока он попадет к службе.
@site_support
@site_support Год назад
Какие запросы вы имеете в виду?
@user-qb6rq6vc5l
@user-qb6rq6vc5l 2 года назад
Хорошо объяснено, хотелось бы увидеть продолжение для локальных сетей и другой тонкой настройки
@site_support
@site_support 2 года назад
А что именно для локальных сетей интересует?
@user-qb6rq6vc5l
@user-qb6rq6vc5l 2 года назад
@@site_support например настройка локальной сети с несколькими подсетями и различным оборудованием, например, принтерами с ограничением доступа к определенному оборудованию из определенной подсети
@aquecola
@aquecola Год назад
Шикарный гайд!
@nihi1ist690
@nihi1ist690 9 месяцев назад
Отличный материал. Было бы замечательно, если рассмотрите возможность сделать что-то похожее, но про nftables.
@site_support
@site_support 4 месяца назад
Уже есть, на этом канале.
@erics8362
@erics8362 2 года назад
Спасибо, доходчиво. Хотелось бы примеры использования iptables для ограничения доступа vpn клиентов к конкретным сетям/айпишникам
@Maximmall
@Maximmall Год назад
vpn создает интерфейсы. В частности традиционно Wireguard создает интерфейс wg0, так же как, например, ens33 или eth0. И соответственно все эти правила пишутся для этого интерфейса. Тут нет какой-то особенности. Все тоже самое. Либо без указания интерфейса - по умолчанию - для всех, либо для конкретного интерфейса.
@user-ym9kv4dt6p
@user-ym9kv4dt6p Месяц назад
спасибо
@studioavangardsakha8711
@studioavangardsakha8711 7 месяцев назад
Освежил утерянные в рутине потока времени знания) щас пойду применять на "боевой" сервер 😅
@amalexey
@amalexey 2 года назад
Про мангл и "прыжки" расскажите, пожалуйста с примерами, как всегда, было бы очень интересно
@site_support
@site_support 2 года назад
А что вас конкретно интересует?
@andreysakharov6210
@andreysakharov6210 2 года назад
Отличный контетн, спасибо! Я то по должности разработчик, так что я мамкин администратор. Но тема захватывает. Возник такой вопрос. Сталкивался с руководствами, в который нежелательный траффик отсекали при помощи UFW. Предполагаю что проблему они решают на несколько разных уровнях. Нужно ли эти инструменты использовать совместно? Или вы посоветуете остановиться на чем то одном?
@site_support
@site_support 2 года назад
UFW это всего лишь прокладка перед iptables, лучше сразу изучайте iptables, будет намного полезнее.
@andreysakharov6210
@andreysakharov6210 2 года назад
@@site_support понял вас, спасибо
@user-fe1cj8zd7t
@user-fe1cj8zd7t 10 месяцев назад
Жаль что в этом видео не рассказали про удаление и как нужно двигать правило вверх вниз. Спасибо за ваше полезное видео
@site_support
@site_support 4 месяца назад
Удаление IPTABLES -D, а двигать правила нельзя.
@semibiotic
@semibiotic Год назад
27:17 Тут присутствует небольшое когнитивное искажение. REJECT, отвечая, эмулирует закрытый (т.е. неиспользуемый) порт, скрывая, таким образом, наличие сервиса и файрвола, а DROP (на фоне ping-ов и других отвечающих портов) подчеркивает, что мы блокируем данный порт, и на нем, вероятно, запущен какой-то сервис. Это можно проиллюстрировать с помощью nmap(8). Для REJECT он покажет, что порт закрыт ("closed", то есть не используется), так же, как если бы сервис не был запущен, а для DROP - что заблокирован ("filtered").
@semibiotic
@semibiotic Год назад
Разумеется, REJECT не требуется и даже будет вреден, если DROP используется по умолчанию или если мы прячем сервер от всего, включая пинги.
@DmitryTsarev
@DmitryTsarev 11 месяцев назад
Всё так, тоже обратил внимание, что на видео неправильно объяснён этот момент. Насчёт REJECT vs DROP есть разные мнения и у обоих подходов свои + и -, а на видео как-то однозначно в пользу DROP посыл.
@suomynonaanonim4414
@suomynonaanonim4414 3 месяца назад
Присоединюсь к остальным - отличный урок для начинающих! Вопрос: есть ли у вас уроки по настройке QoS с помощью iptables+iproute2 на Debian/Ubuntu? Сколько не рыл - ничего не могу найти.
@site_support
@site_support Месяц назад
Такого нет, но в своё время пытался настраивать QoS и шейпинг с помощью TC. Довольно сложно и муторно.
@reloac
@reloac Год назад
Народная примета. Играешь с фаерволом на сервере в ЦОДе, это к дороге.
@site_support
@site_support Год назад
Да, если нет KVM.
@reloac
@reloac Год назад
@@site_support Да этой шутке лет 20, тогда никаких KVM не было.
@user-tv3kg3zn4h
@user-tv3kg3zn4h 2 года назад
Спасибо за объяснение по iptables. А можете подсказать как блокировать пул ip c помощью ipset. Например если есть списки CIDR
@site_support
@site_support 2 года назад
Да, легко. Делается ipset, а потом правило. Вот здесь есть все примеры: wiki.archlinux.org/title/Ipset
@viktorkorovin2776
@viktorkorovin2776 2 года назад
Спасибо самое понятное обьяснение на канале, простите за вопрос - можно сделать видео ИМЕННО для простого ПК (НЕ СЕРВЕРНОГО) и как пример сделайте настройку iptables по максимуму что бы DROP БЫЛ ДЛЯ входящих и ИМЕННО для исходящих - то есть по глобальным правилам все закрыть ,но что бы работали программы которые уже стоят - поскольку в сети нет нормальной настройки именно для (простого ПК (НЕ СЕРВЕРНОГО) - для дилетанта не понятно то что есть в сети - скрипты и тд - ПОЖАЛУЙСТА сделайте такое видео
@site_support
@site_support 2 года назад
Если у вас Ubuntu, просто поставьте ufw и не парьтесь. Если у вас простой ПК, то он и без файрвола вполне нормально будет себя чувствовать.
@viktorkorovin2776
@viktorkorovin2776 2 года назад
@@site_support Спасибо но как то хочется по максимуму все сделать -)
@rinocerus9791
@rinocerus9791 2 года назад
Спасибо, упорядочилось. А по nftables будет? Не пора ли на него переходить?
@site_support
@site_support 2 года назад
Возможно, будет. Пока не вижу тенденции перехода на него.
@pavelkryachko
@pavelkryachko 2 года назад
Ещё не встречал такой задачи с которой не справился бы iptables.
@eFFecTzz56
@eFFecTzz56 Год назад
Приветствую, вопрос как мне настроить приоритет интерфейсов, например есть два рабочих интерфейса с выходом в интернет, мне надо чтобы трафик ходил всегда по первому интерфейсу, но если первый интерфейс отваливается, то мне надо чтобы трафик ходил по второму. Спасибо
@eduardmart1237
@eduardmart1237 2 года назад
И можете сделать какие нибудь сложные примеры с редиректом, nat и т.д.
@NickLavlinsky
@NickLavlinsky 2 года назад
Можем!
@user-mn8tn3et8f
@user-mn8tn3et8f 8 месяцев назад
Эх еще бы логирование событий iptables добавить и совсем бы огонь было.
@LeoPlus
@LeoPlus Год назад
31:28 про -I
@step7275
@step7275 3 месяца назад
День добрый коллеги , вопрос такой , вот мы тут прописываем эти правила , но при ребуте не слетят эти правила т к они добавлены но не записаны в конфигах , кто то это разбирал ? или же они сразу же прописавыються в конфигах и почему их сразу в файл не записать ???
@Dmitrii_NY
@Dmitrii_NY 3 месяца назад
ответ с 29 минуты >>>
@mercurykd
@mercurykd Год назад
про ipset у вас есть?
@linuxlifepage
@linuxlifepage Год назад
33:20 можно было ставить только iptables-persistent, так как второй пакет идет зависимостью
@kirosavaus6167
@kirosavaus6167 Год назад
+
@eduardmart1237
@eduardmart1237 2 года назад
А это все на CPU обрабатывается или сетевая карта может делать часть работы?
@NickLavlinsky
@NickLavlinsky 2 года назад
Это на CPU.
@user-hb3ku8uz7m
@user-hb3ku8uz7m Год назад
продолжение про фаерволлы
@eduardmart1237
@eduardmart1237 2 года назад
А можете сделать гайд по настройке nat
@NickLavlinsky
@NickLavlinsky 2 года назад
Можем!
@vladk9512
@vladk9512 Год назад
сохранил после перезагрузки правило сбрасывается
@ivanburich4922
@ivanburich4922 Год назад
Всем привет, для чего нужен, -A INPUT -i lo -j ACCEPT ?
@r9odj781
@r9odj781 Год назад
Добрый день! Разрешить все входящие пакеты на интерфейс loopback. Это как localhost в windows.
@Alexander-mj3jk
@Alexander-mj3jk 3 месяца назад
а кто и когда решает, куда пойдет пакет - в приложения или в интерфейс? И по каким признакам принимается решение
@site_support
@site_support Месяц назад
По таблице маршрутизации и адресам в пакете.
@rinocerus9791
@rinocerus9791 2 года назад
У меня дедик (на debian 9) падал после команды iptables -F Ни у кого такого не случалось?
@site_support
@site_support 2 года назад
Он не падал, скорее всего политика стояла на DROP, и весь трафик порезался.
@demmiurge8568
@demmiurge8568 10 месяцев назад
не проще ввести один раз sudo -i?
@site_support
@site_support 4 месяца назад
Можно еще sudo su.
@Andrey-mo9qp
@Andrey-mo9qp Год назад
хм... Перестали резолвиться днс-запросы. Чего не зватает?
@site_support
@site_support Год назад
Очевидно, правил. Скорее всего с related, established.
@Andrey-mo9qp
@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
@XPERT518 Год назад
После обновления убунты? Они много что поломали, по сравнению например с версией 14. Там теперь настройка немного иначе, фаерволл не причем.
@pavelkryachko
@pavelkryachko 2 года назад
Почему Вы считаете что iptables не может работать самостоятельно?
@NickLavlinsky
@NickLavlinsky 2 года назад
Что значит "самостоятельно"?
@pavelkryachko
@pavelkryachko 2 года назад
@@NickLavlinsky Вы в конце netfilter зачем то использовали. Как вводный урок - отлично!
@user-tl7cp7sn5m
@user-tl7cp7sn5m Год назад
Не корректная картинка, postrouting работает и для пакетов которые приходят самому серверу и для пакетов не для него. На картинке показано как будто postrouting только для пакетов предназначенных не для сервера
@site_support
@site_support Год назад
В чем именно некорректная? Для входящих пакетов на хост POSTROUTING не применяется. Эта цепочка стоит на пути исходящих пакетов.
@paracore903
@paracore903 9 месяцев назад
почему бы сразу не объяснять что такое -L -nv и так далее
@dimababinov2438
@dimababinov2438 8 месяцев назад
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_support
@site_support 4 месяца назад
Правило корректное, должно работать. Может у вас уже используется nftables? Проверьте nft list ruleset.
@MineSurv44
@MineSurv44 Год назад
/sbin/iptables-save?
@site_support
@site_support Год назад
В нормальных системах полный путь для команды не требуется.
@Yaroslav_Sergeevich
@Yaroslav_Sergeevich 2 месяца назад
а можешь подсказать как поставить защиту на сервер чтобы к примеру можно было зайти на него только с определенных ip. Ну например 21 и 22 порт закріть для всех кто не всписке исключений. но при 80 и 443 что бы не затрагивать так как там сайты для клиетов )
@site_support
@site_support Месяц назад
Поставить в правиле для SSH -s IP
@Yaroslav_Sergeevich
@Yaroslav_Sergeevich Месяц назад
@@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 сами на коленке придумали ))) Можешь подсказать правильную схему данного процесса. От А до Я какдолжно быть ну что бы без особых еще заморочек. Что бы просто и понятно было )))
Далее
Начинаем работу с nf_tables
17:14
Просмотров 7 тыс.
나랑 동생이 버블티 마시는법
00:13
Просмотров 2,6 млн
KNOCKDOWN Usyk vs Fury
00:32
Просмотров 814 тыс.
LOVE is BLIND but not this one 😍💍
00:20
Просмотров 12 млн
VLAN в Mikrotik
21:20
Просмотров 47 тыс.
TCP/IP: что это и зачем нужно
1:35:59
Просмотров 580 тыс.