frp内网穿透

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。其项目主页是:https://github.com/fatedier/frp 。 其原理如下图:

frp

比如某用户想在家里能够连上公司内部的某台主机的环境,需要在某主机上运行frpc程序,还需要有一台具有公网IP的主机(在公司之外的服务器也没关系),在公网主机上运行frps,两者之间建立连接后,通过把内部主机的端口暴露给外网主机,就可以通过连接该外网服务器的某些端口进行连接了。

一、frps配置(公网服务器上)

建议用普通用户运行,编辑frps.ini文件,内容类似如下:

[root@361way frp]#  cat  frps.ini
[common]
bind_addr = 0.0.0.0
bind_port = 6666
token = 111111   //连接密码串
use_encryption = true  //下面这两行是加密和压缩传输
use_compression = true

假设这里使用tunnel普通用户启动,某对应的命令是:

/home/tunnel/frp/frps -c /home/tunnel/frp/frps.ini

二、frpc配置(内部主机)

[root@localhost frp]# more frpc.ini
[common]
server_addr = 115.28.174.118
server_port = 6666
token = 111111
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6722

这里某些端口的监听需要使用root用户权限,这里可以以root用户运行。命令如下:

./frpc -c frpc.ini

另外在frps所在的外网服务器上有开启防火墙的,还需要在防火墙上开启相应的端口的允许通行:

firewall-cmd --add-port=6666/tcp
firewall-cmd --add-port=6722/tcp

上面是临时通行,需要加到永久生效的,还需要使用permanent参数。

三、小结

上面只是对内部的22端口进行了映射,其实际上还支持http\https等相关协议的映射。




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: 开源软件 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.