Как перенаправить диапазон портов с сервера на другое сетевое устройство с помощью IPTABLES?

Как перенаправить диапазон портов с сервера на другое сетевое устройство с помощью IPTABLES?

У меня есть сервер и несколько локальных устройств, которые размещают пользовательские сервисы на пользовательских портах. Все устройства используют Linux. Только сервер открыт для интернета (порты перенаправлены).

Я пытаюсь перенаправить весь трафик из диапазона портов x на диапазон портов устройства 1, например:

сервер_ip: 192.168.5.5

устройство 1 ip: 10.0.0.1

Запрос на 192.168.5.5:4001 должен быть перенаправлен на устройство 1 (10.0.0.1) на порт 2001.

Я пытаюсь перенаправить весь трафик в диапазоне портов 4001:4050 на устройство 1 на портах 2001:2050, а внешние порты должны соответствовать внутренним портам (4001 -> 2001, 4002 -> 2002 и т. д.)

Я использовал следующие правила IPTable, и они отлично сработали для перенаправления отдельных портов, но для диапазона портов они не совпадали: (4001 иногда подключается к 2005, хотя должен подключаться к 2001)

Правила IPTABLE:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 4000:4050 -j DNAT --to-destination Device_1_IP:2000-2050

iptables -t nat -A POSTROUTING -d device1_ip -p tcp --dport 2000:2050 -j SNAT --to-source Server public ip

Я также пробовал использовать rinetd, но не смог понять, как перенаправить целый диапазон портов.

С уважением

Связанный контент