frp最简实用配置

1 下载frp

在此处下载frp,注意选择正确的系统版本。我用的阿里云的Ubuntu系统的服务器,下载linux_amd64.tar.gz这个版本。
在服务器上使用如下指令下载并解压(注意链接对应版本)。

cd ~
wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz
tar -zxvf frp_0.54.0_linux_amd64.tar.gz

在~目录下会解压得到frp_0.54.0_linux_amd64这个文件夹,进入此文件夹(善用tab键)。

cd frp_0.54.0_linux_amd64

2 简单理解frp原理

使用frp,首先需要有一个具有公网IP的服务器(server),和一个想要使用公网IP访问的电脑(client),frp这个软件在server和client之间架起了桥梁。当我们配置好frp并远程访问时,会先连接到具有公网IP的服务器,再由frp连接到内网电脑,实现远程访问。

3 配置frp

在frp_0.54.0_linux_amd64文件夹内有下述文件,注意区分sc

total 31276
drwxr-xr-x 2 admin admin     4096 Feb 11 12:47 ./
drwxr-xr-x 6 admin admin     4096 Feb 11 12:47 ../
-rwxr-xr-x 1 admin admin 13946880 Feb  1 14:34 frpc*
-rw-r--r-- 1 admin admin      142 Feb  1 14:37 frpc.toml
-rwxr-xr-x 1 admin admin 18051072 Feb  1 14:34 frps*
-rw-r--r-- 1 admin admin       16 Feb  1 14:37 frps.toml
-rw-r--r-- 1 admin admin    11358 Feb  1 14:37 LICENSE

其中frps和frps.toml分别是服务器(server)端的运行程序和配置文件,frpc和frpc.toml分别是内网电脑(client)端的运行程序和配置文件,一定要区分好。
frp的配置文件可以很复杂,来实现很多功能,具体参考frp的GitHub网站进行配置。但这里既然是最简实用配置,那自然以简单能跑为标准,下面的配置文件都是最简的(至少我认为)。

3.1 配置frps

3.1.1 frps

使用vim、nano或者任何文字编辑软件打开frps.toml,这里我使用的是nano。

sudo nano frps.toml

文件内容如下。

bindPort = 7000

不需要任何修改,Ctrl+X退出。
使用如下命令在/etc下创建frp文件夹,并将frps和frps.toml复制到此。

sudo mkdir -p /etc/frp
sudo cp frps /etc/frp
sudo cp frps.toml /etc/frp

同时需要在公网服务器(server)的控制面板中将6000和7000端口开放。

3.1.2 创建frps服务

这里使用systemd配置frps服务,若无可使用如下命令安装。

sudo apt install systemd

使用nano创建服务配置文件frps.service。

sudo nano /etc/systemd/system/frps.service

写入如下内容。

[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
ExecStart = /etc/frp/frps -c /etc/frp/frps.toml

[Install]
WantedBy = multi-user.target

Ctrl+O保存,Ctrl+X退出。

3.1.3 管理服务

frps已经配置完成,可以使用如下指令管理frps服务。

sudo systemctl start frps    # 启动
sudo systemctl stop frps     # 停止
sudo systemctl restart frps  # 重启
sudo systemctl status frps   # 查看状态

3.1.4 开机自启

使用如下指令实现开机自启和禁用开机自启。

sudo systemctl enable frps   # 启用开机自启
sudo systemctl disable frps  # 禁用开机自启

3.2 配置frpc

在内网电脑上使用任意方法同样下载frp_0.54.0_linux_amd64.tar.gz文件并解压得到frp_0.54.0_linux_amd64文件夹,进入此文件夹。

3.2.1 frpc

使用vim、nano或者任何文字编辑软件打开frpc.toml,修改为如下内容。

serverAddr = "123.456.789.001"
serverPort = 7000

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

在123.456.789.001处填写公网服务器的真实IP,Ctrl+O保存,Ctrl+X退出。
使用如下命令在/etc下创建frp文件夹,并将frpc和frpc.toml复制到此。

sudo mkdir -p /etc/frp
sudo cp frpc /etc/frp
sudo cp frpc.toml /etc/frp

同时需要开放内网电脑(client)的6000和7000端口。

3.2.2 创建frpc服务

同样使用systemd管理服务,若无请按上述frps中方法安装,使用nano创建服务配置文件frpc.service。

sudo nano /etc/systemd/system/frpc.service

写入如下内容。

[Unit]
Description = frp client
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
ExecStart = /etc/frp/frpc -c /etc/frp/frpc.toml

[Install]
WantedBy = multi-user.target

Ctrl+O保存,Ctrl+X退出。

3.2.3 管理服务

frpc已经配置完成,可以使用如下指令管理frpc服务。

sudo systemctl start frpc
sudo systemctl stop frpc
sudo systemctl restart frpc
sudo systemctl status frpc

3.2.4 开机自启

使用如下指令实现开机自启和禁用开机自启。

sudo systemctl enable frpc
sudo systemctl disable frpc

3.2.5 定时重启服务(可选)

服务器端一般比较稳定,且如果出现问题可以通过公网IP远程连接解决。但内网电脑有可能因为停电、网络不稳等问题导致frpc服务不稳定,所以可以使用crontab实现frpc服务的定时重启,若无crontab可使用如下指令安装。

sudo apt install cron

使用如下指令进入crontab的编辑界面。

sudo crontab -e

在最后加入如下内容,即可实现一小时重启一次frpc服务。

0 * * * * systemctl restart frpc

4 ssh连接

若希望通过公网IP访问的内网电脑有如下用户。

用户名:user
密码:123

则ssh远程连接的信息如下。

IP:123.456.789.001  # 公网服务器的IP
端口:6000
用户名:user          # 内网电脑的用户名
密码:123             # 内网电脑的密码

ssh远程连接指令如下。

ssh [email protected] -p 6000

若有提示(yes/no/[fingerprint])?请输入yes并回车,再输入密码123回车即可连接。

你可能感兴趣的:(tcp/ip,阿里云,腾讯云,华为云,ssh,ubuntu,linux)