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 =
# 仪表盘端口
dashboard_port =
# 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 =
# 与vps保持一致
token = frptoken1
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port =
remote_port =
use_encryption = true
use_compression = true
# [web]
# type = http
# local_port =
# subdomian = web
# use_encryption = true
# use_compression = true

2.3 frp客户端执行

./frpc -c frpc.ini

出现success即可

现在可以在我本机 ubuntu18 上ssh

ssh -oPort= root@vpsip 

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

参考

frp进行内网穿透

官网

最新文章

  1. 从零开始学 Java - CentOS 下安装 Tomcat
  2. Poisson Distribution——泊松分布
  3. iOS开发——时间格式类
  4. css3实现非矩形图片效果
  5. 让C# Excel导入导出,支持不同版本的Office
  6. VS2010里属性窗口中的生成操作
  7. JavaScript高级程序设计7.pdf
  8. 关于 pace 有意思的一篇文章
  9. rabbitMQ教程(三) spring整合rabbitMQ代码实例
  10. 【poj 1087 a plug for UNIX】
  11. kubernetes 部署
  12. 微信小程序写tab切换
  13. turtle画王思聪吃热狗(杨艳春,何金凝小组)
  14. SQL 生日得到年龄
  15. 利用idea解决git代码冲突问题
  16. uva-10670-贪心
  17. Scala学习(六)---Scala对象
  18. 初探VBScript
  19. patch-test-and-proc
  20. Windows XP系统服役13年今正式退休

热门文章

  1. 微信小程序块导航
  2. 可持久化0-1 Trie 简介
  3. Allegro 反射仿真--仿真设置
  4. C++-Typedef结构体遇上指针
  5. 【模板】堆优化的dijkstra
  6. win10下安装es
  7. Python_内置函数和匿名函数
  8. char nchar varchar nvarchar varchar2区别
  9. jdk之java.lang.Integer源码理解
  10. 【译】用 `Wasmer` 进行插件开发 1