frp项目

如果你想把家里的电脑当做服务器用,做一个网站或者游戏服务器什么的,肯定会遇到一个问题:由于没有公网IP,而且有家里的路由器把关,导致其他地方的人完全无法连接到服务器。这时候就需要内网穿透和端口映射工具了,这样的工具有很多,我列举常用的几个:

  • 花生壳
  • nat123
  • ngrok

不过这几个工具虽然都算是挺好用的,但是都是收费的,虽然都有免费版,但是免费版功能实在太少,基本上只能绑定一个应用,端口号还是随机的。临时玩玩倒是可以,真正要用的话还是不行。经过一番寻找,最后我锁定了frp这个工具,它的优点就是完全开源免费,自定义配置;缺点是不提供服务,也就是说我们需要自己买个服务器在上面搭建。

下载

frp也是托管在Github上的开源项目,直接到Release页面下载即可,链接如下:

https://github.com/fatedier/frp/releases
图片.png

下载解压之后是一个文件夹,里面包含了frpc、frps可执行程序,以及它们对应的示例配置文件,前者是客户端程序,后者是服务端程序。运行frp需要同时运行客户端和服务端程序才行。full和min分别是最大和最小配置文件,如果需要参考的话可以打开看看,最大配置文件中列出了frp支持的所有选项。

服务端配置

首先我们看看如何配置frp的服务端。服务端配置比较简单,如果不使用高级功能的话,只需要两三行就可以了。

# frps.ini
[common]
bind_port = 7000
token = 123456

bind_port是服务端与客户端之间通信使用的端口号,默认就可以。token用于验证连接,只有服务端和客户端token相同的时候才能正常访问。如果不使用token,那么所有人都可以直接连接上,所以我建议大家在使用的时候还是把token加上。

配置完毕后就可以启动服务端了,启动命令也很简单:

frps -c frps.ini

一般情况下服务端这么配置就可以了,大部分配置都是在客户端的配置文件中处理。作者这样设计还是挺合理的,将来如果有改动的话,只需要修改客户端配置文件,服务端一般情况下不需要改动。

端口转发

下面来看看客户端配置,frp可以实现很多常用功能,都是在客户端配置文件中完成配置。首先来看看最基本的端口转发配置。

# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
token = 123456
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

首先是common下的配置项,需要和服务端配置文件相同。然后是ssh下的配置,type是连接类型,大部分应用都是tcp协议的,所以这里就写tcp就好;local_ip是本地ip,默认127.0.0.1即可;local_port是要转发的端口号,官方实例中这里是远程转发SSH,所以端口号是22,如果你想做游戏服务器的话,改成对应的端口号即可;remote_port是端口转发之后暴露在外网的端口号。

客户端配置完毕之后,就可以启动了,启动命令类似:

frpc -c frpc.ini

如果你想简单把本地部署的网站开放出去,也可以以这种方式直接将本地80端口转发出去。如果你购买了域名,希望别人通过域名访问本地网站,还可以使用接下来要介绍的,专门的web转发功能。

转发web服务

首先是服务端,需要添加vhost_http_port参数:

# frps.ini
[common]
bind_port = 7000
vhost_http_port = 80

然后是客户端,注意web下的参数,type是协议类型,http或者https,local_port是本地网站的端口号,custom_domains是购买的网站域名,需要注意这个网站域名需要事先在域名服务商那里设置好域名解析才能正常使用。

# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
[web]
type = http
local_port = 8080
custom_domains = www.yourdomain.com

配置完成后,访问服务器网址http://x.x.x.x即可看到部署在本地http://localhost:8080上的网站。如果需要https的话,只要把vhost_http_port改成vhost_https_port,再把客户端web下type设置为https即可。

仪表盘

frp还支持仪表盘功能,可以从网页查看运行的流量等信息。开启仪表盘需要在服务端进行设置。

# frps.ini
[common]
dashboard_port = 7500
# dashboard 用户名密码,默认都为 admin
dashboard_user = admin
dashboard_pwd = admin

设置完毕后,在浏览器中访问服务端地址:端口号并输入用户名与密码即可查看仪表盘。

仪表盘

以上就是frp的一些介绍,如果有需要的请查看官方中文文档,详细列出了frp支持的各项功能,还可以参考frpc_full.ini与frps_full.ini,查看完整配置文件支持的选项。文档地址:

https://github.com/fatedier/frp/blob/master/README_zh.md

太阳神三国杀游戏服务器搭建

以前我也了解过frp,不过基本没用过。这几天和同学玩三国杀,我突然想到以前经常玩的太阳神三国杀,后来因为没有公网IP,再也没有和同学联机过。有了frp,我就可以让同学连接到我的游戏主机上。

服务端配置仍然是非常简单的那几行,就不说了。重点是客户端配置,其实也很简单,太阳神三国杀游戏使用的端口号是9527,所以直接把端口号改为9527即可。然后连接的时候输入服务器IP即可。

[common]
server_addr = xxxx
server_port = 7000
token = xxxxx

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 9527
remote_port = 9527

内网穿透工具frp简易教程相关推荐

  1. 内网穿透工具---frp使用教程

    前言 最近在研究内网渗透的一些东西,碰到了需要内网穿透的情况,使用了几款工具后,就来总结一下啦. 介绍frp frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, ...

  2. 安排几款实用的内网穿透工具(加教程)

    点击关注公众号,利用碎片时间学习 0x00 前言 本文以渗透的视角,总结几种个人常用的内网穿透,内网代理工具,介绍其简单原理和使用方法. 0x01 nps-npc 1.1 简介 nps是一款轻量级.高 ...

  3. 内网穿透工具nps使用教程 - 来自内部交流群

    内网穿透工具nps使用教程.docx 内网穿透工具nps使用教程 感谢 感谢开源软件开发者,github链接https://github.com/cnlh/nps/ 感兴趣的去star下吧~ 视频教程 ...

  4. 启动go服务_内网穿透工具 FRP公网服务端、内网客户端快速配置文件说明

    内网穿透工具 FRP 公网服务端.内网客户端 frps.ini .frpc.ini 配置文件常用设置展示及说明 公网服务端 frps.ini 配置文件常用设置 公网服务端配置文件:frps.ini [ ...

  5. 中秋征文 | 【云原生之Docker】使用docker部署内网穿透工具FRP

    中秋征文 | [云原生之Docker]使用docker部署内网穿透工具FRP 一.卷首语 二.FRP介绍 1.frp简介 2.frp支持的系统 3.本次frp部署目的 三.检查本地docker状态 1 ...

  6. 一款很好用的内网穿透工具--FRP

    前言 对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器上的服务是一个问题. 今天给大家介绍一款好用内网穿透工具 FRP,FRP 全名:Fast Reverse Proxy.FRP 是一 ...

  7. frp 后台地址_内网穿透工具frp搭建与使用详细教程

    简介:FRP(Fast Reverse Proxy) 是一款简单,好用,稳定的隧道工具.FRP 使用 Go 语言开发,它是一款高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务.FRP 支持 ...

  8. Ngrok(内网穿透工具)使用教程详解

    简介 国内Ngrok官网地址 Ngrok是什么? ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道 ngrok 可捕获和分析所有通道上的流量,便于后期分析 ...

  9. 架设游戏私服——内网穿透工具frp

    架设游戏私服--内网穿透frp 1. 服务端 2. 客户端 3. exe消失之谜 适用场景: 拥有一台云服务器服务商提供的拥有公网ip的低配服务器. 拥有一台高配家用机,但是位于动态ip的家庭网络甚至 ...

最新文章

  1. 网络安全netstat监听网络状态。
  2. UA MATH523A 实分析2 测度论基础2 集族与单调类
  3. java读取excel数据保存到数据库中_java读取excel的内容(可保存到数据库中)
  4. 用U盘作为启动盘做系统步骤
  5. requirejs的用法(二)
  6. 漫游Kafka设计篇之Producer和Consumer(4)
  7. Hadoop中maptask数量的决定因素
  8. 把块存放在页高速缓存中
  9. dx绘制2d图像_【3D建模】聊聊2D动画软件
  10. linux怎么入侵别人电脑关机,Linux关机执行脚本命令应该怎么做?
  11. 移动端日历插件_“滴答清单”移动端产品分析报告
  12. matlab除水印,基于MATLAB视频处理——抖音小视频去除水印
  13. VScode自动格式化代码减少build时的问题
  14. NVIDIA英伟达GPU显卡算力一览(包含Tesla和GeForce、TITAN及RTX系列等)
  15. 开源项目-绩效管理系统
  16. MATLAB中dither抖动函数的用法
  17. 第三届厦门国际银行数创金融杯金融营销建模大赛-BaseLine
  18. ubuntu下安装lua和luarocks
  19. MOOC清华《程序设计基础》第3章:谁是嫌疑犯(普通循环枚举)
  20. word文档中引用参考文献

热门文章

  1. java http链接_Java下载HTTP URL链接示例
  2. 《Adobe Photoshop CS6中文版经典教程(彩色版)》—第1课1.7节检查更新
  3. 格创东智亮相中国设备管理大会,助力工业设备智能化运维
  4. 例析Alpha-Beta剪枝
  5. 【电影推荐】我的姐姐
  6. python阶乘函数怎么使用
  7. ASEMI整流桥KBP210参数,KBP210规格书,KBP210尺寸
  8. Spring Cloud入门上
  9. MongoDB数据库java配置使用
  10. Unity 布娃娃插件Ragdoll Mecanim Mixer入门使用介绍以及一些坑