FRP-内网穿透

FRP是一款高性能的反向代理应用,专注于内网穿透。

官方手册
GitHub链接

FRP安装

CentOS系统中下载:

1
2
3
4
cd /home/software
wget https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_linux_amd64.tar.gz
tar -zxvf frp_0.53.2_linux_amd64.tar.gz
cd frp_0.53.2_linux_amd64

FRP服务器端配置

服务器端配置文件为frps.toml,需要修改其中的端口号,例如修改为54000:

1
bindPort = 54000

同时,需要防火墙放行指定的端口(注意需要同时放行客户端访问端口),详细可参考CentOS-防火墙设置,如果云服务器提供商设置了防火墙,也需要在网站上放行对应的端口。

1
firewall-cmd --zone=public --add-port=54000-54001/tcp --permanent

服务器端开启命令如下,建议使用screen命令创建窗口以便在后台运行:

1
./frps -c ./frps.toml

FRP客户端配置

客户端下载方法和服务器端一样,客户端配置文件为frpc.toml,根据需要修改相应参数:

1
2
3
4
5
6
7
8
9
serverAddr = "服务器IP"
serverPort = 54000

[[proxies]]
name = "SSH"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 54001

如果使用多个公网IP访问同一个客户端,可以创建多个frpc.toml文件,并在多个screen后台运行命令(一个screen后台只运行一个配置):

1
2
./frpc -c ./frpc.toml
./frpc -c ./frpc-1.toml

K3路由器安装FRP

K3路由器通过拨号上网,能够获得公网IP并能提供足够的上传带宽用于中转。K3路由器为arm架构,需要下载FRP的linux_arm版本(下载链接) ,建议先自行下载并解压后再将frps和frps.toml上传到路由器的/root/frp文件夹中(路由器存储空间有限)。在frps.toml文件中设置好参数,执行下述运行命令和防火墙放行命令:

1
2
nohup /root/frp/frps -c /root/frp/frps.toml >/dev/null 2>&1 &
iptables -I INPUT -p tcp --dport 54000 -j ACCEPT