配置frp实现内网穿透

frp中文文档:https://github.com/fatedier/frp/blob/master/README_zh.md

一、frp的作用

    利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
    对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
    利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

二、配置说明

1、实现功能

(1)外网通过ssh访问内网机器

(2)自定义绑定域名访问内网web服务

2、配置前准备

(1)公网服务器1台

(2)内网服务器1台(我这里演示的是linux环境,win10上面vmware安装的centos7)

(3)公网服务器绑定域名1个(实现二1中(1)功能不需要公网服务器绑定域名,二1中(2)功能必须需要公网服务器绑定域名)

(4)内网服务器部署一个web服务,这里用的Apache

三、安装frp

1. github 地址:https://github.com/fatedier/frp/releases,可以用wget下载,公网、内网服务器都下载一份。

wget https://github.com/fatedier/frp/releases/download/v0.28.0/frp_0.28.0_linux_amd64.tar.gz

2、新建目录mkdir -p /usr/local/frp,上传frp_0.28.0_linux_amd64.tar.gz至linux服务器该目录下

3、解压tar -zxvf frp_0.28.0_linux_amd64.tar.gz

4、进入解压目录cd frp_0.28.0_linux_amd64.tar.gz,这里主要关注4个文件,分别是frpc、frpc.ini和frps、frps.ini,前者两个文件是客户端所关注文件,后者两个文件是服务端所关注两个文件。

5、配置服务端(公网服务器),首先删掉frpc、frpc.ini两个文件,这两个文件是客户端所用,服务端不需要,然后再进行配置,vim ./frps.ini

[common] bind_port = 7000 #与客户端绑定的进行通信的端口 vhost_http_port = 6081 #访问客户端web服务自定义的端口号

保存然后启动服务./frps -c ./frps.ini,这是前台启动,后台启动命令为nohup ./frps -c ./frps.ini &

7、配置客户端(内网服务器),首先删掉frps、frps.ini两个文件,然后再进行配置,vi ./frpc.ini

[common] server_addr = 120.56.37.48 #公网服务器ip server_port = 7000 #与服务端bind_port一致 #公网通过ssh访问内部服务器 [ssh] type = tcp #连接协议 local_ip = 192.168.3.48 #内网服务器ip local_port = 22 #ssh默认端口号 remote_port = 6000 #自定义的访问内部ssh端口号 #公网访问内部web服务器以http方式 [web] type = http #访问协议 local_port = 8081 #内网web服务的端口号 custom_domains = www.mczhangyi.top #所绑定的公网服务器域名,一级、二级域名都可以

保存然后执行./frpc -c ./frpc.ini启动,这是前台启动,后台启动命令为nohup ./frpc -c ./frpc.ini &

8、访问方式

(1)外网ssh访问内网服务器(直接使用配置里面数据演示)

ip:120.56.37.48  port:6000

ip:120.56.37.48  port:22

ip:www.mczhangyi.top  port:6000

ip:www.mczhangyi.top  port:22

 

(2)自定义绑定域名访问内网web服务(直接使用配置里面数据演示)

  repo.iwi.com:6081
四、结尾

1.客户端连接服务端提示访问被拒绝,则需要服务端开放防火墙端口(学习的话全开就行了,生产环境除外)。

2.frps dashboard 通过浏览器查看 frp 的状态以及代理统计信息展示。

注:Dashboard 尚未针对大量的 proxy 数据展示做优化,如果出现 Dashboard 访问较慢的情况,请不要启用此功能。

需要在 服务端的 frps.ini 中指定 dashboard 服务使用的端口,即可开启此功能:

[common] dashboard_port = 7500 # dashboard 用户名密码,默认都为 admin dashboard_user = admin dashboard_pwd = admin

打开浏览器通过 http://[server_addr]:7500 访问 dashboard 界面,用户名密码默认为 admin

3.其他功能请阅读frp中文文档:https://github.com/fatedier/frp/blob/master/README_zh.md


原文:https://blog.csdn.net/u013144287/article/details/78589643/



repo.I为I.com
[Repo.I wèi I.Com]
repo.I for I.com

__EOF__

本文作者织梦行云
本文链接https://www.cnblogs.com/cxfs/p/11304085.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   遗失的美好灬  阅读(225)  评论(0编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
点击右上角即可分享
微信分享提示