Задать вопрос
@spellman003

Как определить какие используются порты?

Начал изучать фаирвол Netfilter и утилиту для его настройки iptables.
Есть сервер который раздаёт интернет и обеспечивает NAT. Все работает при стандартных правилах по умолчанию, если их сменить (к примеру iptables -P INPUT DROP) работать перестаёт.
А я хотел всё закрыть и открывать по необходимости. Существуют ли способы узнать какие порты и протоколы пытается использовать какая-либо сущность в ОС? Может есть какие либо стандарты, где это расписано? А то если скажем iptables -P INPUT ACCEPT все работает, а если iptables -P INPUT DROP то нет. Пытался оставить открытыми порты 53,80,8080,443,110,25,21, но стабильной работы не получается.
Логику прохождения трафика через таблицы фаирвола стараюсь учитывать и цепочку OUTPUT не закрывал.
  • Вопрос задан
  • 214 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
DollyPapper
@DollyPapper
netstat -tlp

Покажет все порты в состоянии LISTENING в системе. Лучше использовать с sudo, т.к. без него не будут писаться имена процессов которыми не владеет текущий юзер. Ну сама строка с соединением будет выведена, просто имени процесса не будет
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
hint000
@hint000
у админа три руки
Цепочка INPUT определяет судьбу пакетов, которые предназначены самому хосту (серверу в вашем случае).
А движение пакетов, которые идут клиентам или от клиентов, регулируется цепочкой FORWARD.
Существуют ли способы узнать какие порты и протоколы пытается использовать какая-либо сущность в ос?
Есть старая команда netstat (кучу ключей, определяющих, что именно она показывает, смотрите в man netstat или в гугле). Есть более новая команда ss.
схема прохождения пакетов
FW-IDS-iptables-Flowchart-v2019-04-30-1.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы