Я настраиваю 2-й сервер Plex и решил использовать порт 32401
вместо порта 32400
так как у меня уже есть сервер Plex, работающий на этом порту.
Моя проблема в том, что Plex хочет [publicip]:32401
указать на [localip]:32400
но мой маршрутизатор может указывать только общедоступные порты на одни и те же локальные порты (так что нет [publicip]:32401 -> [localip]:32400
).
Есть ли способ для Linux прослушивать порт 32401
и "перенаправить" его внутренне на порт 32400? Я видел похожие команды iptables, но ни одна из них не подходила для моего случая использования.
Я решил использовать RTFM и нашел свое исправление на странице Plex в Arch Wiki. Выполнив эту команду, я смог перенаправить порт 32401
к 32400
:
iptables -t nat -A PREROUTING -p tcp --dport 32401 -j REDIRECT --to-port 32400
Вы можете использовать это правило iptables
iptables -t nat -A OUTPUT -d LOCAL_IP -p tcp --dport 32401 -j DNAT --to-destination LOCAL_IP:32400
вместе с этой конфигурацией ядра
sysctl -w net.ipv4.conf.all.route_localnet=1
и весь трафик для LOCAL_IP: 32401 будет перенаправлен на LOCAL_IP: 32400