内网穿透即内网映射,可以将局域网变公网,从而可以让外网访问本地局域网内的服务。内网穿透原理技术有这么几种:
1,通过公网服务器转发,这是目前市场上大多三方的内网穿透服务方式。
2,P2P穿透,端对端连接通信,即常说的UDP打洞方式,受国内复杂网络环境影响打洞成功机率不高。
3,通过公网服务器响应对二端握手穿透,穿透成功时直接二端P2P打洞直联。本文地址:http://47.93.183.36/article/949.html,未经许可,不得转载.
内网穿透工具有很多,比如Ngrok、花生壳、frp。原理基本一样,这里主要了解一下FRP, frp分为客户端和服务端,frps为服务端,frpc为客户端。我们在一台Ubuntu服务器上下载部署frps,直接下载开箱配置后即可用,配置时的端口防火墙必须开放。本文地址:http://47.93.183.36/article/949.html,未经许可,不得转载.
cd /usr/local/ wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz tar -xzvf frp_0.21.0_linux_amd64.tar.gz cd frp_0.21.0_linux_amd64 vim frps.ini本文地址:http://47.93.183.36/article/949.html,未经许可,不得转载.
服务端frps.ini文件设置:本文地址:http://47.93.183.36/article/949.html,未经许可,不得转载.
[common] bind_addr=0.0.0.0 # 设置连接IP bind_port = 5443 # 设置连接端口 dashboard_port = 7500 # 设置dashboard服务登陆端口 dashboard_user = test # 设置dashboard登录信息 dashboard_pwd = 123456 log_level = debug # 设置日志显示级别{debug, info, warn, error) log_max_days = 5 # 设置日志最大天数 privilege_mode = true # 设置特权模式是否开启,开通后web,ssh等使用都可以直接在客户端设置 privilege_token = kaixinit # 设置特权模式token值 vhost_http_port = 80 # 设置转发端口 vhost_https_port = 443 #subdomain_host = 04007.cn # 设置动态二级域名 # 启动frps服务器端 /usr/local/frp_0.21.0_linux_amd64/frps -c /usr/local/frp_0.21.0_linux_amd64/frps.ini本文地址:http://47.93.183.36/article/949.html,未经许可,不得转载.
要使用动态域名,请将subdomain_host改成你的域名,并需要在对应域名解析配置中要增加一条泛域名记录和一条解析到frp的A记录。不使用域名注释掉subdomain_host配置项,将直接使用IP地址。服务端启动后我们就可以开始客户端的处理了。客户端frp使用上面相同的下载文件(里面包含了frps和frpc)。修改客户端frpc.ini文件设置,然后启动本地的frpc。成功启动后我们服务器上的对应端口即可实现访问到本地的服务。客户端的配置如下:本文地址:http://47.93.183.36/article/949.html,未经许可,不得转载.
# [common] is integral section [common] server_addr = *.*.*.* # 设置服务器IP地址 server_port = 5443 # 设置连接端口,和服务端端口一致 log_file = ./frpc.log log_level = debug # debug, info, warn, error log_max_days = 3 # decide if exit program when first login failed, otherwise continuous relogin to frps,default is true login_fail_exit = true privilege_token = test # for privilege mode,和服务端一致 [04007-web] #设置web域名访问 type = http local_ip = 127.0.0.1 local_port = 80 use_gzip = true #绑定独立域名 custom_domains = www.test.cn # 在本地启动frpc客户端 ./frpc -c ./frpc.ini本文地址:http://47.93.183.36/article/949.html,未经许可,不得转载.
frps服务端的服务端口只有server_port,需要建立多个双方对接时,只需要在客户端设置一个服务器上的空闲端口即可。本文地址:http://47.93.183.36/article/949.html,未经许可,不得转载.
本文地址:http://47.93.183.36/article/949.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
手机扫码直接打开本页面 |