域名转发模式

适用范围: 网站部署、小程序开发、微信公众号开发、产品演示

假设场景:

  • 有一个域名proxy.com,有一台公网机器IP为{{.ip}}
  • 两个内网开发站点127.0.0.1:81,127.0.0.1:82
  • 想通过a.proxy.com访问127.0.0.1:81,通过b.proxy.com访问127.0.0.1:82
  • 使用步骤:

    • 将*.proxy.com解析到公网服务器{{.ip}}
    • 在客户端管理中创建一个客户端,记录下验证密钥
    • 点击该客户端的域名管理,添加两条规则规则:1、域名:a.proxy.com,内网目标:127.0.0.1:81,2、域名:b.proxy.com,内网目标:127.0.0.1:82
    • 内网客户端运行
      ./npc -server={{.ip}}:{{.p}} -vkey=客户端的密钥
    • 现在访问a.proxy.com,b.proxy.com即可成功

    注:上文中提到公网IP({{.ip}})为系统自动识别,如果是在测试环境中请自行对应,如需使用HTTPS请在配置文件中将HTTPS端口设置为443,同时在域名转发配置证书相关配置

    TCP隧道模式

    适用范围: SSH、远程桌面等TCP连接场景

    假设场景: 想通过访问公网服务器{{.ip}}的8001端口,连接内网机器10.1.50.101的22端口,实现SSH连接

    使用步骤:

    • 在客户端管理中创建一个客户端,记录下验证密钥
    • 内网客户端运行
      ./npc -server={{.ip}}:{{.p}} -vkey=客户端的密钥
    • 在该客户端隧道管理中添加一条TCP隧道,填写监听的端口(8001)、内网目标IP和目标端口(10.1.50.101:22),保存。
    • 访问公网服务器IP({{.ip}}),填写的监听端口(8001),相当于访问内网IP(10.1.50.101):目标端口(22),例如:ssh -p 8001 root@{{.ip}}

    注:上文中提到公网IP({{.ip}})为系统自动识别,如果是在测试环境中请自行对应,默认内网客户端已经启动

    UDP隧道模式

    适用范围: 内网DNS解析等UDP连接场景

    假设场景: 内网有一台DNS(10.1.50.102:53),在非内网环境下想使用该DNS,公网服务器为{{.ip}}

    使用步骤:

    • 在客户端管理中创建一个客户端,记录下验证密钥
    • 内网客户端运行
      ./npc -server={{.ip}}:{{.p}} -vkey=客户端的密钥
    • 在该客户端的隧道管理中添加一条UDP隧道,填写监听的端口(53)、内网目标IP和目标端口(10.1.50.102:53),保存。
    • 修改本机DNS为{{.ip}},则相当于使用10.1.50.202作为DNS服务器

    注:上文中提到公网IP({{.ip}})为系统自动识别,如果是在测试环境中请自行对应,默认内网客户端已经启动

    混合代理模式

    适用范围: 在外网环境下访问内网站点

    假设场景: 想将公网服务器{{.ip}}的8004端口作为HTTP/Socks5代理,访问内网网站

    使用步骤:

    • 在客户端管理中创建一个客户端,记录下验证密钥
    • 内网客户端运行
      ./npc -server={{.ip}}:{{.p}} -vkey=客户端的密钥
    • 在该客户端隧道管理中添加一条混合代理,填写监听的端口(8004),保存。
    • 在外网环境的本机配置HTTP/Socks5代理,IP为公网服务器IP({{.ip}}),端口为填写的监听端口(8004),即可访问了

    注:上文中提到公网IP({{.ip}})为系统自动识别,如果是在测试环境中请自行对应,默认内网客户端已经启动

    单个客户端可以添加多条隧道或者域名解析