服务端 IP:192.168.3.6,客户端 IP:192.168.3.5,客户端服务端均为 centos7
需求:通过访问服务端的指定端口来实现登陆客户端 ssh

服务端

下载 frp

wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
需要其它版本前往 https://github.com/fatedier/frp/releases 下载

解压

tar -zxvf frp_0.37.1_linux_amd64.tar.gz

进入文件夹

cd frp_0.37.1_linux_amd64

修改服务端配置

vim frps.ini
[common]
# frp 服务端端口
bind_port = 7000
# frp 服务端密码
token = 7JXEhNAfeJjQiyJe
# 认证超时时间,由于时间戳会被用于加密认证,防止报文劫持后被他人利用
# 因此服务端与客户端所在机器的时间差不能超过这个时间(秒)
# 默认为900秒,即15分钟,如果设置成0就不会对报文时间戳进行超时验证
authentication_timeout = 900

启动

./frps -c frps.ini

image-20211009094942415

服务端启动成功


客户端

下载 frp

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

解压

tar -zxvf frp_0.37.1_linux_amd64.tar.gz

进入文件夹

cd frp_0.37.1_linux_amd64

修改客户端配置

vim frpc.ini

[common]
# frp 服务端地址,可以填ip或者域名
server_addr = 192.168.3.6
# frp 服务端端口,即填写服务端配置中的 bind_port
server_port = 7000
# 填写 frp 服务端密码
token = 7JXEhNAfeJjQiyJe

# 自定义一个配置名称,格式为“[名称]”,放在开头
[ssh]
# 连接类型,填 tcp 或 udp
type = tcp
# 本地ip,填你需要转发到的目的ip
# 如果是转发到frp客户端所在本机(比如路由器)则填 127.0.0.1
# 否则填对应机器的内网ip
local_ip = 127.0.0.1
# 需要转发到的端口,比如 ssh 端口是 22
local_port = 22
# frp 服务端的远程监听端口,即你访问服务端的 remote_port 就相当于访问
# 客户端的 local_port,如果填0则会随机分配一个端口
remote_port = 6000

启动

./frpc -c frpc.ini

image-20211009095435661

客户端启动成功


测试

根据配置,现在我们来通过访问服务端的 6000 端口来登陆客户端ssh

image-20211009095750179

image-20211009095928375

成功

设置开机启动

服务端

vim /etc/systemd/system/frps.service

[Unit]
Description=frps
After=network-online.target

[Service]
Type=simple
ExecStart=/root/frp_0.37.1_linux_amd64/frps -c /root/frp_0.37.1_linux_amd64/frps.ini
Restart=on-failure
User=root

[Install]
WantedBy=default.target

开机自启 & 启动服务

systemctl enable frps
systemctl start frps 

客户端

vim /etc/systemd/system/frpc.service
[Unit]
Description=frpc
After=network-online.target

[Service]
Type=simple
ExecStart=/root/frp_0.37.1_linux_amd64/frpc -c /root/frp_0.37.1_linux_amd64/frpc.ini
Restart=on-failure
User=root

[Install]
WantedBy=default.target

开机自启 & 启动服务

systemctl enable frpc
systemctl start frpc
×