Skip to content

frp

前提

  • 带有公网IP的云服务器,我使用的是阿里云服务器
  • 内网服务器
  • 远程访问内网的客户端

下载 frp

在github中找到最新 frp Release,在公网服务器和内网服务器上都要下载。

wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
tar -xvf frp_0.44.0_linux_amd64.tar.gz
cd frp_0.44.0_linux_amd64

配置 frp server

在公网服务器上解压frp服务程序,执行以下指令启动frp服务。

./frps -c ./frps.ini

需要修改端口的下,修改 frps.ini 文件即可,默认内容如下:

[common]
bind_port = 7000

配置 frp client

[common]
server_addr = 100.21.100.22
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

启动客户端

./frpc -c ./frpc.ini

支持网络服务器

如果内网中搭建了web服务器,也可以通过frp进行逆向代理。不过需要添加以下配置。

  • frps.ini
[common]
server_addr = 100.21.100.22
server_port = 7000
vhost_http_port = 8080
  • frpc.ini
[common]
server_addr = 100.21.100.22
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[web]
type = http
local_port = 80
custom_domains = 100.21.100.22

custom_domains 也可以是域名,不过需要添加对于DNS记录。

这样一来,就可以在浏览器输入 http://公网服务器IP:8080 访问内网站点了。

配置公网服务器的安全组

在公网服务器中需要添加安全组规则,添加端口(7000, 6000, 8080)的安全规则,否则防火墙规则默认会挡掉连接。

远程访问内网

ssh -p 6000 username@serverip