利用frp实现内网穿透(端口转发)

frp是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。


frp的作用:

1、利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
2、对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。

3、利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。


frp的下载地址:https://github.com/fatedier/frp/releases


今天我们演示的案例是穿透内网连接SSH或者3389远程桌面。

前提环境:

1、有一台公网服务器

2、有一台内网电脑

3、有一台公网或者内网的电脑


一、配置公网服务器的frp

这里我用的公网服务器是Linux的,所以我下载的是Linux amd 64位的frp_0.22.0_linux_amd64.tar.gz

解压后得到一堆文件,我们只保留frps和frps.ini两个文件,s表示的是server,即服务端

打开frps.ini,可以看到默认的只有一条配置:

[common]
bind_port = 7000
即绑定了7000端口,这个端口是用来跟内网的机器进行通讯的。我们不做改变,直接启动frp服务端,开始监听。

启动命令:./frps -c ./frps.ini


二、配置内网机器

这里我用的是Windows机器做测试,我们演示穿透3389端口。所以我下载的是Windows amd64位的frp_0.22.0_windows_amd64.zip

解压后同样得到一堆文件,我们只保留frpc.exe和frpc.ini,c表示的是client,即客户端

打开frpc.ini,可以看到默认的配置内容如下:

[common]
server_addr = 127.0.0.1
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

server_addr表示公网服务器的ip地址,比如我们的公网ip是x.x.x.x

server_port表示的服务器监听的端口,即frp服务端跟客户端通讯用的端口,我们之前配置服务端的时候没有修改,用的就是默认的7000

[ssh]这个节点名是可以随便修改的,然后下面的定义的就是客户端的信息,比如通讯协议,这里是tcp,然后是本地ip,直接用127.0.0.1就可以了。

再接着是本地监听的端口,比如我们这里演示的是穿透3389,那么这里就把22改成3389,然后是远程端口,即公网服务器哪个端口会指向我们本地的3389,假如我这里不改,使用默认的6000


修改后的配置如下:

[common]
server_addr = x.x.x.x
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6000

然后我们启动frp客户端程序(需要在cmd下运行):frpc -c frpc.ini


同时我们在frp服务器上也可以看到有新的客户端连接上来了


接下来我们打开mstsc远程桌面,输入我们公网服务器的ip加:6000,然后连接,此时连接就会自动指向我们内网的客户端机器。这样我们就实现了穿透内网连接远程桌面。

  1. 本网站所收集的部分资料来源于互联网,本站不对其真实性负责,也不构成任何其他建议。如果您发现有侵犯您权益的内容,请与我们取得联系,我们会及时修改或删除。
  2. 传递知识、传递力量,欢迎各位网友对本站的文章进行转载和分享。
  3. 本站QQ群交流群:904314688  群号:904314688
发表评论
 
评论列表(目前共有 条评论)
暂时还没有评论哦~

文章搜索

商家广告


版权所有:秋风雅居 (www.198933.com) ©2024 All Rights Reserved.

粤ICP备20031662号