简介
内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。简易示意如下:
可以把内网穿透当成是由公网设备为内网设备和网络用户之间的中间人,使得网络用户可以直接访问原本不可能访问得的内网资源。
常见用法
- 远程桌面(3389端口代理-tcp)
- 远程shell管理(22端口代理-tcp)
- 本地网站公网映射(-http)
- 其余玩法自己去发掘
个人搭建
预备资源
注意:如果你是在linux上部署服务端,而在windows上启动客户端,那么请下载linux和windows的安装资料,分别使用linux的frps文件、windows的frpc作为服务端和客户端执行程序。
项目部署
服务端
初步部署
-
第一步:先下载自己需求的对应压缩包
-
第二步:将解压后的压缩包中的frps和frpc文件分类,前者对应服务端使用,后者对应客户端使用
-
第三步:将frpc的文件保存在本地,其余文件上传到服务器中
-
第四步:打开服务器的6000和7000端口(云服务器需要到服务器的安全组中开启)
-
第五步:终端进入frp的文件保存目录,执行
-
./frps -c ./frps.ini
——(Linux启动命令) -
frps.exe - c frps.ini
——(windows启动命令) -
启动成功
-
-
当然,这只是很简单的使用其默认配置,它的配置文件在frps_full.ini中,自己如有需求,参照官方的资料和其他资料都是可以的
服务端后台自运行
-
因为服务端是通过终端启动,所有当终端关闭后,服务端也将随之关闭。那我们就需要一种方法使得服务端可以长期保活。
-
使用环境
-
腾讯云
-
Centos7
-
宝塔面板
-
-
使用宝塔的Supervisor管理器(软件商店免费)进行后台保活
-
名称随意,运行目录填写frp文件所在地
-
执行命令,建议使用文件的绝对路径(使用./frps - c ./frps.ini 命令启动失败)
命令示例: frps绝对路径 -c frps.ini绝对路径 /www/wwwroot/frps -c /www/wwwroot/frps.ini
-
客户端
配置连接
- 修改frpc.ini文件内容
[common]
server_addr = xx.xx.xx.xx(填写你的服务器端IP地址)
server_port = 7000
[ssh]
type = tcp(代理方式)
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000(所有数据由6000端口进行传递,服务器6000端口也承担着数据接收和传递的工作)
- 配置token值(frpc_full.ini)
# auth token
token = 12345678(更改为自己先前修改的token,同步frps_full.ini)
启动代理
-
第一步:终端到达frpc存放文件目录下
-
第二步:执行启动指令
- windows——
frpc -c frpc.ini
- lilnux——
./frpc -c ./frpc.ini
- windows——
-
启动成功
测试运用
-
测试环境
- centos虚拟机(ip地址:192.168.109.133)
- 代理配置
[common] server_addr = 42.192.0.129 server_port = 7000 [ssh] type = tcp local_ip = 192.168.109.133 local_port = 22 remote_port = 6000
-
穿透成功(内网的Centos虚拟机成功的由公网进行链接)
-
至于更多的操作,就看个人发挥了哦。
-
注意,进行链接操作时,远程服务器是由6000端口进行数据服务的!(后续进行操作时,公网端口一致填6000)