FRP内网穿透小白教程

一、FRP简介
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

官网:https://gofrp.org

Github:https://github.com/fatedier/frp/releases

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

工具下载地址:https://github.com/fatedier/frp/releases/tag/v0.34.3

FRP好处是利用内网或防火墙后的机器(例如家用路由器后的192.168段的IP),对外网环境提供http或https服务。对于http和https服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。利用处于内网或防火墙后的机器,对外网环境提供tcp和udp服务,例如在家里通过ssh或者web访问公司内网环境内的主机或者业务进行办公!!

二、服务端
2.1 下载解压
$ wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
# 下载软件
$ mv frp_0.34.3_linux_amd64.tar.gz /opt
$ cd /opt
$ tar -zxvf frp_0.34.3_linux_amd64.tar.gz
$ cd frp_0.34.3_linux_amd64/
# 解压
2.2 配置
服务端配置文件:frps.ini

客户端配置文件:frpc.ini

[common]
bind_port = 7000 # 客户端通信端口
vhost_http_port = 54321 # HTTP端口
vhost_https_port = 54322 # HTTPS端口
token = 123456 # 自定义秘钥
2.3 启动
$ ./frps -c ./frps.ini # 临时
$ nohup ./frps -c ./frps.ini & # 后台
2.4 配置为系统服务
$ vim /usr/lib/systemd/system/frps.service #修改配置(这里没有该文件就添加个)

[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的 frps 的实际安装目录)
ExecStart=/opt/frp/frps -c /opt/frp/frps.ini
[Install]
WantedBy=multi-user.target
三、客户端
3.1 windows/Linux/Mac
3.1.1 配置
[common]
server_addr = 152.136.170.74 # 公网IP
server_port = 7000 # 服务器绑定端口
token = 123456 # 与服务端秘钥一致

[web]
type = http
local_ip = 127.0.0.1
local_port = 80
remote_port = 54321
custom_domains = 152.136.170.74 # 建议使用域名进行区分

[mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 54328

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 54329
3.1.2 启动
$ ./frpc -c ./frpc.ini # 临时
$ nohup ./frpc -c ./frpc.ini & # 后台
3.1.3 配置为系统服务
$ vim /usr/lib/systemd/system/frpc.service #修改配置(这里没有该文件就添加个)

[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的 frps 的实际安装目录)
ExecStart=/opt/frp/frpc -c /opt/frp/frpc.ini
[Install]
WantedBy=multi-user.target
客户端启动一个web 服务, 使用http://公网IP:54321 进行访问测试!

客户端启动一个mysql服务, 使用 IP:公网IP Port:54328 进行访问测试!

客户端 使用 IP:公网IP Port :54329 进行访问测试!

确认公网IP 远程端口 已放通!

3.2 Dashboard & AdminUI
# Dashboard (服务端配置)
[common]
dashboard_port = 7002
dashboard_user = admin
dashboard_pwd = admin
# AdminUI (客户端配置)
[common]
admin_addr = 127.0.0.1 # 使用内网真实地址 即可访问测试
admin_port = 7400
admin_user = admin
admin_pwd = admin
四、总结
使用frp工具有以下优势:

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

加油!,隧道篇就到此结束…

阅读剩余
THE END