Как изменить исходный порт в iptables?

Как можно настроить правило srcnat для изменения адреса отправителя и порта отправителя пакета, пришедшего из внешней сети, в цепочке prerouting таблицы nat? Обычно упоминают, что для этого используется dstnat, но возможно ли все же применить srcnat в цепочке prerouting для достижения нужного результата?
  • 22 февраля 2024 г. 7:08
Ответы на вопрос 2
Для изменения исходного порта в iptables можно воспользоваться командой:

```
iptables -t nat -A POSTROUTING -p tcp --sport <old_port> --dport <new_port> -j SNAT --to-source <new_ip>:<new_port>
```

Где `<old_port>` - текущий порт отправителя, `<new_port>` - новый порт отправителя, `<new_ip>` - новый IP адрес отправителя.

Настроить правило srcnat для изменения адреса отправителя и порта отправителя пакета, пришедшего из внешней сети, в цепочке prerouting таблицы nat не так просто. Обычно для изменения адреса отправителя и порта используют правило dstnat, так как prerouting применяется до того, как пакет пройдет NAT.

Однако, в некоторых случаях можно применить srcnat в цепочке prerouting для изменения порта отправителя, если вам это реально необходимо. Но это требует более сложной настройки и возможно использование специализированных инструментов. В большинстве случаев, для изменения исходного порта лучше использовать POSTROUTING таблицу nat.
Можно, 
iptables -t nat -I POSTROUTING -s 11.22.33.44 -j SNAT --to-source 253.254.255.256:3030
Похожие вопросы