frp实现内网穿透教程

frp

目的:在局域网外远程控制局域网内的服务器

方法:使用frp实现内网穿透教程

github地址:https://github.com/fatedier/frp

1.云服务器

一台

以下出现的和云服务器相关的端口(本文中为7000.7001)记得在安全组中开放,否则不成功

根据服务器架构下载相应版本,我的是x86_64 就选择amd64

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

tar -zxvf frp_0.37.0_linux_amd64.tar.gz

mv frp_0.37_linux_amd64 frp37

cd frp37

ls -l

vim frps.ini

frps 是服务端程序,frps.ini 是服务端配置文件

frpc 是客户端程序,frpc.ini 是客户端配置文件

服务端我们需要修改的是 frps.ini 文件

这个文件应有如下格式

[common] bind_port = 7000 token = abc123

#以下可不配置(因为以上就可以达到我的目的,以后若我有用到下面的再来补充)
dashboard_port = 7500 dashboard_user = user dashboard_pwd = password vhost_http_port = 10080 vhost_https_port = 10443

一般只设置:

bind_port = 7000 token = abc123 (理论上来讲token也可以不设置,有了更安全)

这两个即可

分别代表frps服务端的监听端口号和用于客户端和服务端连接的口令token(frpc客户端必须设置一样的token才能连接)

./frps -c frps.ini
# 启动服务端
2021/06/29 15:58:55 [I] [root.go:200] frps uses config file: frps.ini
2021/06/29 15:58:55 [I] [service.go:192] frps tcp listen on 0.0.0.0:7001
2021/06/29 15:58:55 [I] [root.go:209] frps started successfully
# 启动成功
# 稍后介绍使用systemctl控制启动

2.内网服务器

比如linux服务器

以上相同的步骤配置frpc,注意此时是配置frpc,客户端

云服务器配置的是frps,服务端

编辑frpc.ini

[common]
server_addr = xx.xx.xx.xx
server_port = 7000
token = abc123
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7001

server_addr 配置为你的公网IP

server_port 和服务端(frps.ini)的 bind_port 一致

local_port 为ssh默认端口号 22

remote_port 为远程连接时使用的端口号(Port=remote_port)

./frpc -c frpc.ini
# 启动客户端

3.测试

在局域网外使用ssh连接

ssh -o Port=<remote_port> <内网服务器用户名>@<云服务器公网IP>
# 输入内网服务器的密码
# 测试是否成功

4.systemctl管理frp

方法一

以配置服务端(即云服务器)为例:

vim /etc/systemd/system/frps.service

写入以下内容
.service文件再已经下载好的frp/frp37/systemd目录下有,可直接使用 复制到/etc/systemd/system/下(推荐使用,方法二中介绍)

[Unit]

Description=frps service After=network.target syslog.target Wants=network.target

[Service]

Type=simple
 
ExecStart=此处写你的frps的实际安装目录/frps -c 此处写你的frps的实际安装目录/frps.ini
  
[Install] 

WantedBy=multi-user.target

客户端同理 把frps改为frpc即可

方法二

以配置客户端(即实际需要控制的服务器)为例:

使用已经下载好的frp/frp37/systemd目录下的.service文件

sudo cp -r path/to/frp/frp37/systemd/frpc.service /etc/systemd/system/
sudo cp -r path/to/frp/frp37/frpc /usr/bin/
sudo cp -r path/to/frp/frp37/frpc.ini /etc/frp/

服务端同理

sudo cp -r path/to/frp/frp37/systemd/frps.service /etc/systemd/system/
sudo cp -r path/to/frp/frp37/frps /usr/bin/
sudo cp -r path/to/frp/frp37/frps.ini /etc/frp/

其他

# 启动 frp 并设置开机启动
systemctl enable frpc
systemctl start frpc
systemctl status frpc

# 部分服务器上,可以需要加 .service 后缀来操作,即:
systemctl enable frpc.service
systemctl start frpc.service
systemctl status frpc.service

参考:

FRP搭建内网穿透(亲测有效)_locyanfrp-CSDN博客

各种踩坑后终于实现使用frp完成远程桌面连接 - 知乎 (zhihu.com)

Frp 官方文档介绍

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值