You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Linux环境下通过VPN实现公网地址转发至本地Ubuntu游戏服务器

如何在Linux环境下通过VPN实现公网地址转发至本地Ubuntu游戏服务器

兄弟,我完全懂你的需求——就是想让别人通过VPN的公网IP(比如你说的205.201.204.203)访问你Proxmox上的Ubuntu本地Minecraft服务器对吧?结合你手里的TP-Link ER605路由器和已经搭好的OpenVPN连接,咱一步步来搞,其实没那么复杂:

第一步:先确认VPN链路的基础连通性

首先打开你的ER605管理后台,找到VPN -> OpenVPN客户端,检查连接状态是不是显示「已连接」,并且能看到路由器通过VPN获取到的公网IP就是你说的205.201.204.203。这一步是前提,必须确保VPN通道是通的,不然后面的转发都是白搭。

第二步:在ER605上配置端口转发(核心步骤)

我们要把VPN公网IP的Minecraft请求,直接映射到你内网Ubuntu服务器的对应端口:

  • 进入路由器后台的「高级」->「NAT转发」->「端口转发」
  • 点击「新增」,填以下内容:
    • 外部接口:选择你的OpenVPN客户端对应的接口(一般叫OpenVPN_Client1之类的,看你自己的命名)
    • 外部端口:填25565(Minecraft默认端口,如果你改了自定义端口就填你自己的)
    • 内部IP地址:填写Ubuntu服务器在你局域网内的IP(比如192.168.1.100,你可以在Ubuntu里用ip a命令查)
    • 内部端口:和外部端口保持一致,填25565就行
    • 协议:选UDP(Minecraft主要用UDP协议,稳妥点也可以选「TCP/UDP」兼容模式)
    • 状态:勾选「启用」
  • 保存设置,路由器会自动生效规则。

第三步:确保Ubuntu服务器的防火墙放行端口

别忘记给Ubuntu的防火墙开个口子,不然请求到了服务器也会被拦:

  • 登录Ubuntu服务器的终端(Proxmox控制台直接打开或者SSH连接都行)
  • 如果用的是默认的ufw防火墙,运行以下命令:
    sudo ufw allow 25565/udp
    sudo ufw allow 25565/tcp  # 可选,如果你用TCP模式玩Minecraft的话
    sudo ufw reload
    
  • 如果是用iptables的话,执行:
    sudo iptables -A INPUT -p udp --dport 25565 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT
    sudo iptables-save > /etc/iptables/rules.v4  # 保存规则防止重启失效
    

第四步:验证连通性,测试效果

  • 先在局域网内用另一台机器测试:直接输入Ubuntu的内网IP+端口(比如192.168.1.100:25565),确认Minecraft能正常连接,先排除本地服务的问题。
  • 然后换个外部网络(比如手机开流量,别连家里WiFi),用VPN公网IP+端口(205.201.204.203:25565)尝试连接,如果能成功就搞定了!

额外注意点

  • 如果Proxmox本身开了防火墙,记得在对应Ubuntu虚拟机的防火墙规则里,也允许25565端口的入站请求。
  • 要是你之后想转发其他服务(比如Steam服务器、FTP),只要重复第二步的端口转发步骤,替换对应的端口就行。

备注:内容来源于stack exchange,提问作者Heisz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 13:48:03