Этот ответ от @Ben по дублированному вопросу решил мою проблему:
Рассмотрим использование команды top в терминале.
The top program provides a dynamic real-time view of a running
system. It can display system summary information as well as a
list of processes or threads currently being managed by the Linux
kernel. The types of system summary information shown and the
types, order and size of information displayed for processes are
all user configurable and that configuration can be made persis‐
tent across restarts.
через дублированный вопрос
Для вашего сценария вам нужно настроить iptables правила для этого. Также вы можете использовать firewalld пользователя, которая является богатой командой для управления брандмауэром в Linux. Я объясню здесь iptables.
Iptables предназначен для фильтрации пакетов ipv4 / ipv6 для ядра Linux. В iptables есть три таблицы по умолчанию, каждая из которых содержит три цепочки по умолчанию:
Входной выход впередКоманда Iptables имеет следующие параметры. Для вашего сценария в качестве примера вам нужно написать следующие команды:
$ iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -s x.x.x.x -j ACCEPT
$ iptables -A INPUT -j DROP
Эти команды принимают только ssh-соединение из порта 22 с IP x.x.x.x, и все входящие пакеты будут удалены. Вы можете сделать это для любого IP-адреса и любых портов, которые вы хотите ответить на сервер. Для входящих пакетов, которые вы не знаете, какие состояния используют RELATED и INVALID в --state.
Вы должны заметить, что iptables является порядком последовательного правила. В качестве примера, если вы блокируете все, а затем принимаете некоторые, вы не получите никакого результата, потому что, когда входящий пакет соответствует любому правилу, другие правила не будут рассматриваться.
Для вашего сценария вам нужно настроить iptables правила для этого. Также вы можете использовать firewalld пользователя, которая является богатой командой для управления брандмауэром в Linux. Я объясню здесь iptables.
Iptables предназначен для фильтрации пакетов ipv4 / ipv6 для ядра Linux. В iptables есть три таблицы по умолчанию, каждая из которых содержит три цепочки по умолчанию:
Входной выход впередКоманда Iptables имеет следующие параметры. Для вашего сценария в качестве примера вам нужно написать следующие команды:
$ iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -s x.x.x.x -j ACCEPT
$ iptables -A INPUT -j DROP
Эти команды принимают только ssh-соединение из порта 22 с IP x.x.x.x, и все входящие пакеты будут удалены. Вы можете сделать это для любого IP-адреса и любых портов, которые вы хотите ответить на сервер. Для входящих пакетов, которые вы не знаете, какие состояния используют RELATED и INVALID в --state.
Вы должны заметить, что iptables является порядком последовательного правила. В качестве примера, если вы блокируете все, а затем принимаете некоторые, вы не получите никакого результата, потому что, когда входящий пакет соответствует любому правилу, другие правила не будут рассматриваться.