使用内网穿透技术映射主机端口到公网

内网穿透的技术有很多,常用的方法有:

  • ssh/autossh
  • ngfork
  • frp (本文将介绍该方法)

github地址:https://github.com/fatedier/frp

frp为传统的C/S结构,可分为客户端和服务端,其中

  • frpc(客户端) 运行在内网环境
  • frps(服务端)运行在有公网IP的服务器

编写frpc.ini文件,例如:

[common] server_addr = 公网IP server_port = frps运行的端口 token = 一串随机字符用来防止未经授权的使用  [appName] type = tcp local_ip = 127.0.0.1 local_port = 需要映射的本地端口 remote_port = 映射成公网服务器的端口

服务器端frps.ini就更简单了

[common] bind_port = 服务端运行的端口 token = 一串随机字符用来防止未经授权的使用 ;允许被使用的端口范围 allow_ports = 40000-50000 

假设frps 运行在 1.2.3.4:34567,客户端(192.168.1.5)把本机的80端口映射成了38888端口,则链路如下

192.168.1.5:80 <-> 1.2.3.4:34567 <-> 1.2.3.4:38888

提高映射服务可靠性

请使用supervisor分配守护frpc/frps即可达到理想可靠性

 

 

发表评论