Debian 上搭建 frp 实现内网穿透

Contents
  1. 1. 服务端安装
  2. 2. 服务端设置
  3. 3. 客户端安装
  4. 4. 客户端设置
  5. 5. References

本文以 Debian 10 为例,介绍如何搭建 frp 服务端,用以实现内网穿透,并以 VNC 的使用为例,介绍如何配置客户端。本文同样完全适用于 Ubuntu 20.04 系统。

注:请先参照 Debian & Ubuntu 服务器的初始化配置 一文对服务器进行各种必要的配置。本文以 sammy 用户为例,进行 frp 的部署,并默认已按初始化配置文章对服务器进行了配置。


服务端安装

GitHub 上找到对应架构的最新压缩包并下载,例如:

1
2
3
4
5
cd ~
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
tar -xf frp_0.33.0_linux_amd64.tar.gz
mv frp_0.33.0_linux_amd64 frp
rm frp_0.33.0_linux_amd64.tar.gz

服务端设置

创建配置文件:

1
vim ~/frp/config.ini

添加如下内容:

~/frp/config.ini
1
2
3
[common]
bind_port = 自定义端口之一
token = 强密码

自启动:

1
mkdir -p ~/.config/systemd/user
1
2
3
4
5
6
7
8
9
10
11
echo "[Unit]
Description=frp Service
After=default.target

[Service]
WorkingDirectory=/home/$(whoami)/frp
ExecStart=/home/$(whoami)/frp/frps -c config.ini
Restart=on-abort

[Install]
WantedBy=default.target" > ~/.config/systemd/user/frp.service
1
2
systemctl --user enable frp
systemctl --user start frp

防火墙放行:

1
2
sudo ufw allow 自定义端口之一
sudo ufw allow 自定义端口之二

客户端安装

客户端的安装和服务端的安装过程大同小异,此处不再赘述。

客户端设置

此处以监听在 5900 端口上的 VNC 服务为例,创建配置文件:

1
vim ~/frp/config.ini

添加如下内容:

~/frp/config.ini
1
2
3
4
5
6
7
8
9
[common]
server_addr = 服务端 IP 地址
server_port = 服务端所设置的自定义端口
token = 服务端所设置的密码

[vnc]
type = tcp
local_port = 5900
remote_port = 自定义端口之二

启动服务:

1
2
cd ~/frp
./frpc -c config.ini

Ctrl + C 即可停止运行。


References

fatedier / frp

frp 内网穿透神器搭建

Ubuntu 配置 vnc + frp 内网穿透实现桌面远程访问