frp内网穿透的简单使用

  • 一、frp简介
  • 二、使用条件
  • 三、使用情景
  • 四、安装流程
  • 1.下载安装压缩包
  • 2.解压压缩包
  • 3.修改配置文件
  • 4.跑起来
  • 5.验证
  • 五、CentOS7 可能需要用到命令
  • 六、小问题


一、frp简介

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
Github上面有中文文档。

二、使用条件

  • 需要一台云服务器,带有公网IP,本文假设为:119.23.111.188
  • 内网机器(公司、宿舍、家里)一台或多台都可以

三、使用情景

  • 用任意可以上网的电脑或手机远程自家公司或者家里的电脑
  • 所拥有的云服务器性能差,想用家里的电脑充当服务器
  • 爱折腾

四、安装流程

此次安装服务器系统为linux或windows,被远程机器为linux
更多信息,请访问frp的GitHub:https://github.com/fatedier/frp

1.下载安装压缩包

下载地址:https://github.com/fatedier/frp/releases 根据对应的系统进行下载,需要注意的是每个压缩包里都包含了该系统的服务端与客户端(被远程),按需使用即可,另外github下载会比较慢。

注意: 需要把具体的压缩包地址换成自己想要的

linux:wget https://github.com/fatedier/frp/releases/download/v0.27.0/frp_0.27.0_linux_386.tar.gz
window:直接下载即可

2.解压压缩包

linux:tar frp_0.27.0_linux_386.tar.gz
window:直接解压

3.修改配置文件

每个压缩包解压出来都是包含服务端和客户端的配置文件,服务端上只需要修改服务端的配置文件frps.ini 客户端只需要修改客户端配置文件 frpc.ini

  • 服务器端:
# frps.ini
[common]
bind_port = 65000

说明:bind_port 为配置客户端连接服务器的传入地址,要与客户端配置一致

  • 客户端:
# frpc.ini
[common]
server_addr = 119.23.111.188
server_port = 65000

[range:test_tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 6000-6006,22
remote_port = 6000-6006,222

说明:
server_addr填的是服务器地址
server_port填的是在服务器中填的空闲端口
local_ip填的是需要映射的本地ip,127.0.0.1表示本机
local_port填的是需要穿透的端口
remote_port填的是穿透端口在服务端的对应端口

也就是说,我访问119.23.111.188:222,就相当于访问客户机的127.0.0.1:22

4.跑起来

这些命令的执行,一定是在包含frpc.ini、frps.ini等文件的目录中执行,具体Linux可以用pwd和ls命令来查看,windows肉眼可见

  • 服务器端:
linux执行:./frps -c ./frps.ini
windows cmd执行:frps.exe -c frps.ini
  • 客户端
linux执行:./frpc -c ./frpc.ini
windows cmd执行:frpc.exe -c frpc.ini

5.验证

可以在任一台可以上网的机器登陆本地的linux,通过的ip与port是119.23.111.177和222(因为linux的ssh远程端口默认为22,在客户端配置文件中已设置将22端口映射为服务端的222端口)

五、CentOS7 可能需要用到命令

  • yum install wget
  • yum install zip unzip
  • tar -xzvf file.tar.gz

六、小问题

  • linux或者windows的执行运行命令的窗口不能终止,即不能断开,linux 考虑nohup
  • 如果你的客户端机器是windows,远程的端口就不是22,具体百度
  • 更多使用方法和改进,请移步官方:https://github.com/fatedier/frp