需要准备:一台拥有公网ip的服务器(阿里云、腾讯云等等)
了解的内网穿透的方案有2个:Ngrok、frp,本次使用的是frp,简单易行。
其它方式,可参考:https://www.jianshu.com/p/0342d083e17b
frp包下载
https://github.com/fatedier/frp/releases
frp_0.20.0_windows_386.zip 为 32 位版本
frp_0.20.0_windows_amd64.zip 为 64 位版本
服务器设置
1.新建的 frps 文件夹,解压下载的 frp 压缩包,将其中的 frps.exe 和 frps.ini 两个文件,移动到新建的 frps 文件夹中
2.配置文件修改
[common] bind_addr = 0.0.0.0 bind_port = 5443 dashboard_port = 6443 dashboard_user = 替换为一个自定义用户名,如admin,用于frp状态面板登录。 dashboard_pwd = 替换为一个自定义密码,用于frp状态面板登录 vhost_http_port = 80 vhost_https_port = 443 log_file = ./frps.log log_level = error log_max_days = 3 token = 替换为一串自定义字符,建议15位以上,大小写与数字混合,用于客户端连接凭证。 max_pool_count = 50 tcp_mux = true
范例:
3.防火墙设置,范例中5443、6443这两个肯定是要开的
4.服务器端开启服务
frps.exe -c frps.ini
5.frp 服务器端设置为开机自启,记事本保存到frps.vbs,保存。具体路径以实际为准。
运行,输入 shell:startup 后回车,就会打开启动文件夹。
将之前建立的 frps.vbs 右键拖动到启动文件夹,在当前位置创建快捷方式。
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c c:\frps\frps.exe -c c:\frps\frps.ini",vbhide
本地客户端设置
1.将文件“frpc”和 frpc.ini 拷贝到本地。
[common] server_addr = 替换为你的frp服务器IP server_port = 替换为你的frp服务器端安装时设置的bind_port,默认5443 token = 替换为你的frp服务器端安装时设置的token [web1] type = http local_ip = 替换为你需要穿透内网的设备IP,比如192.168.1.6 local_port = 80 use_encryption = true use_gzip = true custom_domains = 替换为你拥有的一个二级域名,比如a.frp.com,将frp.com指向你的服务器IP,域名中的a可以随意替换。 http_user = 替换为一个自定义用户名,比如admin,穿透内网时需要先输入这个用户名进行验证。 http_pwd = 替换为一个自定义密码,与上面的用户名配合使用。 [web2] type = http local_ip = 替换为你需要穿透内网的设备IP,比如192.168.1.8 local_port = 80 use_encryption = true use_gzip = true custom_domains = 替换为你拥有的一个二级域名,比如b.frp.com,将frp.com指向你的服务器IP,域名中的b可以随意替换。 http_user = 替换为一个自定义用户名,比如admin,穿透内网时需要先输入这个用户名进行验证。 http_pwd = 替换为一个自定义密码,与上面的用户名配合使用。
现在使用到的是远程访问,没有那么多配置,范例:
[common] server_addr = 116.255.152.206 server_port = 5443 token = qUilogf56RSWWWW12@Aqw [RDP] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 7001
同样的cmd执行:d:\frpc\frpc.exe -c d:\frpc\frpc.ini
自启动也是同样的设置
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c d:\frpc\frpc.exe -c d:\frpc\frpc.ini",vbhide