frp内网穿透

由于网络资源受限,部分服务器只有私网 IP ,没有公网 IP,即部分服务器无法被公网访问。但是有时我们需要通过公网对一些服务器进行访问,这样就出现了内网穿透。

1.工作原理

其本质是通过一台有公网 IP 的服务器,通过对应的协议和端口,和无公网服务器之间建立起一条虚拟隧道,达到让无公网 IP 的服务器也能被公网访问的目的。

2.配置

内网穿透有多个工具,具体参考:https://zhuanlan.zhihu.com/p/303175108 这里选择 frp 进行内网穿透,通过其工作原理可知,做内网穿透必须要有两台服务器:

  1. 具有公网 IP 的服务器(VPS),也叫服务端
  2. 无公网 IP 的服务器(目标服务器),称为客户端,即目标的主机

2.1 服务端配置

下载对应的 frp 压缩包
官网链接:https://github.com/fatedier/frp/releases/

mkdir ~/frps cd ~/frps wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz 

解压压缩包

tar -zxf frp_0.37.1_linux_amd64.tar.gz 

修改配置文件

cd frp_0.37.1_linux_amd64 vi frps.ini 

frps.ini:

[common] bind_port = 7000 token = <the conenntion passwd> # dashboard相关配置,可以通过网页登录dashboard dashboard_port = 7500 dashboard_user = <web interface login username> dashboard_pwd = <web user login password> 

bind_port: 与客户端连接时的端口, 客户端和服务端的该地址需要一致

dashboard_port: 管理界面端口

token: 与客户端连接时的密钥,客户端也需要有对应token的配置,否则无法连接

dashboard_user: 管理界面用户账号

dashboard_pwd: 管理界面账号密码

启动服务

./frps -c ./frps.ini & 

在这里插入图片描述
【重要提醒】服务端记得放开服务器的端口,比如上面用到的7000和7500端口,都要在服务器的防火墙中放行。

2.2 WINDOWS客户端配置

1、下载对应 frp 压缩包
官网下载链接:https://github.com/fatedier/frp/releases
在这里插入图片描述
2、将 frp_0.33.0_windows_amd64.zip 解压至任意目录

3、进入解压目录这里所有 frpc 开头的文件都是客户端文件,所以全部删了,我们服务器只需要 frps 开头的文件

4、配置客户端
我们打开 frpc.ini

# 通用配置 [common] # 服务端地址及端口 server_addr = 你的公网ip server_port = 7000 token = 与服务端配置的密码一致 # 将本地 ssh 映射到服务器 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 # 发布本地 web 服务 [web] type = tcp # 本地回环ip local_ip = 127.0.0.1 # 5000一般为flask的默认开放端口 local_port = 5000 # 云服务器的80端口 remote_port = 80 

最后,必须吐槽一下NATAPP,花了我9块钱,完全不好使。。。不清楚的文档一步一坑每一步都要交钱。还是frp好用。

参考文档:https://causehhc.github.io/2021/04/use-frp-to-achieve-intranet-penetration/

原文链接:https://blog.csdn.net/loongkingwhat/article/details/130567885

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享