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. NOIP 2013 P1967 货车运输

    倍增求LCA+最大生成树 题目给出的是一张图,在图上有很多算法无法实现,所以要将其转化为树 题中可以发现货车的最后的载重量是由权值最小的一条边决定的,所以我们求最大生成树 求完最大生成树后我们得到一个 ...

  2. 求0到n之间素数个数的序列

    要求: (1) 找出0-1000之间素数(2) 设f(n)表示0-n之间的素数个数,计算出当n=0,1,2,3,.....,997时f(n)的值,并写入文件 分析: 首先找素数使用一个效率较高的方法- ...

  3. [python学习手册-笔记]001.python前言

    001.python前言 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明 ...

  4. 测试php

    /** * 测试guzzle * * @return void */ public function index() { $client = new GuzzleHttp\Client(); //12 ...

  5. C#设计模式-责任链模式(Chain of Responsibility Pattern)

    引子 一个事件需要经过多个对象处理是一个挺常见的场景,譬如采购审批流程,请假流程,软件开发中的异常处理流程,web请求处理流程等各种各样的流程,可以考虑使用责任链模式来实现.现在以请假流程为例,一般公 ...

  6. Java读取Excel报错Unable to recognize OLE stream

    Unable to recognize OLE stream 的解决方法 将xlsx用excel打开并另存为2003的xls,然后再运行即可解决问题 File file = new File(&quo ...

  7. php 检测敏感字

    public function getMin($content){//调用接口 $content_url ="http://www.ju1.cn/index.php/Index/add.ht ...

  8. makefile 函数

    1. findstring $(findstring <find>, <in>) 从 in 中查找 find ,如果找到则返回find,否则返回空 str1=1111 str2 ...

  9. python之《线程与进程》

    多线程的应用场景 不适用cpu操作密集型任务, 适合io操作密集型任务 同一进程中的数据是互通的,因为python多线程是假多线程,我们要用到多核就需要开多个进程来实现,但是坏处是数据不能互通 线程: ...

  10. centos6安装calamari

    安装操作系统 首先安装操作系统centos6,安装过程选择的是base server,这个不相同不要紧,出现缺少包的时候去iso找出来安装就可以了 calamari的简单介绍 首先简单的介绍下cala ...