跳到主要内容

端口转发

端口转发是 QVMConsole 网络管理的重要功能,用于将宿主机的公网端口流量转发到虚拟机的内网端口。通过端口转发,用户可以从外部网络访问虚拟机上运行的服务,如 Web 服务器、数据库、SSH 等。

端口转发架构

使用前提

条件说明
端口转发功能开关用户需开启端口转发功能(enable_port_forward,管理员在用户管理中配置)
规则数量配额普通用户受 max_port_forward 配额限制(默认 10,0=不限);tcp+udp 双协议规则按 2 条计数
轻量云配额轻量云用户按单 VM 维度单独校验端口转发配额
静态 IP端口转发依赖稳定的虚拟机 IP,建议(非 VPC 绑定时必需)绑定静态 IP

端口转发列表

端口转发列表展示所有已配置的转发规则(入口:虚拟机详情页「网络管理 → 端口转发」面板):

字段说明
协议tcp / udp / both
宿主机端口宿主机上监听的端口号(留空自动分配,范围 auto_port_start~auto_port_end,默认 10000-20000)
目标 IP虚拟机的内网 IP 地址
目标端口虚拟机上服务监听的端口
宿主机端口防火墙该规则是否豁免 KVM 防火墙入站区域限制
完整访问地址系统生成的访问地址(支持一键复制,HTTP 环境自动降级复制方案)

端口转发操作

添加转发规则

配置项说明必填
虚拟机目标虚拟机
虚拟机端口虚拟机服务端口
协议tcp / udp / both
宿主机端口留空则自动分配
目标 IP留空自动解析(VPC 绑定取绑定信息;非绑定 VM 可手动输入并记录为手动 IP 映射)

添加规则时的校验顺序:功能开关 → 配额(含轻量云配额)→ 宿主机端口可用性 → 目标 IP 解析;成功后自动为该端口在安全组中补放行规则(若失败会提示)。

编辑与删除

操作说明
编辑修改端口/协议/目标等字段(同样执行端口可用性校验)
单条删除删除单条转发规则
批量删除选中多条规则批量删除
删除确认

删除端口转发规则后,外部网络将无法通过原端口访问虚拟机服务。请确认后再执行删除操作。

完整访问地址

系统自动生成完整的访问地址,方便用户快速访问虚拟机服务。

地址格式

协议://公网IP:宿主机端口

地址示例

协议公网 IP宿主机端口完整地址
tcp1.2.3.48080tcp://1.2.3.4:8080
udp1.2.3.45353udp://1.2.3.4:5353
both1.2.3.48080tcp://1.2.3.4:8080

公网 IP 优先使用绑定的公网 IP,未绑定时使用系统设置的面板公网 IP(host_ip)。

防火墙联动

KVM 网络防火墙的入站区域限制默认作用于端口转发流量。每条端口转发规则可单独切换:

设置说明
继承全局限制(默认)端口转发受 KVM 防火墙入站区域限制
豁免限制该端口转发不受入站区域限制(写入策略豁免列表)

切换通过 PUT /firewall/port-forward(按规则稳定键 协议|宿主机端口|目标IP|目标端口 设置豁免)实现,仅保存策略,应用防火墙规则后生效。

安全警告

建议保持"继承全局限制",仅在业务必须跨区访问时豁免,避免绕过区域管控。

开通引导与静态 IP

首次使用端口转发功能时,面板会展示开通引导:阅读说明 → 绑定静态 IP → 配置转发规则。静态 IP 绑定是端口转发的必要条件,确保虚拟机的 IP 地址不会因 DHCP 变化而改变。

绑定方式说明适用场景
自动绑定开通引导中自动绑定静态 IP首次开通
手动绑定在「网络管理 → 静态 IP」面板手动绑定/解绑已有虚拟机
静态 IP 重要性

端口转发依赖于固定的 IP 地址。如果虚拟机的 IP 地址发生变化,端口转发规则将失效。静态 IP 绑定确保 IP 地址稳定,避免转发规则失效。

手动 IP 映射

对于未绑定 VPC 的虚拟机,添加端口转发时手动输入的目标 IP 会记录为手动 IP 映射(/network/port-forward/ip-mapping),供后续规则解析复用,支持管理员增删。

实现原理

端口转发基于 iptables DNAT 规则实现,通过网络地址转换将外部流量转发到虚拟机。

规则生成示例

# 入站 DNAT 规则
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.100.10:80

# 出站 SNAT 规则
iptables -t nat -A POSTROUTING -p tcp -d 192.168.100.10 --dport 80 -j SNAT --to-source 1.2.3.4

持久化

端口转发规则持久化存储在 port_forward_dir(默认 /etc/kvm-portforward),面板启动时自动恢复(RestorePortForwardRules)。删除端口转发时仅清理面板自动创建的宿主机防火墙放通规则,不会误删 SSH、面板、VNC 或用户手动创建的规则。

端口转发最佳实践

规划建议

  1. 端口规划:提前规划宿主机端口分配,避免冲突(自动分配范围可在系统设置中调整)
  2. IP 绑定:确保所有转发规则的虚拟机 IP 稳定(绑定静态 IP 或 VPC)
  3. 安全策略:结合安全组规则与 KVM 防火墙区域限制,限制访问来源
  4. 配额管理:关注用户端口转发配额使用情况,双协议规则按 2 条计数

常见应用场景

场景宿主机端口目标端口协议说明
Web 服务80, 44380, 443TCP对外提供 Web 服务
SSH 管理222222TCP远程管理虚拟机
数据库33063306TCP外部访问数据库
游戏服务器2556525565TCP/UDP游戏服务器端口

故障排除

常见问题

问题可能原因解决方案
无法创建规则端口转发功能未开启或配额不足联系管理员开启功能/调整配额
无法访问端口转发规则未配置添加转发规则
连接超时目标虚拟机未启动或防火墙拦截启动虚拟机;检查 KVM 防火墙入站区域限制
连接拒绝目标服务未运行启动目标服务
规则不生效IP 发生变化或规则未恢复检查静态 IP 绑定;重启后等待面板自动恢复规则

诊断步骤