1. 环境

a)         公网服务器为阿里云的ECS  Windows  2008 R2服务器, 有公网IP地址; 这个作为frp的服务器

b)         内网是开发服务器, Centos 7

c)         在https://github.com/fatedier/frp/releases 下载最新的frp包  ;当前最新的是0.25.3(2019年3月27日21:55:28)

d)         其中windows_amd64对应的就是windows 64位系统; linux_amd64对应的就是64位linux系统;

2. 先说配置windows服务器端:

a)  把frp_0.25.3_windows_amd64.zip复制到服务器上, 解压到C:\frp的目录下, 没有用的删除, 下图:

  

  b)         修改frps.ini文件, 输入以下内容:

[common]

bind_addr = 0.0.0.0

bind_port = 7000

dashboard_port = 7500

dashboard_user = admin

dashboard_pwd = admin

log_file = ./frps.log

log_level = error

token = 12345678

  下图:

  

  c)         管理员命令打开cmd, 输入下图命令回车, 启动frps服务:

    C:\Users\Administrator>c:\frp\frps.exe -c c:\frp\frps.ini

  

  d)         打开任务管理器, 看看frps.exe启动没有

  

  e)         使用浏览器访问公网IP地址:7500,在输入admin/admin后将看到下图界面:

  

2. Frp服务器端配置完毕; 接下来配置frp客户端, 因为客户端是内网用的Centos 7开发服务器, 所以需要先下载frp_0.25.3_linux_amd64.tar.gz; 使用xftp工具上传到指定目录:

  a) 这里上传到/thisdirsavfile/, 这个目录是我自己建的,当然使用wget也可以, 下图:

  

  b)解压到指定目录:

[root@localhost thisdirsavfile]# mkdir /usr/frp
[root@localhost thisdirsavfile]# tar zxvf frp_0.25.3_linux_amd64.tar.gz -C /usr/frp

c) 编辑frpc.ini文件:

[root@localhost frp]# vim frp_0.25.3_linux_amd64/frpc.ini

#输入下面的内容

[common]

server_addr =你的IP地址

server_port = 7000

token = 12345678(这个token一定要和服务器的对应)

[ssh]

type = tcp

local_ip = 127.0.0.1

local_port = 22

remote_port = 6000

  d)  启动客户端的frp服务:

[root@localhost frp]# cd frp_0.25.3_linux_amd64/

[root@localhost frp_0.25.3_linux_amd64]# ./frpc -c ./frpc.ini

2019/03/28 03:45:14 [I] [service.go:221] login to server success, get run id [8a139b4ec11a8e1b], server udp port [0

2019/03/28 03:45:14 [I] [proxy_manager.go:137] [8a139b4ec11a8e1b] proxy added: [ssh]

2019/03/28 03:45:14 [I] [control.go:144] [ssh] start proxy success 

  e)使用Xshell进行测试连接:

   i.  新建会话

    ii. 这里是输入内网linux服务器的用户名和密码:

     iii.输入完密码之后即可穿透成功

  f) 注意的问题:

i.  因为是阿里云的服务器, 所以一定要在安全组放行frp使用到的端口

ii.  我这里内网开发的服务器, 所以直接把Centos 的防火墙关了, 端口放行的问题根据自己的实际情况

iii.  注意服务端和客户端frp的token一定要对应

iv.  停止windows的服务器端, 到任务管理器中把frps.exe结束任务

v. 停止linux上的frpc, 则使用下面的命令:

[root@localhost frp_0.25.3_linux_amd64]# ps -aux|grep frp
root 793 0.0 0.0 112724 988 pts/1 S+ 04:39 0:00 grep --color=auto frp
root 32303 0.0 0.0 112648 12332 pts/0 Sl+ 04:22 0:00 ./frpc -c ./frpc.ini
[root@localhost frp_0.25.3_linux_amd64]# ps -aux|grep frp|grep -v grep
root 32303 0.0 0.0 112648 12332 pts/0 Sl+ 04:22 0:00 ./frpc -c ./frpc.ini
[root@localhost frp_0.25.3_linux_amd64]# kill -9 32303

  vi. 作为后台服务启动, 如果不作为后台服务启动, 你的ssh一关闭, 服务也关闭了

[root@localhost ~]# nohup /usr/frp/frp_0.25.3_linux_amd64/frpc -c /usr/frp/frp_0.25.3_linux_amd64/frpc.ini

  vii. 使用脚本设置开机启动, 并后台运行

[root@localhost ~]# vim /usr/lib/systemd/system/frpc.service 

[Unit]
Description=frpc
After=network.target [Service]
TimeoutStartSec=30 ExecStart=/usr/frp/frp_0.25.3_linux_amd64/frpc -c /usr/frp/frp_0.25.3_linux_amd64/frpc.ini
ExecStop=/bin/kill $MAINPID [Install]
WantedBy=multi-user.target

  viii. 执行脚本命令:

[root@localhost ~]# systemctl enable frpc  --开机启动
[root@localhost ~]# systemctl start frpc --启动frpc
[root@localhost ~]# systemctl stop frpc --停止frpc

  iv. token错误:

[root@localhost frp_0.33.0_linux_amd64]# ./frpc -c ./frpc.ini
2020/06/24 15:35:02 [E] [service.go:273] token in login doesn't match token from configuration
2020/06/24 15:35:02 [W] [service.go:101] login to server failed: token in login doesn't match token from configuration
token in login doesn't match token from configuration

不知道怎么回事, 后来把 frpc.ini里的token直接删了, 就可以了

 

0001_20190327_使用frp搭建内网穿透的更多相关文章

  1. 使用frp进行内网穿透,实现ssh远程访问Linux服务器

    搭建一个完整的frp服务链需要: VPS一台(也可以是具有公网IP的实体机) 访问目标设备(就是你最终要访问的设备) 简单的Linux基础(如果基于Linux配置的话) 我这里使用了腾讯云服务器作为服 ...

  2. 疫情之下,使用FRP实现内网穿透,远程连接公司电脑进行办公

    当前情况下,经常会有需要到公司电脑进行一些操作,比如连接内网OA,数据库或者提交文档.为了减少外出,将使用frp进行内网穿透的方法进行一个说明. 前提条件 1. 一台拥有公网 IP 的设备(如果没有, ...

  3. 基于frp的内网穿透实例4-为本地的web服务实现HTTPS访问

    原文地址:https://wuter.cn/1932.html/ 一.想要实现的功能 目前已经实现将本地的web服务暴露到公网,现想要实现https访问.(前提:已经有相应的证书文件,如果没有就去申请 ...

  4. frp实现内网穿透

    frp实现内网穿透 目标 通过外网访问内网设备,本文中实现通过手机的移动流量,可以访问到树莓派设备 设备准备 需要被访问的设备(本文中使用Raspberry Pi`).公网IP设备(本文中使用阿里云 ...

  5. frp+nginx内网穿透

    frp+nginx内网穿透 背景:自己有台内网Linux主机,希望被外网访问(ssh.http.https): 准备工作 内网Linux主机-c,可以访问c主机和外网的主机-s(windows/lin ...

  6. frp 用于内网穿透的基本配置和使用

    frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...

  7. 分享下超实用的用skura frp做内网穿透的经验

    操作目的: 使无公网ip的主机能被外网访问,实现ssh对服务器的远程管理 硬件准备: 1.服务端:skura frp主机(skura frp 免费提供,有待创建) 2.客户端:接在无线路由器(内网)上 ...

  8. 使用FRP做内网穿透

    Github地址:https://github.com/fatedier/frp 什么是FRP? frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 h ...

  9. 如何使用 frp 实现内网穿透

    这有一个专注Gopher技术成长的开源项目「go home」 背景 作为一名程序员,家里多多少少会有一些落了灰的电脑,如果把闲置的电脑变成服务器,不仅有良好的配置,还能用来做各种测试,那就再好不过了. ...

随机推荐

  1. 电脑查看当前自己的wifi密码

    菜单+R 输入control  点击确认.

  2. Jmeter——ForEach Controller&Loop Controller

    今天来分享下Jmeter中的2款循环控制器,ForEach Controller和Loop Controller,在使用上还是有所区别. ForEach Controller ForEach Cont ...

  3. 第 2 篇:上手 Vue 展示 todo 列表

    作者:HelloGitHub-追梦人物 追梦人物的 Vue 系列教程在他的博客已经全部更新完成,地址: https://www.zmrenwu.com/courses/vue2x-todo-tutor ...

  4. 关于Java中泛型、反射和注解的扫盲篇

    泛型 泛型概念   泛型是在JDK1.5之后引入的,旨在让我们写出更加通用化,更加灵活的代码.通用化的手段在于让数据类型变得参数化,定义泛型时,对应的数据类型是不确定的,泛型方法被调用时,会指定具体类 ...

  5. Docker 实战(2)- 配置 Jenkins 容器上的持续集成环境

    如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 搭建 Jenkins 容器 就是 ...

  6. 19Jinja2中宏定义

    1 @app.route('/') 2 def hello_world(): 3 return render_template('index.html') 4 5 6 {% macro input(n ...

  7. CSS渐变中是如何定义渐变线的

    在CSS语法中用户代理对渐变gradient语法的解析渲染离不开渐变线.渐变分为线性渐变(linear gradient)和径向渐变(radial gradient). 渐变在元素盒模型中backgr ...

  8. 采用“传统”方式获取当前HttpContext

    我们知道"依赖注入"已经成为了.NET Core的基本编程模式,表示当前请求上下文的HttpContext可以通过注入的IHttpContextAccessor服务来提取.有时候我 ...

  9. tcp 拥塞控制引擎&状态机

    TCP核心:流量控制   拥塞控制 流量控制:滑动窗口来实现, 防止接收方能够处理过来 拥塞控制:防止过多的包被发送到网络中,避免出现网络负载过大 说一说 拥塞控制: 拥塞控制状态机的状态有五种,分别 ...

  10. TCP协议原理与格式初探

    目录 可靠数据传输原理 停等传输下的情况 1.经过完全可靠信道的可靠数据传输 2.经具有比特差错信道的可靠数据传输 3.经具有比特差错的丢包信道的可靠数据传输 流水线传输 1.回退N步(Go-Back ...