frp内网穿透
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。其项目主页是:https://github.com/fatedier/frp 。 其原理如下图:
比如某用户想在家里能够连上公司内部的某台主机的环境,需要在某主机上运行frpc程序,还需要有一台具有公网IP的主机(在公司之外的服务器也没关系),在公网主机上运行frps,两者之间建立连接后,通过把内部主机的端口暴露给外网主机,就可以通过连接该外网服务器的某些端口进行连接了。
一、frps配置(公网服务器上)
建议用普通用户运行,编辑frps.ini文件,内容类似如下:
1[root@361way frp]# cat frps.ini
2[common]
3bind_addr = 0.0.0.0
4bind_port = 6666
5token = 111111 //连接密码串
6use_encryption = true //下面这两行是加密和压缩传输
7use_compression = true
假设这里使用tunnel普通用户启动,某对应的命令是:
1/home/tunnel/frp/frps -c /home/tunnel/frp/frps.ini
二、frpc配置(内部主机)
1[root@localhost frp]# more frpc.ini
2[common]
3server_addr = 115.28.174.118
4server_port = 6666
5token = 111111
6[ssh]
7type = tcp
8local_ip = 127.0.0.1
9local_port = 22
10remote_port = 6722
这里某些端口的监听需要使用root用户权限,这里可以以root用户运行。命令如下:
1./frpc -c frpc.ini
另外在frps所在的外网服务器上有开启防火墙的,还需要在防火墙上开启相应的端口的允许通行:
1firewall-cmd --add-port=6666/tcp
2firewall-cmd --add-port=6722/tcp
上面是临时通行,需要加到永久生效的,还需要使用permanent参数。
三、小结
上面只是对内部的22端口进行了映射,其实际上还支持http\https等相关协议的映射。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/frp/5735.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.