Супер!!! Жалко только не сказали как командой удилить правило . Но это мелочь. Ну и небольшой конспект от меня. Посмотреть информацию о фильтрах 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
Да, удалить правило можно через iptables -D и дальше все его параметры или указать номер правила. Например: iptables -D OUTPUT -o eth0 -p TCP --sport 22 -j ACCEPT или iptables -D INPUT 3
Это очень хороший ролик. Прежде всего нет воды, узнал целый ряд деталей, которые были непонятны с прохождения моего платного курса. Все последовательно и ясно. Лайк и подписка.
Отличное вводное видео, просто, чётко и понятно. Только на 27:23 некорректно про DROP и REJECT. Как раз DROP пакета показывает наличие файрвола. В общем случае, при отсутствии iptables или другого файрвола, при получении пакета на порт на котором ничего нет, ответ должен / будет отправлен в любом случае, и на другом уровне (пакет с reset на уровне TCP, см. RFC 793) DROP же это поведение меняет и пакет не отправит, так что REJECT (с --reject-with tcp-reset) как раз эмулирует поведение незащищённого порта без файрвола и без какого-либо сервиса, слушающего на этом порту, а вот DROP показывает наличие файрвола, блокирующего порт. В целом, насчёт DROP vs REJECT есть разные мнения для разных ситуаций, просто по видео может сложиться однобокое мнение по этому вопросу, поэтому уточнил. А так супер, как и вообще канал.
Господи, это крайне прекрасно поданный и изложенный материал. Самое то освежить в памяти основные концепции или подготовиться к интервью) Спасибо большое! P.S. Подписался в надежде послушать когда-нибудь в подобном изложении про nftables и ipvs.
Добрый. PING не проходил на сервер. привел команду к такому виду. iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT. Всё заработало. Спасибо за видео.
Насчёт включения правил - можно подстраховатся и выполнить две команды через sleep, первая команда добавляет правило, вторая отменяет его. Пример >> echo "one" && sleep 20 && echo "two" Если всё впорядке, то тогда применяем правило уже окончательно.
27:17 Тут присутствует небольшое когнитивное искажение. REJECT, отвечая, эмулирует закрытый (т.е. неиспользуемый) порт, скрывая, таким образом, наличие сервиса и файрвола, а DROP (на фоне ping-ов и других отвечающих портов) подчеркивает, что мы блокируем данный порт, и на нем, вероятно, запущен какой-то сервис. Это можно проиллюстрировать с помощью nmap(8). Для REJECT он покажет, что порт закрыт ("closed", то есть не используется), так же, как если бы сервис не был запущен, а для DROP - что заблокирован ("filtered").
Всё так, тоже обратил внимание, что на видео неправильно объяснён этот момент. Насчёт REJECT vs DROP есть разные мнения и у обоих подходов свои + и -, а на видео как-то однозначно в пользу DROP посыл.
@@site_support например настройка локальной сети с несколькими подсетями и различным оборудованием, например, принтерами с ограничением доступа к определенному оборудованию из определенной подсети
vpn создает интерфейсы. В частности традиционно Wireguard создает интерфейс wg0, так же как, например, ens33 или eth0. И соответственно все эти правила пишутся для этого интерфейса. Тут нет какой-то особенности. Все тоже самое. Либо без указания интерфейса - по умолчанию - для всех, либо для конкретного интерфейса.
Отличный контетн, спасибо! Я то по должности разработчик, так что я мамкин администратор. Но тема захватывает. Возник такой вопрос. Сталкивался с руководствами, в который нежелательный траффик отсекали при помощи UFW. Предполагаю что проблему они решают на несколько разных уровнях. Нужно ли эти инструменты использовать совместно? Или вы посоветуете остановиться на чем то одном?
Присоединюсь к остальным - отличный урок для начинающих! Вопрос: есть ли у вас уроки по настройке QoS с помощью iptables+iproute2 на Debian/Ubuntu? Сколько не рыл - ничего не могу найти.
Спасибо самое понятное обьяснение на канале, простите за вопрос - можно сделать видео ИМЕННО для простого ПК (НЕ СЕРВЕРНОГО) и как пример сделайте настройку iptables по максимуму что бы DROP БЫЛ ДЛЯ входящих и ИМЕННО для исходящих - то есть по глобальным правилам все закрыть ,но что бы работали программы которые уже стоят - поскольку в сети нет нормальной настройки именно для (простого ПК (НЕ СЕРВЕРНОГО) - для дилетанта не понятно то что есть в сети - скрипты и тд - ПОЖАЛУЙСТА сделайте такое видео
Приветствую, вопрос как мне настроить приоритет интерфейсов, например есть два рабочих интерфейса с выходом в интернет, мне надо чтобы трафик ходил всегда по первому интерфейсу, но если первый интерфейс отваливается, то мне надо чтобы трафик ходил по второму. Спасибо
День добрый коллеги , вопрос такой , вот мы тут прописываем эти правила , но при ребуте не слетят эти правила т к они добавлены но не записаны в конфигах , кто то это разбирал ? или же они сразу же прописавыються в конфигах и почему их сразу в файл не записать ???
@@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 ?
Что-то понятное начинается с 11 мин. Где комп, где роутер, где схема сети на которой происходит работа? Может программу запустить типа браузера чтобы показывать что сеть работает
Не корректная картинка, postrouting работает и для пакетов которые приходят самому серверу и для пакетов не для него. На картинке показано как будто postrouting только для пакетов предназначенных не для сервера
root@box:~# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables: No chain/target/match by that name. в чём проюлема? сервер VPS ubuntu 22.04 соответсвенно сервер не может устанавливать соединения с другими
а можешь подсказать как поставить защиту на сервер чтобы к примеру можно было зайти на него только с определенных ip. Ну например 21 и 22 порт закріть для всех кто не всписке исключений. но при 80 и 443 что бы не затрагивать так как там сайты для клиетов )
@@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 сами на коленке придумали ))) Можешь подсказать правильную схему данного процесса. От А до Я какдолжно быть ну что бы без особых еще заморочек. Что бы просто и понятно было )))
*Автор - один из немногих людей, которые объясняют доступно и понятно. Спасибо!*
Лучшая из тех коротких обучалок , которые я до сих пор видел....Стиль изложения логичный , лаконичный и системный.
Спасибо!
Николай как ваш ученик на платформе Geekbrains,могу сказать что вы большой молодец,доступно рассказываете👏
Супер!!! Жалко только не сказали как командой удилить правило . Но это мелочь.
Ну и небольшой конспект от меня.
Посмотреть информацию о фильтрах
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
Да, удалить правило можно через iptables -D и дальше все его параметры или указать номер правила.
Например: iptables -D OUTPUT -o eth0 -p TCP --sport 22 -j ACCEPT
или iptables -D INPUT 3
@@site_support о, спасибо, про удаление по номеру кстати не знал.
@@mariabrest Кстати, вывести правила с номерами в начале строк можно так: iptables -vnL --line-numbers
Запрет пакетов по умолчанию должен быть с параметром "-P" (--policy), а не "-p" (--protocol)
Это очень хороший ролик. Прежде всего нет воды, узнал целый ряд деталей, которые были непонятны с прохождения моего платного курса. Все последовательно и ясно. Лайк и подписка.
Отличное вводное видео, просто, чётко и понятно.
Только на 27:23 некорректно про DROP и REJECT. Как раз DROP пакета показывает наличие файрвола.
В общем случае, при отсутствии iptables или другого файрвола, при получении пакета на порт на котором ничего нет, ответ должен / будет отправлен в любом случае, и на другом уровне (пакет с reset на уровне TCP, см. RFC 793)
DROP же это поведение меняет и пакет не отправит, так что REJECT (с --reject-with tcp-reset) как раз эмулирует поведение незащищённого порта без файрвола и без какого-либо сервиса, слушающего на этом порту, а вот DROP показывает наличие файрвола, блокирующего порт.
В целом, насчёт DROP vs REJECT есть разные мнения для разных ситуаций, просто по видео может сложиться однобокое мнение по этому вопросу, поэтому уточнил.
А так супер, как и вообще канал.
Господи, это крайне прекрасно поданный и изложенный материал. Самое то освежить в памяти основные концепции или подготовиться к интервью) Спасибо большое!
P.S. Подписался в надежде послушать когда-нибудь в подобном изложении про nftables и ipvs.
Очень полезная и доходчивая информация, премного благодарен 🙂
Спасибо за столь лаконичный ликбез! Четко и без воды
Легче, чем кажется при первом гуглении, спасибо
Добрый. PING не проходил на сервер. привел команду к такому виду. iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT. Всё заработало. Спасибо за видео.
Просто и понятно, спасибо.
Давайте ещё про iptables, особенно про forward и nat
Хорошо, сделаем!
Рассказано легко и просто для освоения. Спасибо за проделанную работу.
Очень доступно и понятно, большое спасибо за ролик. Нашел для себя много интересного на канале, буду смотреть.
Очень доходчиво, спасибо.
поддерживаю
Спасибо!
Очень понятно, слушается приятно, и СИСТЕМНО!
ОДнозначно ЛАЙК!)
Большое спасибо за обучалку. Было интересно и полезно!
Грамотная, приятная речь. Способ подачи материала - отличный! Спасибо Вам!
За упрощенную таблицу отдельная благодарность!
Спасибо Вам за проделанную работу. Просто отличное видео. Все доходчиво объяснено.
Спасибо, крайне полезно провел 39 минут! Прям зашло видео для меня!
не заметил как пролетело 40 мин. отличное видео!
Спасибо, благодаря тебе только и понял как работать с iptables
Классный дядька! объясняет очень понятно
Спасибо, все четко и понятно, просмотрел на кодклауд серию, но все в кашу смешалось)
Для новичков самое то, очень чётко изложено и без лишней воды. Спасибо!
Спасибо большое, начал больше понимать. Еще бы видео где рассказывается про таблицу mangle как её использовать
Спасибо, что смотрите, про mangle сделаем видео позже.
Спасибо, все очень подробно и понятно. В из этого видео я унал все что хотел знать.
Очень хорошее объяснение, спасибо автору)
Насчёт включения правил - можно подстраховатся и выполнить две команды через sleep, первая команда добавляет правило, вторая отменяет его.
Пример
>> echo "one" && sleep 20 && echo "two"
Если всё впорядке, то тогда применяем правило уже окончательно.
Автору - огромное спасибо!
Очень круто рассказал, мне зашло идеально))))
Спасибо! Классная информация!
спасибо! отлично обьясняете!
Спасибо огромное, 10/10
Спасибо, всё по делу.
Отличное видео, все понятно, смотреть и слушать одно удовольствие! Спасибо)
Всё чётко и по делу, никакой воды.
Спасибо.
27:17 Тут присутствует небольшое когнитивное искажение.
REJECT, отвечая, эмулирует закрытый (т.е. неиспользуемый) порт, скрывая, таким образом, наличие сервиса и файрвола, а DROP (на фоне ping-ов и других отвечающих портов) подчеркивает, что мы блокируем данный порт, и на нем, вероятно, запущен какой-то сервис.
Это можно проиллюстрировать с помощью nmap(8). Для REJECT он покажет, что порт закрыт ("closed", то есть не используется), так же, как если бы сервис не был запущен, а для DROP - что заблокирован ("filtered").
Разумеется, REJECT не требуется и даже будет вреден, если DROP используется по умолчанию или если мы прячем сервер от всего, включая пинги.
Всё так, тоже обратил внимание, что на видео неправильно объяснён этот момент.
Насчёт REJECT vs DROP есть разные мнения и у обоих подходов свои + и -, а на видео как-то однозначно в пользу DROP посыл.
Отличное видео. Спасибо.
Хотелось бы еще увидеть как дебажить запросы. Что происходит с конкретным запросом пока он попадет к службе.
Какие запросы вы имеете в виду?
Отличное видео по iptables, спасибо!
Хорошо объяснено, хотелось бы увидеть продолжение для локальных сетей и другой тонкой настройки
А что именно для локальных сетей интересует?
@@site_support например настройка локальной сети с несколькими подсетями и различным оборудованием, например, принтерами с ограничением доступа к определенному оборудованию из определенной подсети
Спасибо, доходчиво. Хотелось бы примеры использования iptables для ограничения доступа vpn клиентов к конкретным сетям/айпишникам
vpn создает интерфейсы. В частности традиционно Wireguard создает интерфейс wg0, так же как, например, ens33 или eth0. И соответственно все эти правила пишутся для этого интерфейса. Тут нет какой-то особенности. Все тоже самое. Либо без указания интерфейса - по умолчанию - для всех, либо для конкретного интерфейса.
Шикарный гайд!
Спасибо друг! Некоторые моменты сложные, но интересно и полезно! Больше тем по безопасности =)
Спасибо ты лучший, очень помог!
Отличный материал. Было бы замечательно, если рассмотрите возможность сделать что-то похожее, но про nftables.
Уже есть, на этом канале.
очень круто, лучшее объяснение по iptables
Спасибо!
Жаль что в этом видео не рассказали про удаление и как нужно двигать правило вверх вниз. Спасибо за ваше полезное видео
Удаление IPTABLES -D, а двигать правила нельзя.
Освежил утерянные в рутине потока времени знания) щас пойду применять на "боевой" сервер 😅
Отличный контетн, спасибо!
Я то по должности разработчик, так что я мамкин администратор.
Но тема захватывает.
Возник такой вопрос.
Сталкивался с руководствами, в который нежелательный траффик отсекали при помощи UFW.
Предполагаю что проблему они решают на несколько разных уровнях.
Нужно ли эти инструменты использовать совместно?
Или вы посоветуете остановиться на чем то одном?
UFW это всего лишь прокладка перед iptables, лучше сразу изучайте iptables, будет намного полезнее.
@@site_support понял вас, спасибо
спасибо!
Про мангл и "прыжки" расскажите, пожалуйста с примерами, как всегда, было бы очень интересно
А что вас конкретно интересует?
И можете сделать какие нибудь сложные примеры с редиректом, nat и т.д.
Можем!
Спасибо, упорядочилось. А по nftables будет? Не пора ли на него переходить?
Возможно, будет. Пока не вижу тенденции перехода на него.
Ещё не встречал такой задачи с которой не справился бы iptables.
Народная примета. Играешь с фаерволом на сервере в ЦОДе, это к дороге.
Да, если нет KVM.
@@site_support Да этой шутке лет 20, тогда никаких KVM не было.
Присоединюсь к остальным - отличный урок для начинающих!
Вопрос: есть ли у вас уроки по настройке QoS с помощью iptables+iproute2 на Debian/Ubuntu? Сколько не рыл - ничего не могу найти.
Такого нет, но в своё время пытался настраивать QoS и шейпинг с помощью TC. Довольно сложно и муторно.
Привет ) я из 2к24 ))) помогло
Всем привет, для чего нужен, -A INPUT -i lo -j ACCEPT ?
Добрый день! Разрешить все входящие пакеты на интерфейс loopback. Это как localhost в windows.
Спасибо за объяснение по iptables. А можете подсказать как блокировать пул ip c помощью ipset. Например если есть списки CIDR
Да, легко. Делается ipset, а потом правило. Вот здесь есть все примеры: wiki.archlinux.org/title/Ipset
Спасибо самое понятное обьяснение на канале, простите за вопрос - можно сделать видео ИМЕННО для простого ПК (НЕ СЕРВЕРНОГО) и как пример сделайте настройку iptables по максимуму что бы DROP БЫЛ ДЛЯ входящих и ИМЕННО для исходящих - то есть по глобальным правилам все закрыть ,но что бы работали программы которые уже стоят - поскольку в сети нет нормальной настройки именно для (простого ПК (НЕ СЕРВЕРНОГО) - для дилетанта не понятно то что есть в сети - скрипты и тд - ПОЖАЛУЙСТА сделайте такое видео
Если у вас Ubuntu, просто поставьте ufw и не парьтесь. Если у вас простой ПК, то он и без файрвола вполне нормально будет себя чувствовать.
@@site_support Спасибо но как то хочется по максимуму все сделать -)
Приветствую, вопрос как мне настроить приоритет интерфейсов, например есть два рабочих интерфейса с выходом в интернет, мне надо чтобы трафик ходил всегда по первому интерфейсу, но если первый интерфейс отваливается, то мне надо чтобы трафик ходил по второму. Спасибо
День добрый коллеги , вопрос такой , вот мы тут прописываем эти правила , но при ребуте не слетят эти правила т к они добавлены но не записаны в конфигах , кто то это разбирал ? или же они сразу же прописавыються в конфигах и почему их сразу в файл не записать ???
ответ с 29 минуты >>>
"Волшебный рубильник" - это shutdown -r +5
спасибо
для знакомства прям оченьхорошо
31:28 про -I
про ipset у вас есть?
А можете сделать гайд по настройке nat
Можем!
сохранил после перезагрузки правило сбрасывается
а кто и когда решает, куда пойдет пакет - в приложения или в интерфейс? И по каким признакам принимается решение
По таблице маршрутизации и адресам в пакете.
А это все на CPU обрабатывается или сетевая карта может делать часть работы?
Это на CPU.
У меня дедик (на debian 9) падал после команды iptables -F
Ни у кого такого не случалось?
Он не падал, скорее всего политика стояла на DROP, и весь трафик порезался.
Почему Вы считаете что iptables не может работать самостоятельно?
Что значит "самостоятельно"?
@@NickLavlinsky Вы в конце netfilter зачем то использовали. Как вводный урок - отлично!
33:20 можно было ставить только iptables-persistent, так как второй пакет идет зависимостью
не проще ввести один раз sudo -i?
Можно еще sudo su.
хм... Перестали резолвиться днс-запросы. Чего не зватает?
Очевидно, правил. Скорее всего с related, established.
@@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 ?
После обновления убунты? Они много что поломали, по сравнению например с версией 14. Там теперь настройка немного иначе, фаерволл не причем.
продолжение про фаерволлы
Что-то понятное начинается с 11 мин. Где комп, где роутер, где схема сети на которой происходит работа? Может программу запустить типа браузера чтобы показывать что сеть работает
Сеть можно прекрасно проверить без браузера.
Эх еще бы логирование событий iptables добавить и совсем бы огонь было.
Не корректная картинка, postrouting работает и для пакетов которые приходят самому серверу и для пакетов не для него. На картинке показано как будто postrouting только для пакетов предназначенных не для сервера
В чем именно некорректная? Для входящих пакетов на хост POSTROUTING не применяется. Эта цепочка стоит на пути исходящих пакетов.
+
почему бы сразу не объяснять что такое -L -nv и так далее
root@box:~# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables: No chain/target/match by that name.
в чём проюлема?
сервер VPS ubuntu 22.04
соответсвенно сервер не может устанавливать соединения с другими
Правило корректное, должно работать. Может у вас уже используется nftables? Проверьте nft list ruleset.
/sbin/iptables-save?
В нормальных системах полный путь для команды не требуется.
а можешь подсказать как поставить защиту на сервер чтобы к примеру можно было зайти на него только с определенных ip.
Ну например 21 и 22 порт закріть для всех кто не всписке исключений.
но при 80 и 443 что бы не затрагивать так как там сайты для клиетов )
Поставить в правиле для SSH -s IP
@@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 сами на коленке придумали )))
Можешь подсказать правильную схему данного процесса.
От А до Я какдолжно быть ну что бы без особых еще заморочек.
Что бы просто и понятно было )))