Нет. Только локальный процесс прослушивает порт 2222 получит пакет. Если он ответит, произойдет обратный перевод, и исходящий Ответить пакет выйдет из порта 22.
Четвертое правило сделает Любые обнаружены пакеты, предназначенные для порта 22 для перенаправления на ваш локальный порт 2222, даже если они не предназначались для этой машины. Поскольку у вас нет других критериев соответствия, это будет так для всех, кроме соединений, исходящих с этой машины.
По сути, это перехватывает любой сквозной трафик SSH. Если кто-то настроит эту систему в качестве своего шлюза и попытается подключиться к любой службе SSH за пределами локальной сети, он в конечном итоге подключится к вашей службе, работающей на порту. 2222 вместо. Если они уже были установлены доверие (иметь реальный ключ сервера в известные_хосты файл или он правильно опубликован с помощью DNSSEC), их попытка будет отклонена их клиентом с надлежащим предупреждением о продолжающейся атаке «человек посередине» (на что, по сути, и похоже это правило).
Пожалуйста, проконсультируйтесь с Схема потока пакетов Netfilter.
Кстати, ты не нужно чтобы включить переадресацию ip в этом случае, потому что пакет не нужно пересылать (даже если его нужно пересылать, если не было ПЕРЕНАПРАВЛЕНИЕ правило). И вам не нужно ничего делать с ВПЕРЕД цепь, потому что она не пересекается. Таким образом, первая и вторая команды избыточны. После нат таблица, пакет перенаправляется на локальную машину; когда принимается решение о маршрутизации, пакет отправляется ВХОД цепь. Здесь вы можете управлять этим пакетом, и пакет там уже будет транслироваться на порт 2222, поэтому правило в вашей третьей команде верное.