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. .netcore3.1使用log4net/nlog记录日志

    .netcore3.1使用log4net/nlog记录日志 .netcore3.1与2.x之间很是有不少差异的.本来想通过ctrl+c,ctrl+v将在2.2中实现的简单日志记录搬到.netcore3 ...

  2. 用spring-retry注解自动触发重试方法

    原文地址:https://www.jianshu.com/p/ee02d6125113 需求背景: 有些时候我们再调用一些第三方服务的时候,从第三方那边拉数据. 但是第三方服务不是100%稳定的,有些 ...

  3. sublime中插件

    AllAutocomplete Emmet

  4. Ubuntu 18.04 Java JDK/JRE 安装命令

    安装默认版本 sudo apt install default-jdk Java 8 sudo apt install openjdk-8-jdk 如果我们在服务器上安装了多个Java版本,我们可以使 ...

  5. 第三方库文件Joi对数据进行验证的方法以及解决Joi.validate is not a function的问题

    Joi:javaScript对象的规则描述语言和验证器 1.npm install joi@14.3.1 2.建立joi.js文件 3.导入第三方包joi const Joi = require('j ...

  6. Interface(接口分享)第一节

    一.接口初探 有时候我们传入的参数可能会包含很多的属性,但是编译器只会检查那些必须的属性是否存在,以及类型是否匹配,而咱们要讲的接口其实就是用来描述下面这个例子里的结构,对于接口传入的数据咱们只关心它 ...

  7. http 请求体数据--ngx

    HTTP包体的长度有可能非常大,不同业务可能对包体读取 处理不相同, 比如waf, 也许会读取body内容或者只是读取很少的前几十字节.所以根据不同业务特性,对http body 数据包处理方式不同, ...

  8. Socket accept 简要分析

    accept 用于从指定套接字的连接队列中取出第一个连接,并返回一个新的套接字用于与客户端进行通信,示例代码如下 #include <sys/types.h> /* See NOTES * ...

  9. Flink Native Kubernetes实战

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  10. Python生成csv中文乱码解决办法

    前言 在Linux下面用python进行数据处理,然后输出为csv格式,如果没有中文一切正常,但是如果有中文,就会出现乱码的问题,本篇将讲述怎么处理这个问题 处理过程 原始代码 #!/usr/bin/ ...