我正在寻找一种将一个端口内部转发到另一个端口的方法。
我有一台 Ubuntu 14.04 服务器,上面安装了一个监听端口 25565 的游戏服务器。游戏不支持多个端口。我需要从其他地方通过端口 443 连接到该服务器。
如何才能让防火墙在通过端口 443 连接时转发到端口 25565,以便游戏收到请求。如果游戏想要响应,则将其传输回端口 443(仅当有人通过 443 连接时)。
如果有人通过 25565 连接,它会像正常情况下一样通过 25565 进行响应。
我如何使用 iptables 来实现这一点?
答案1
使用REDIRECT
表中的目标nat
,在PREROUTING
链中。假设服务器使用 TCP,请以 root 身份运行此命令:
iptables -t nat -I PREROUTING -p tcp -m tcp --dport 443 \
-j REDIRECT --to-ports 25565
如果服务器使用 UDP,请替换tcp
为udp
。