搭建FRP内网穿透服务器来远程访问本地windows/linux中的web服务

什么是FRP?
FRP 是一个免费开源的用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 http 和 https 协议提供了额外的支持。

FRP有服务端和客户端,你将服务端安装在你买的便宜云服务器上,FRP客户端安装在你自己的电脑上,配置好暴露的端口,就可以实现你访问服务器ip:指定的端口,就会被转发到本地的电脑上,这样就可以利用本地的高性能机器

它可以做什么?
使用FRP可以实现在家里搭建自己的网站,个人网盘,远程访问自己的电脑,流媒体服务器等

将云服务器当frp服务端,客户端为windows电脑

客户端为liunx教程在下面
下载frp文件,因为服务端是linux环境,而客户端是windows环境,因此需要下载两个文件,项目地址:GitHub
下载好后,各自解压,解压后打开liunx文件的目录放置如下文件
在这里插入图片描述
服务器端配置frps
配置文件名称:frps.ini 这里为解释,实际并不需要配置这么多

[common] bind_addr = 0.0.0.0 # 默认为0.0.0.0 bind_port = 7000 # 绑定服务器的服务端口 # 注:KCP是一个快速可靠协议,能以比TCP浪费10%-20%的带宽的代价,换取平均延迟降低30%-40%,且最大延迟降低三倍的传输效果。 # kcp_bind_port = 7000 # frp服务端和客户端通过bind_port端口进行认证的token,服务端和客户端都要一样 token = 12345678 # 如果客户端配置了type=http,则服务端必须设置vhost_http_port否则客户端的frp连接不上(可选) # 注意:http端口和https端口可以与“bind_port”相同 vhost_http_port = 80 vhost_https_port = 443 # dashboard_addr默认和bind_addr相同 # frpweb统计界面 当dashboard_port被设置后,dashboard才可用 dashboard_addr = 0.0.0.0 dashboard_port = 7500 # dashboard user and passwd for basic auth protect, if not set, both default value is admin # 用于登录验证dashboard的账号和密码,如果不设置,账号和密码的默认值都为admin dashboard_user = admin dashboard_pwd = admin 

实际配置如下即可

[common]
bind_port = 7000
token = 12345678
开启frpweb统计界面
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

内网机器端配置frpc
配置文件名称:frpc_full.ini

# [common]是不可缺少的部分 [common] bind_addr = 0.0.0.0 server_addr = 0.0.0.0 # 注:连接frps服务器的地址 server_port = 7000 # 注:连接frps服务器的端口 token = 12345678 # 身份验证token值 # 通过http api,例如重载,为控制frpc操作设置管理地址 admin_addr = 127.0.0.1 admin_port = 7400 admin_user = admin admin_pwd = admin # 目前支持tcp,kcp和websocket,默认是tcp protocol = tcp # 用于连接服务器的通讯协议 [ssh] type = tcp # type的类型包含tcp,udp,http,https,stcp,xtcp,默认是tcp # 注:相对于frpc部署机器,想使用穿透功能的其他机器IP,需要frpc机器可访问到 # 注:如果想让frpc部署机器可连接的其他机器穿透,这里可以写对应机器的IP地址 local_ip = 127.0.0.1 # 注:ssh服务的端口 local_port = 22 

实际配置如下即可

[common]
server_addr = 公网ip
server_port = 7000
token = 12345678
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 5000 #本地程序运行的端口
remote_port = 5000 # 本地5000端口映射的远程服务器的端口,后续通过公网ip:remote_port去访问到本地的服务
custom_domains = 公网ip

服务端后台运行

在/lib/systemd/system目录下创建一个文件frps.service

内容如下:

[Unit] Description=frps service After=network.target syslog.target Wants=network.target [Service] Type=simple #启动服务的命令(此处写你的frps的实际安装目录) ExecStart=/your/path/frps -c /your/path/frps.ini [Install] WantedBy=multi-user.target 

#然后就启动frps
sudo systemctl start frps
再打开自动启动
sudo systemctl enable frps
重启应用
sudo systemctl restart frps
停止应用
sudo systemctl stop frps
查看应用日志
sudo systemctl status frps

将frps相关的文件传到服务器某个路径下去,然后运行

./frps -c ./frps.ini

打开公网ip:7500(7500为frps.ini中的dashboard_port)能看到界面即代表服务端启成功
在这里插入图片描述
在windows目录中运行

frpc.exe -c frpc.ini

至此frpc连接成功,公网ip:5000 即可访问到你本地的5000端口的服务中去

将云服务器当frp服务端,客户端为linux

步骤跟上面一样,只是不需要下载frp的windows文件,同样的配置,在本地的linux中通过如下命令启动即可

./frps -c ./frps.ini

原文链接:https://blog.csdn.net/bs_101/article/details/131662118

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