Как в CentOS фильтровать трафик по протоколу, а не по порту?
Например, я хотел бы фильтровать ftp-трафик независимо от используемого порта, чтобы запретить пользователям в сети использовать ftp.
Я хочу отбросить пакеты, а не отклонять их.
То, о чем вы спрашиваете, обычно называется брандмауэром "прикладного уровня" или брандмауэром "уровня 7", потому что он работает на уровне 7 Модель OSI. Фильтр уровня 7 работает, проверяя все пакеты, проходящие через брандмауэр, чтобы идентифицировать используемый протокол.
Eсть классификатор 7 уровня доступен для использования с Netfilter, реализацией брандмауэра Linux. Похоже, что это не особо активный проект, но и он не является полностью устаревшим - последнее обновление на главной странице, похоже, было с января прошлого года.
У меня нет личного опыта работы с этим модулем.