Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'BaiduLinkSeo_Plugin' does not have a method 'post' in /var/www/html/build/var/Typecho/Plugin.php on line 489
内网穿透工具frp简单使用 - Miagz's blog

内网穿透工具frp简单使用

由 Miagz 发布

为什么要内网穿透?

我们知道内网与内网之间是不能够互相访问的,这也造成了许多的麻烦,由于某些原因我要用到内网穿透来测试些环境,就网上看了一些内网穿透的一些资料,主流的内网穿透技术是使用花生壳来进行的,不过那玩意要付费,对于这种小测试来说没必要
Frp (Fast Reverse Proxy)是当前比较流行一款内网穿透工具,frp是一款非常好用的内网穿透反向代理工具,它支持tcp,udp协议,也为http和https提供了额外的支持,你可以将frp服务器当做一个中转站,让内网与内网之间能够访问,当然呢frp服务器必须是一个有公网ip的

安装frp

项目地址:https://github.com/fatedier/frp
更多下载地址:https://github.com/fatedier/frp/releases
我们这边以linux为例:

 wget https://github.com/fatedier/frp/releases/download/v0.15.1/frp_0.15.1_linux_amd64.tar.gz
 tar xf frp_0.15.1_linux_amd64.tar.gz
 mv frp_0.15.1_linux_amd64 frp

frp服务端配置

frp默认给了两个服务器配置文件,一个是精简版的frps.ini,一个是完整版的frps_full.ini,我们既然要简单的安装当然要使用精简版的

#cat frps.ini
[common]
bind_port = 7000

默认配置中与客户端建立连接的端口为7000,可根据需求来进行更改

启动frp服务端
./frps -c ./frps.ini

2020/04/07 21:26:55 [I] [service.go:96] frps tcp listen on 0.0.0.0:7000
2020/04/07 21:26:55 [I] [main.go:112] Start frps success
2020/04/07 21:26:55 [I] [main.go:114] PrivilegeMode is enabled, you should pay more attention to security issues

第二行出现Start frps success表示frp服务端启动成功了

frp客户端配置

#vim frpc.ini
[common]
server_addr = 127.0.0.1 #ip对应服务器的公网ip
server_port = 7000 #端口对应服务器监听端口

启动frp客户端
./frpc -c frpc.ini
2020/04/07 21:35:54 [I] [proxy_manager.go:284] proxy removed: []
2020/04/07 21:35:54 [I] [proxy_manager.go:294] proxy added: [ssh]
2020/04/07 21:35:54 [I] [proxy_manager.go:317] visitor removed: []
2020/04/07 21:35:54 [I] [control.go:240] [963da4497a144425] login to server success, get run id [963da4497a144425], server udp port [0]
2020/04/07 21:35:54 [I] [control.go:165] [963da4497a144425] [ssh] start proxy success

第四行出现login to server success字样表示成功连接上服务器了
这样就可以成功在 frp 服务端上成功建立一个客户端连接,当然现在还并不能对外提供任何内网机器上的服务,因为我们并还没有在 frp 服务端注册任何内网服务的端口。
注意:
在启动frp客户的时候如果显示连接超时时,不要慌,如果你使用的是阿里云的服务器,就请到阿里云控制面板里面添加对应的端口

frp的简单使用是实例

下面就来看frp是如何实现内网穿透的
通过tcp连接内网服务器
这里以ssh为例,修改客户端下的frpc.ini文件,默认里面是有一个ssh的配置的

[ssh]
type = tcp  #这里没啥好解释的,连接类型为tcp
local_ip = 127.0.0.1 # 要连接的内网机器的ip
local_port = 22 #对应需要连接内网机器的ssh端口
remote_port = 6000 #远程连接的端口号,后面连接内网机器需要用到的端口,可以根据需求来进行更改

启动frp客户端
#./frpc -c ./frpc.ini
2020/04/07 22:02:14 [I] [proxy_manager.go:284] proxy removed: []
2020/04/07 22:02:14 [I] [proxy_manager.go:294] proxy added: [ssh]
2020/04/07 22:02:14 [I] [proxy_manager.go:317] visitor removed: []
2020/04/07 22:02:14 [I] [proxy_manager.go:326] visitor added: []
2020/04/07 22:02:14 [I] [control.go:240] [3c3c0e252de0401b] login to server success, get run id [3c3c0e252de0401b], server udp port [0]
2020/04/07 22:02:14 [I] [control.go:165] [3c3c0e252de0401b] [ssh] start proxy success

这样就在frp服务端上成功注册了一个端口为 6000 的服务,接下来我们就可以通过这个端口访问内网机器上ssh服务

#ssh -p 6000 用户名@服务器ip地址

暂无评论

发表评论