目录

在云服务器上安装frp服务端

frp是一款非常优秀的开源内网穿透工具,可以帮助我们在公网上连接内网主机上的服务。本文介绍如何在Linux云服务器上安装frp服务端。

下载并安装frp服务端

frp的GitHub仓库地址为https://github.com/fatedier/frp。截至本文完成时,frp的最新版本为v0.35.1。首先,将Release中最新版的二进制包下载并复制到云服务器上。

wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz
tar xf frp_0.35.1_linux_amd64.tar.gz
cd frp_0.35.1_linux_amd64/

可以看到目录中有frpc frps两个可执行文件分别为frp的客户端以及服务端,以及frpc.ini frps.ini等示例配置文件。我们按照官方默认的目录,将frps安装到/usr/bin中,并将默认配置文件frps.ini复制到/etc/frp/frps.ini

sudo cp frps /usr/bin
sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp

到此为止,frp服务端的安装就算完成了。可以使用下面的命令测试一下安装是否成功。

frps -c /etc/frp/frps.ini

看到类似[I] [root.go:217] frps started successfully的提示,即为安装成功。

配置frps

使用编辑器打开/etc/frp/frps.ini。将下列配置信息加入配置文件。

bind_port = frp使用的端口
token = 密码
allow_ports = 50000-65535
tcp_mux = false
log_level = info
log_max_days = 3
protocol = tcp
log_file = /tmp/frps.log
端口号限制
Ubuntu系统默认禁用1024以下的端口,若使用会报错Create server listener error, listen tcp 0.0.0.0:1007: bind: permission denied。请使用大于1024的端口。

安装systemd服务

使用上面的命令启动frps之后,虽然可以进行测试,但是一旦终端关闭,服务端也就会自动终止。幸运的是,官方为我们提供了systemd的服务文件,可以使用systemd以守护进程的方式启动frps

仍然在解压出来的frp_0.35.1_linux_amd64目录中,可以找到systemd文件夹,里面便包含了默认配置的服务脚本。只需要将服务文件复制到systemd的服务库中即可。

sudo cp systemd/frps.service /etc/systemd/system/
设置用户名
复制完毕后,还需要设置启动frp服务的用户名。编辑/etc/systemd/system/frps.service文件,将其中的User=nobody换成User=你的用户名即可。

接下来,尝试启动服务。

sudo service frps start

若没有任何输出,则证明服务启动成功。最后,将服务设置为开机启动即可。

sudo systemctl enable frps