服务端 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
服务端启动成功
客户端
下载 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
客户端启动成功
测试
根据配置,现在我们来通过访问服务端的 6000 端口来登陆客户端ssh


成功
设置开机启动
服务端
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 frpssystemctl 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 frpcsystemctl start frpc