frp 使用基础笔记

0x01 简介

为什么需要内网穿透?

  很多时候从公网访问自己内网的设备是困难的,毕竟自己没有一个独立的IP地址。

Frp 服务器进行内网穿透,速度快还十分简单。可以实现很多功能,包括不限于远程桌面,文件共享等。

什么是内网穿透

 使内网的服务器,或者防火墙内的机器,对外提供服务。

原理图,来自参考文章

0x02 环境及安装

centos7 (本地) 192.168.30.100

kali 服务器端(自己的vps)192.168.30.128

本机 ubuntu 18.10 

2.0 下载

下载程序
arch 如果输出是x86_64 则下载linux_amd64那个压缩包 本文是x86_64(绝大多数人都是这个)。

mkdir frp &cd frp
wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz

tar -zxvf frp_0.29.0_linux_amd64.tar.gz
# 更改下文件名
mv frp_0.29.0_linux_amd64 frp
cd frp
# 确保frp具有可执行权限
chmod +x frps

运行 ./frps --help
没问题即可开始配置服务端

若提示-bash: ./frps: cannot execute binary file: Exec format error就说明下错版本了

2.1 服务端设置

 参考官方配置文档写frps.ini 

# 表示配置的开始
[common]
#frp服务端端口 bind_port
= 7000 # 仪表盘端口
dashboard_port
= 7500
# frp服务端密码
token = frptoken1
# 仪表盘默认账号密码
dashboard_user = admin
dashboard_pwd = admin

启动frps

# 使用 -c 参数指定配置文件
./frps -c frps.ini

没有报错出现success。

服务端后台运行

 直接使用启动命令,关闭ssh会话,就会停止运行,因此要使用nohup 使其后台运行。

nohup ./frps -c frps.ini &
# 所有的输出日志写入nohup.out文件中

访问仪表盘7500是可以看见frp的状态的

2.2 客户端设置

 可以参考frps_full.ini说明,下面是转发ssh为例:

frpc.ini

[common]
server_addr = 192.168.30.128
server_port = 7000
# 与vps保持一致
token = frptoken1
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
use_encryption = true
use_compression = true
# [web]
# type = http
# local_port = 80
# subdomian = web
# use_encryption = true
# use_compression = true

2.3 frp客户端执行

./frpc -c frpc.ini

出现success即可

现在可以在我本机 ubuntu18 上ssh 

ssh -oPort=6000 root@vpsip 

对于Windows客户端一样的可以参考后面文章

 参考

frp进行内网穿透

官网

原文地址:https://www.cnblogs.com/Rightsec/p/11576928.html