frp实现内网穿透教程

一、介绍 

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

相关教程网页

github.com   

完整文档      

详细的教程   

二、安装

下载网址  /releases   

说明 首先要有一台有公网ip的服务器作为服务端,客户端是要访问的服务器。

在github 的 releases 分别下载对应合适服务端和客户端的文件 。

如linux 64位系统 可以使用 如下命令

wget /releases/download/v0.43.0/frp_0.43.0_linux_arm64.tar.gz

如果遇到

Resolving github.com (github.com)... 20.205.243.166

Connecting to github.com (github.com)|20.205.243.166|:443... connected

请尝试 sudo nano /etc/hosts 编辑后面加上github.com的ip地址或者其他方式下载

三、解压

tar -zxaf frp_0.43.0_linux_arm64

四、说明

 

文件夹里面有如下文件

其中frps.ini 是server服务端的配置文件 frpc.ini 是client客户端的配置文件。

五、配置

1.在具有公网 IP 的机器上部署 frps,修改 frps.ini 文件,这里使用了最简化的配置,设置了 frp 服务器用户接收客户端连接的端口:

[common]bind_port = 7000

2.在需要被访问的内网机器上(SSH 服务通常监听在 22 端口)部署 frpc,修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x:

[common]server_addr = x.x.x.xserver_port = 7000[ssh]type = tcplocal_ip = 127.0.0.1local_port = 22remote_port = 6000

local_ip 和 local_port 配置为本地需要暴露到公网的服务地址和端口。remote_port 表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。

分别启动 frps 和 frpc。  

./frps -c ./frps.ini./frpc -c ./frpc.ini

通过 SSH 访问内网机器,假设用户名为 test:

ssh -oPort=6000 [email protected]

frp 会将请求 x.x.x.x:6000 的流量转发到内网机器的 22 端口。

六、vnc,web配置等