配置 frp 实现内网穿透

配置 frp 实现内网穿透

frp 中文文档:github.com/fatedier/frp/blob/maste...

一、frp 的作用

利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。

对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。

利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

二、安装 frp

  1. github 地址:github.com/fatedier/frp/releases

    可以用 wget 下载,公网、内网服务器都下载一份。


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

2、解压 tar -zxvf frp_0.33.0_linux_amd64.tar.gz

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

目录


rm -rf ./frpc*

4、配置服务端(公网服务器)


vim ./frps.ini

注意配置文件不支持注释,请不要把汉字复制进去


[common]

bind_port = 7000           #与客户端绑定的进行通信的端口

vhost_http_port = 6081     #访问客户端web服务自定义的端口号

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

5、配置客户端(内网服务器),首先删掉 frps 开头文件文件,然后再进行配置,vim ./frpc.ini


[common]

server_addr = 47.93.33.108   #公网服务器ip

server_port = 7000            #与服务端bind_port一致

[web]

type = http         #访问协议

local_port = 80   #内网web服务的端口号

custom_domains = www.mczhangyi.top   #所绑定的公网服务器域名,一级、二级域名都可以

保存然后执行

Linux 的 Base 命令


./frpc -c ./frpc.ini

windows 的 PowerShell 命令是


./frpc.exe -c ./frpc.ini

6、访问方式

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

47.93.33.108 port:6000

47.93.33.108 port:22

www.mczhangyi.top port:6000

www.mczhangyi.top port:22

(2)自定义绑定域名访问内网 web 服务(注意服务端绑定的是哪个端口记得加上)

www.mczhangyi.top: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 中文文档:github.com/fatedier/frp/blob/maste...

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!