使用frp做内网穿透

简述

之前用过ngrok,将内网的某个http服务暴露到公网。今天试试frp,将内网的服务器的ssh端口暴露到公网,实现外网直接访问内网服务器。
过程和ngrok一样:

  1. 内网服务器(192.168.5.211)可以上网
  2. 外网有一台服务器,固定ip是1.2.3.4
  3. 通过frp将这两台服务器连接起来,1.2.3.4这台服务器会暴露出一个端口8090,用户通过这个端口,即可连接到内网服务器192.168.5.211的22端口

配置过程

服务器需要安装好go
本次使用的go版本是:go1.6.2
frp版本是:frp_0.21.0_linux_amd64
frp的地址是https://github.com/fatedier/frp,在上面下载好对应的版本,解压后的文件如下:

frpc           frpc_full.ini  frpc.ini       frps           frps_full.ini  frps.ini

各个文件的作用如下:

文件名用途
frpc客户端
frpc_full客户端的详细配置
frpc.ini客户端的简洁配置
frps服务端
frps_full.ini服务端的详细配置
frps.ini服务端的简洁配置

服务端配置

进入frp_0.21.0_linux_amd64目录,修改frps.ini内容如下:

[common]
bind_addr = 0.0.0.0
bind_port = 9090 #客户端连接的端口
log_file = ./frps.log
log_level = info
log_max_days = 3
token = 123456 #token验证
allow_ports = 2000-3000,3001,3003,4000-50000,8090 #用于暴露到公网的端口
max_pool_count = 5
max_ports_per_client = 0
authentication_timeout = 900
tcp_mux = true

启动服务

./frps -c ./frps.ini

如果看到类似如下信息,则是启动成功

2018/10/11 18:17:54 [I] [service.go:130] frps tcp listen on 0.0.0.0:9090
2018/10/11 18:17:54 [I] [root.go:207] Start frps success

可用nohup来启动,这样即使终端断开了,服务也会继续运行

nohup ./frps -c ./frps.ini &

客户端配置

进入frp_0.21.0_linux_amd64目录,修改frpc.ini内容如下:

[common]
server_addr = 1.2.3.4 
server_port = 9090
token = 123456 #和服务端设置的token一致

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 8090 #暴露在公网的端口

启动客户端

./frpc -c ./frpc.ini

如果看到类似如下信息,则是启动成功

2018/10/11 06:31:23 [I] [proxy_manager.go:300] proxy removed: []
2018/10/11 06:31:23 [I] [proxy_manager.go:310] proxy added: [ssh]
2018/10/11 06:31:23 [I] [proxy_manager.go:333] visitor removed: []
2018/10/11 06:31:23 [I] [proxy_manager.go:342] visitor added: []
2018/10/11 06:31:23 [I] [control.go:246] [0a66cb717f83f5dd] login to server success, get run id [0a66cb717f83f5dd], server udp port [0]
2018/10/11 06:31:23 [I] [control.go:169] [0a66cb717f83f5dd] [ssh] start proxy success

在另一台外网机器上连接1.2.3.4的8090端口,如果能正常连接,并且访问的是192.168.5.211,则是配置成功了。
同样,也可用nohup来启动,保证服务正常运行。

nohup ./frpc -c ./frpc.ini &

如果要映射多个端口,需要启动多个frp服务,一个服务对应一组端口

参考

https://www.hi-linux.com/posts/25686.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值