网络应用

内网穿透工具frp

什么是frp

frp是一款免费、开源、高效的内网穿透工具。frp基于反向代理工作,其配置与路由映射类似,简单直观,功能全面。开发者网页


配置方法

服务端
需要一个拥有公网IP且可以任意开放端口的服务器。本教程以基于OpenVZ虚拟化的CentOS7做示范,使用frp 0.24.0版本。

1.下载对应系统版本的frp软件。这里使用的是CentOS7系统(_linux)x86_64架构处理器64位系统(_amd64),请结合自己服务端的系统和硬件下载对应的版本。前往下载页面

wget https://github.com/fatedier/frp/releases/download/v0.24.0/frp_0.24.0_linux_amd64.tar.gz
tar -zxf ./frp*.tar.gz
cd ./frp*

2.编辑服务端配置文件frps.ini。用任意文本编辑工具编辑frps.ini中的内容,请按照以下格式书写。

[common]
bind_port = 5443    //与客户端的通信端口,请确保其开通
kcp_bind_port = 5443    //与客户端通信端口
dashboard_port = 6443    //网络面板端口,请确保其开通
dashboard_user = myUserName    //网络面板用户名,可自定义
dashboard_pwd = myPasswd    //网络面板密码,可自定义
token = myToken    //客户端认证密钥,可自定义

3.编辑并保存好配置文件后,启动frp服务。

./frps -c ./frps.ini >/dev/null 2>&1 &

其中-c ./frps.ini意义为加载配置文件frps.ini,>/dev/null 2>&1是为了让程序安静地运行(否则它会不停地向你报告目前的运行状态),&则是为了让程序在后台执行(可以用kill 进程号的方式关闭程序)。当然你也可以使用screen等软件让程序在后台运行。

4.服务端配置完毕,检查一下是否工作正常就好。
打开浏览器访问你服务器的IP或域名:6443,输入之前设置的面板用户名和密码登录。能进入面板则证明服务端运行正常。如无法打开面板,则请重新检查服务端配置。

客户端
本教程用Windows 10(Version 1809)做示范。

1.下载对应的frp软件。客户端软件版本请务必和服务端保持一致。这里使用的是Windows 10(_windows)x86_64架构处理器64位系统(_amd64)。请下载对应版本的软件。

2.编辑客户端配置文件frpc.ini。

[common]
server_addr = *你服务器的IP或域名*
server_port = 5443    //之前设定的通信端口

token = myToken    //之前设定的密钥,请务必确认跟服务端设定的一样
user = myPC    //客户端标识,可自定义,可在网络面板中看到
dashboard_user = myUserName    //之前设定的网络面板用户名
dashboard_pwd = myPasswd    //之前设定的网络面板密码
dashboard_port = 6443    //网络面板端口

/*接下来,像添加路由端口转发一样添加映射记录即可*/

[RemoteDesktop_tcp]    //端口映射记录名称,可自定义
type = tcp    //端口映射类型
local_ip = 127.0.0.1    //客户端IP,因为就运行在客户端机器上,填写自身IP 127.0.0.1即可
local_port = 3389    //客户端设备网络端口
remote_port = 20000    //服务端网络端口

/**
 *根据以上这条记录,访问*服务端:20000*时会被转发到*客户端:3389*。
 *按照上面这个例子,如果想要使用Windows远程桌面,
 *只需在Remote Desktop Client中输入*服务端IP或域名:20000*
 *就可以连接客户端的Windows电脑了
*/

/*再举一个例子,为Windows远程桌面启用udp连接*/

[RemoteDesktop_udp]
type = udp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 20000

/**
 *注意,配置时要防止端口冲突。
 *上面两条记录分别使用了服务端20000端口的tcp连接和udp连接,
 *所以可以共存。但如果两条记录同时指向同一个端口的同一种连接方式
 *(如两个20000 tcp),就会因端口冲突而映射失败
*/

3.启动客户端frp进程。
在frpc.ini所在的文件夹下按下Shift+鼠标右键,在选单中选择在此处打开PowerShell窗口,并输入以下指令。

cmd
.\frpc -c .\frpc.ini

看到cmd窗口弹出则表明程序正在运行(使用时请勿关闭该cmd窗口)。至此,frp内网穿透配置完毕。

回复 / 取消回复

  1. hlz hlz
    Chrome 80 10

    最后一把Windows启动frp进程 Parse conf error: invalid server_port 显示无效的客户端口 win10的防火墙也开发了5443和6443端口。还是显示这个问题

This is just a placeholder img.