frp内网穿透
1. 内网穿透
内网穿透是一种技术,它允许用户****通过公共网络(如互联网)访问位于私有局域网(内网)中的资源****。这些资源可以是文件、应用程序、服务器等。内网穿透技术的核心目标是打破内外网络的壁垒,使得位于不同网络环境的设备能够相互通信 。
内网穿透的实现通常依赖于端口映射和隧道技术。端口映射是将内网服务器的端口映射到公网的某个端口上,这样外网的用户就可以通过访问这个公网的端口来访问内网服务。隧道技术则是通过在公网上建立一个隧道,将内网的流量转发到公网上,实现内网的透明访问 。
内网穿透技术通过NAT穿透技术,一个普通的内网节点可以在需要时将自己的服务器端口自动呈现在公网上,并让其他节点正确获取这个服务器的地址,以便其他节点能够将自己的数据发送到这个端口。在实际应用中,需要根据具体场景和需求选择合适的方法和技术来实现内网穿透,并采取相应的安全措施来保障通信的安全和可靠性 。
2. frp内网穿透工具使用教程
2.1. frp下载地址
https://github.com/fatedier/frp/releases
本人使用版本下载地址:https://www.123pan.com/s/M1uAjv-DGgud.html
2.2. frp版本说明
frp存在多个系统版本,常用版本为windows和Linux,可以根据自身实际情况下载对应的版本。
2.3. 服务器端配置及操作
演示使用的公网服务器121.43.xxx.xxx和内网服务器192.168.168.131(即需要进行内网穿透的服务器)均为Linux系统。另外一个内网服务器192.168.14.19(我的物理主机,用于演示内网A主机访问内网B主机SSH服务)为windows系统。
2.3.1. 拉取frp到公网服务器
2.3.2. 配置服务端frps.toml文件
编辑frps.toml配置文件,内容如下(“=”号后面的值可以自行更改)
[common]
# 服务端和客户端的TCP通信端口
bind_port = 7000
# 客户端访问服务端的密码
token = admin
# 服务端仪表盘的端口, 可以用浏览器访问查看
dashboard_port = 7500
# 服务端仪表盘的用户密码
dashboard_user =admin
dashboard_pwd =admin
2.3.3. 公网服务器放行相应端口
相应端口一定要在公网服务器中设置放行,否则无法实现内网穿透
2.3.4. 启动frp服务端
启动命令: ./frps -c frps.toml & (&号的作用是让该进程在后台运行,使程序在运行时可以做其他操作,使用jobs -l 命令可以调出正在后天运行的进程,使用kill -9 进程号 可以关闭后台正在运行的进程)
出现下图所示界面说明frp服务端已开启
尝试访问7500端口,查看frp仪表盘
2.4. 客户端配置及操作
2.4.1. 拉取frp到内网服务器
2.4.2. 配置客户端frpc.toml文件
[common]
server_addr = 121.43.179.165 #(这里的ip地址填你公网服务器的地址)
token = admin #(这里的token的值要和服务端frps.toml文件中token的值保持一致,否则客户端无法连接frp服务端)
2.4.3. 案例1:使用内网穿透访问内网服务器的SSH服务
2.4.3.1. 配置客户端frpc.toml文件
在2.4.2的基础上继续更改frpc.toml文件内容
[SSH]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 2200
2.4.3.2. 公网服务器防火墙放行2200端口
2.4.3.3. 启动frp客户端
命令: ./frpc -c frpc.toml &
出现如下界面说明frp客户端已经启动
尝试访问7500端口,查看frp仪表盘
2.4.3.4. 使用另外一个内网设备访问公网服务器2200端口进行SSH连接
以上就是使用frp进行内网穿透,利用公网来访问内网SSH服务的流程。
2.4.4. 案例2:使用内网穿透访问内网服务器的web服务
在演示前已在内网服务器安装了Apache服务,用来演示内网穿透访问内网web服务。
Linux系统安装apache服务命令:yum -y install httpd httpd-devel
2.4.4.1. 配置frpc.toml文件
在2.4.3.1的基础上继续更改frpc.toml文件内容
[WEB]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 8000
2.4.4.2. 公网服务器放行8000端口
2.4.4.3. 启动frp客户端
命令: ./frpc -c frpc.toml &
出现如下界面说明frp客户端已经启动
尝试访问7500端口,查看frp仪表盘