我正在设置第二个 Plex 服务器,并且我决定使用端口32401
而不是端口,32400
因为我已经有一个 Plex 服务器在该端口上运行。
我的问题是 Plex 想要[publicip]:32401
指向,[localip]:32400
但是我的路由器只能将公共端口指向相同的本地端口(所以不行[publicip]:32401 -> [localip]:32400
)。
Linux 是否有办法监听端口32401
并在内部将其“重新路由”到端口 32400?我见过类似的 iptables 命令,但没有一个适合我的确切用例。
答案1
你可以使用这个 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
答案2
我决定阅读手册,并在 Arch Wiki 的 Plex 页面上找到了解决方案。通过执行此命令,我能够将端口重新路由32401
到32400
:
iptables -t nat -A PREROUTING -p tcp --dport 32401 -j REDIRECT --to-port 32400