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