FRP内网穿透详细教程
frp下载地址https://github.com/fatedier/frp/releases
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器上的服务是一个问题。
今天在这里介绍下如何搭建和使用这个工具。
这里以Ubuntu14为例搭建服务端。
Ubuntu14先执行命令
1.CD到一个合适目录方便Wget(可以自己选择FRP文件存放目录)
2.下载服务器端frp并解压
tar -zxvf frp_0.32.0_linux_amd64
3.修改 frps.ini文件
注意括号和里面的不要复制进去。
[common]
bind_addr=0.0.0.0
bind_port = 7000(用来给客户端连接的端口)
auto_token=12345678(密码可以自己修改)
dashboard_port = 7500(网页登录端口)
dashboard_user = admin(网页登录账户)
dashboard_pwd = admin(网页登录密码)
vhost_http_port=8080(网页访问端口)
5.运行FRP
防止运行意外,先运行命令给FRP提权:
sudo chmod -R 777 /home/frp
运行FRS:
cd /home/frp
./frps -c ./frps.ini
如果要把服务端放到后台运行可以利用scrren:
yum -y install screen
screen -S frp ./frps -c ./frps.ini
或者使用nohup指令
nohup指令的使用方法相对简单,只需要在nohup后面加上frp的运行指令即可。下面示范的指令是运行frp客户端。(同样,如果之前断开了SSH连接,记得用cd指令进入frp的目录先。)
nohup ./frps -c ./frps.ini &
这样就成功让frp在后台运行了。
设置frp开机启动
在/etc/rc.local里面添加/home/frp/frps -c /home/frp/frps.ini (文件的具体路径根据实际情况填写)
6.登录网页查看一下是否确实成功运行
访问 http://服务器ip:7500
上面配置的7500端口,使用上面配置的用户名和密码 admin/admin
如果打不开,记得在防火墙把7500端口打开,我这里用的阿里云服务器所以是在阿里云的安全组设置里面修改。
登陆可以看到如下界面
到此处服务器端的配置完成了,接下来配置设置对应的客户端
先下载对应自己Windows系统版本的FRP客户端:https://github.com/fatedier/frp/releases
我这里远程服务器是Windows 10 64位,所以选择:
https://github.com/fatedier/frp/releases/download/v0.25.3/frp_0.25.3_windows_amd64.zip
如果下载慢,同样可以用在这里面下载https://file.simplove.me/file/frp/
下载到Windows后解压(个人推荐解压到D盘,文件夹名一样修改为frp)
然后修改frpc.ini
[common] server_addr = 你服务器的公网IP地址 server_port = 7000 auto_token=12345678@qaq 密码和服务器上面的保持一致 [RDP] 名字,可以随意 type = tcp 远程桌面用的是tcp协议 local_ip = 127.0.0.1 local_port = 3389 remote_port = 7001
[common]
server_addr =服务器ip
server_port = 7000(与之前设置一致)
auto_token=12345678(与之前设置一致)
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web](网页映射用不到可以不设置)
type = http
local_port = 80
custom_domains = 服务器ip或者域名
[test_static_file](这个是开放文件访问,用不到可以不配置)
type = tcp
remote_port = 6001
plugin = static_file
plugin_local_path = /Windows(欲访问目录)
plugin_strip_prefix = static
plugin_http_user = admin
plugin_http_passwd = admin
保存后就可以在cmd命令行cd到frp文件夹执行frp了:
依次命令:
cd frp
成功进入frp目录后执行命令运行frp:
frpc.exe -c frpc.ini
成功运行如下:
看到成功在线就可以去试试远程桌面连接了,接下来就和正常的远程桌面连接一样了
客户端以上就是客户端A的配置了
客户端B的配置就是改一下配置的端口号和名称和名称就行
如下
[common] server_addr = FRP服务端VPS的ip
server_port = 7000
auto_token=12345678
[RDP2] type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7002
这个时候远程的ip和地址就是 服务器IP:配置的7002端口
注意不要把刚才运行的窗口关掉了,关了程序就没法运行了,还有开机启动的问题。
有兴趣的继续往下看。
Windows10 64位系统设置FRPC开机自动启动
这里我们用winsw来实现frpc做为服务运行和自动开机启动。
我们到Github release这里就可以下载winsw了。一般来说当然是下载最新的。winsw可以运行在.NET2和.NET4两个版本上,当然如果使用Win10等比较新的系统,最好下载更新版本的.NET4。
https://file.simplove.me/file/frp/ 可以在这里面下载文件
下载完之后最好把文件改成一个比较短小的名字,例如winsw.exe这样的,方便后面输入命令。
下面只说说配置。我这里是将winsw.exe和frpc.exe放到了一起,这样只需要直接填写程序名称。然后在和winsw.exe同级的目录下,新建winsw.xml文件,输入以下内容。
<id>frp</id> <name>frp</name> <description>用frp发布本地电脑网站到外网</description> <executable>frpc</executable> <arguments>-c frpc.ini</arguments> <logmode>reset</logmode>
然后打开管理员权限命令提示符,使用下面的命令安装并启动服务。 注意一定要cd到frp的目录执行命令才行。 winsw install winsw start 说明:如果不再需要这个服务,使用winsw uninstall即可卸载服务。当然还有诸如start、stop这样的命令启动和关闭服务。更重要的是,没有那个既不美观又烦人的命令提示符窗口。 特权模式研究: frps.ini 添加以下内容 privilege_mode = true privilege_token = 12345678 客户端frtc 添加 privilege_token = {privilege_token} 就可以了 自定义二级域名 在多人同时使用一个 frps 时,通过自定义二级域名的方式来使用会更加方便。 通过在 frps 的配置文件中配置 subdomain_host,就可以启用该特性。之后在 frpc 的 http、https 类型的代理中可以不配置 custom_domains,而是配置一个 subdomain 参数。 只需要将 *.{subdomain_host} 解析到 frps 所在服务器。之后用户可以通过 subdomain 自行指定自己的 web 服务所需要使用的二级域名,通过 {subdomain}.{subdomain_host} 来访问自己的 web 服务。 frps.ini [common] subdomain_host = frps.com 将泛域名 *.frps.com 解析到 frps 所在服务器的 IP 地址。 frpc.ini [web] type = http local_port = 80 subdomain = test 如果不通,请检查防火墙的配置,腾讯云服务器需要在安全组里面开放端口 另外如果还是不行,试试在阿里云(服务器管理工具)的安全里面开放相应的端口。 服务端配置如下: [common]
bind_port = 7000
auto_token=12345678@
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
privilege_mode = true
privilege_token = 12345678@3.14
privilege_allow_ports =4000-8000
max_pool_count = 100
subdomain_host = frp.simplove.me
vhost_http_port = 80
客户端配置如下:
[common]
server_addr = 118.24.6.47
server_port = 7000
auto_token=12345678@
privilege_token = 12345678@3.14
[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389 (自己电脑的远程桌面端口,如果没有改就是默认)
remote_port = 7002 (远程连接端口,目前只开放了7002-7004)
subdomain = xxx (如果这里填写xxx,那远程地址就是xxx.frp.simplove.me)
远程桌面连接地址就是 xxx.frp.simplove.me:7002
[web]
type = http
local_port = 81
custom_domains = ****.eu.org
小米pro刷固件在上一篇文章中有提到
然后下载frp插件在其配置文件中使用之前的配置
[common]
server_addr = 118.24.6.47
server_port = 7000
auto_token=12345678@
privilege_token = 12345678@3.14
[RDP]
type = tcp
local_ip = 127.0.0.1(电脑ip,可使用ipconfig查询,linux可使用ip addr查询)
local_port = 3389 (自己电脑的远程桌面端口,如果没有改就是默认)
remote_port = 7002 (远程连接端口,目前只开放了7002-7004)
subdomain = xxx (如果这里填写xxx,那远程地址就是xxx.frp.simplove.me)
远程桌面连接地址就是 xxx.frp.simplove.me:7002
[web]
type = http
local_port = 81
custom_domains = ****.eu.org
然后就实现了利用路由器进行内网穿透,这样要使用固定ip不然每次ip更改都需要修改配置文件
原文链接:https://blog.csdn.net/weixin_42827083/article/details/105126716