使用Frp搭建内网穿透,外网也可以访问本地电脑。
一、准备
1、服务器:需要一台外网可以访问的服务器,不在乎配置,宽带好就行。我用的是linux服务器。(一般买一个1核1g的云服务器就行),因为配置高的服务器贵,所以这是个择中办法。
2、客户端:本地电脑,有网就行,不需要有公网ip。我这里用的是windows系统。(有公网ip就可以直接访问了,就不需要做内网穿透了)
二、开始
1、先在官方下载软件。我用的0.61.1,下载对应的,linux下载linux,windows下载windows.
Releases · fatedier/frp · GitHub
或者下载我准备的。我下载了windows和linux两个,客户端用的windows,服务器用的linux。
https://pan.baidu.com/s/1O56dE7UAO1kvZLaOsNpFqQ?pwd=12q1
2、修改对应的配置文件,frpc.toml是客户端的配置文件,frps.toml是服务器的配置文件。
frps.toml,服务器配置文件,bindPort对应客户端的端口(服务器如果有安全组记得放开这个端口)。method和token就类似用户名和密码。客户端用的。subDomainHost 是服务器的公网IP。
bindPort = 7010
auth.method = "token"
auth.token = "Aa123456."
subDomainHost = "47.83.888.88"
frpc.toml,前面的几个配置都是服务器对应的配置,
serverAddr = "47.83.888.88"
serverPort = 7010
log.to = "./frpc.log"
log.level = "info"
auth.method = "token"
auth.token = "Aa123456."[[proxies]]
name = "sending"
type = "tcp"
localIP = "192.168.1.86"
localPort = 80
remotePort = 88[[proxies]]
name = "mstsc"
type = "tcp"
localIP = "192.168.1.86"
localPort = 3389
remotePort = 3319[[proxies]]
name = "test1"
type = "tcp"
localIP = "192.168.1.86"
localPort = 8882
remotePort = 8883
proxies:配置的需要映射出去的端口,
name:随便起名字,
type:默认tcp,
localIP:客户端本地电脑的局域网ip地址。
localPort 是客户端运行的端口,
remotePort 是映射出去的端口,就是服务器的端口(端口服务器如果有安全组记得放开这个端口)
有这个配置,访问:47.83.888.88:88就会访问到192.168.1.86:80。
下面的mstsc是windows的远程桌面端口映射,windows电脑
mstsc配置的就是客户端windows的远程桌面映射,外网找个windows系统运行远程桌面,输入:
47.83.888.88:3319就可远程访问这台客户端。
3、运行服务端frps
配置文件修改好后,把frps和frps.toml复制到服务器任意文件夹。然后在同一目录新建starts.sh和stops.sh。
starts.sh文件:
#!/bin/bash
./frps -c frps.toml &
stops.sh文件:
#!/bin/shps -ef | grep frps | grep -v grep | awk '{printf $2}'|xargs kill -9
复制好后,cd到frps所在目录,运行sh starts.sh命令运行frps。就启动了frp的服务端了。
4、运行客户端frps
把frpc.exe和frpc.toml复制到客户端电脑任意文件夹,然后新建runc.bat。
title frpc
frpc.exe -c frpc.toml
pause
双击运行runc.bat运行frp的客户端,然后使用任意电脑访问http://47.83.888.88:88就可访问到客户端电脑的192.168.1.86:80了,
5,进阶
如果觉得使用ip加上端口访问不合适,可以买个域名,解析到服务器的公网ip:47.83.888.88,然后在服务器上安装个nginx。用nginx做个端口转发。类似:
server {listen 80;server_name gr.baidu.fun; # 使用你的域名,这里必须要location / {proxy_pass http://127.0.0.1:88;}
}
这样访问域名:http://gr.baidu.fun就可以转发到http://47.83.888.88:88,然后实际访问的就是客户端电脑的192.168.1.86:80了。
完结~~~~~~~~~~~~~
如果有什么问题,欢迎大佬指正。
最后如果对你有一点点帮助,麻烦支持一下。
感谢阅读!!!!