目 录CONTENT

文章目录

基于ZeroTier与APISix的云服务器-物理机KVM跨云组网解决方案:实现安全流量穿透与IP隐藏

Administrator
2025-08-04 / 0 评论 / 3 点赞 / 66 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

基于ZeroTier与APISix的云服务器-物理机KVM跨云组网解决方案:实现安全流量穿透与IP隐藏

背景说明

张师傅运维的网络资产如下:

设备类型地址信息操作系统核心角色
云服务器公网IP:43.134.30.162CentOS 7.9VPN网关/流量入口
物理服务器内网IP:192.168.1.204CentOS 7.9KVM虚拟化平台
KVM虚拟机示例内网IP:192.168.3.4CentOS 7.9GitLab服务节点

核心需求

  1. 通过云服务器建立安全通道访问物理服务器的KVM服务
  2. 实现物理服务器及虚拟机IP的完全隐藏
  3. 突破ZeroTier节点数量限制(虚拟机不加入VPN网络)
  4. 统一通过APISix网关实现HTTPS流量管控

最终架构图

graph TD
    A[客户端浏览器] -->|HTTPS 443| B(云服务器<br/>43.134.30.162)
    B -->|APISix智能路由| C[物理服务器<br/>192.168.1.204 zeroTier内网IP:10.147.18.150]
    C -->|iptables端口映射| D[KVM虚拟机集群]
    
    subgraph 服务转发逻辑
    D -->|80/tcp| E[GitLab 192.168.3.4]
    D -->|443/tcp| F[KubeSphere 192.168.3.5]
    D -->|3306/tcp| G[MySQL 192.168.3.6]
    end

部署实施手册

阶段一:ZeroTier网络构建

1. 控制台初始化

  • 访问ZeroTier管理中心
  • 完成账号注册及企业网络创建(记录Network ID:1d719394042e1111

2. 节点接入配置

Windows客户端部署

# 官方下载地址
https://www.zerotier.com/download/#windows
# 安装后通过图形界面加入目标网络

Linux服务器部署(物理机/云服务器通用)

# 自动化安装脚本
curl -s https://install.zerotier.com | sudo bash

# 网络接入命令(需替换实际Network ID)
zerotier-cli join 1d719394042e1111

3. 连接验证

# 在物理服务器执行验证
[root@kvm ~]# zerotier-cli listnetworks
200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
200 listnetworks 1d719394042e1111 zhangshifu 1st network 12:2c:27:06:87:c7 OK PRIVATE ztrf232giv 10.147.18.150/24

跨平台互通测试

# Windows客户端访问物理机(ZeroTier内网IP)
ssh root@10.147.18.150

阶段二:云服务器配置(APISix网关)

参考标准化部署文档完成安装:

阶段三:物理服务器配置(流量中继)

# 1. 启用IP转发功能
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

# 2. 配置端口映射(以GitLab服务为例)
iptables -t nat -A PREROUTING -p tcp --dport 8081 -j DNAT \
--to-destination 192.168.3.4:80

# 3. 持久化防火墙规则
service iptables save

# 4. 验证配置
iptables -t nat -L -n -v

阶段四:DNS与路由配置

1. 域名解析配置

# A记录配置示例
gitlab.howlaisi.com  IN  A  43.134.30.162

DNS配置

2. APISix路由配置

API网关路由配置

3. 增强型转发规则(可选)

sudo iptables -t nat -A PREROUTING -p tcp --dport 8081 -J DNAT --TO-DESTINATION 192.168.3.3:80
# 此处省略其他服务端口映射配置示例

访问验证流程

1. 服务访问测试

# HTTPS访问测试
curl -v https://gitlab.howlaisi.com
# 预期响应:GitLab默认欢迎页面

这里是HTTPS的访问,需要购买域名并且配置HTTPS证书,此处省略购买和配置过程。

2. 流量路径追踪

sequenceDiagram
    用户->>+浏览器: 访问https://gitlab.howlaisi.com
    浏览器->>+云服务器APISix: HTTP 80或HTTPS 443请求
    云服务器APISix->>+物理服务器: 路由匹配,根据端口、域名等转发请求
    物理服务器->>+iptables: 端口映射处理
    iptables->>+KVM虚拟机: 192.168.3.4:80

访问gitlab

3. 连接验证矩阵

测试项验证方式预期结果
ZeroTier连通性ping 10.147.18.150通信正常
HTTPS证书验证浏览器访问显示有效SSL证书锁形图标
3
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区