什么是内网穿透?为什么要用内网穿透?内网穿透能做什么?
以上问题我只想说,如果你自己没有公网IP,但是你又想在公网上访问家里的服务,或者是在公司远程家里的电脑,那么你就需要内网穿透服务。

内网穿透需要准备什么?
1.frp软件包,包含服务端与客户端
2.需要有一个公网服务器做访问转发,在自己的云服务器上面搭建一个frps服务即可(如果没有的话某宝或Pdd,咸鱼等上面应该可以提供)


这里以linux为例,服务端只需要保留以下frps开头的文件
在这里插入图片描述
编辑我们的配置文件,frps.ini

[common]
bind_port = 7000  # 本服务机开放的注册端口
vhost_http_port = 9090  # http开放端口

#dashboard_port状态以及代理统计信息展示,网址:7500可查看详情
dashboard_port = 7500
#dashboard_user访问用户dashboard_pwd访问密码
dashboard_user = admin
dashboard_pwd = admin
#log_file日志文件log_level记录的日志级别log_max_days日志留存3天authentication_timeout超时时间
log_file = ./frps.log
log_level = info
log_max_days = 3
authentication_timeout = 0
#max_pool_count最大链接池,每个代理预先与后端服务器建立起指定数量的最大链接数
max_pool_count = 32

运行服务(先运行看看是否能正常启动,在考虑固定为脚本或开机自启):

./frps -c frps.ini

或者直接将命令保存为脚本:

#!/bin/sh
#description: fprs-server 后台无日志运行
nohup /usr/app/frp_0.37.1_linux_amd64/frps -c /usr/app/frp_0.37.1_linux_amd64/frps.ini > /dev/null 2>&1 &

在这里插入图片描述
到这里一个简单的frps服务就已经搭建好了。


这里时候再使用frpc来做内网穿透

这个是家里的一台centos7物理机,我将用他来做演示demo
在这里插入图片描述
同理client端只需要保留frpc开头的几个文件
在这里插入图片描述
这里我们配置frpc.ini文件

[common]
server_addr = 1.**.**.92  # 这里填写你的frps服务器地址
server_port = 7000  # frps开放的注册端口

[ssh-10-j1900]
type = tcp
local_ip = 127.0.0.1  # 代理本机
local_port = 22    # 配置SSH
remote_port = 10022   # 外网访问,即  外网IP:10022  等于   在本机上访问   12.7.0.01:22

[mysql-10-j1900]
type = tcp
local_ip = 127.0.0.1
local_port = 3306 # 配置mysql
remote_port = 10306

[web-10-j1900]
type = tcp
local_ip = 127.0.0.1
local_port = 8888  #配置宝塔页面
remote_port = 10888

运行服务(先运行看看是否能正常启动,在考虑固定为脚本或开机自启):

./frpc -c frpc.ini

正常启动后,这里我们使用外网地址访问mysql
在这里插入图片描述
我们再测试一下宝塔页面,也是可以正常访问到的
在这里插入图片描述
软件下载:frp_0.29.0_windows_amd64.zip

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐