frp

FRP 项目地址 https://github.com/fatedier/frp/blob/master/README_zh.md

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

ssh连接环境准备
1. 需要一台可以直接访问外网的服务器,比如阿里云服务器(服务端)
2. 需要做内网穿透的服务器,比如公司内部的局域网测试服务器(客户端)


软件下载地址:
https://github.com/fatedier/frp/releases


文件说明:
frpc:客户端可执行程序
frpc_full.ini:客户端所有配置项(可以再此文件查看frp的所有的配置项)
frpc.ini:客户端配置项
frps:服务端可执行程序
frps_full.ini:服务端所有配置项(可以再此文件查看frp的所有的配置项)
frps.ini:服务端配置项

服务端只需要编辑frps.ini文件
客户端只需要编辑frpc.ini文件


软件选择:frp_0.33.0_linux_amd64.tar.gz
软件下载后,直接解压缩即可。
tar -xvf frp_0.33.0_linux_amd64.tar.gz
cd frp_0.33.0_linux_amd64


服务器端安装:
cp frps /usr/bin/frps
cp frps.ini /etc/frps.ini

 

配置文件内容如下:
cat /etc/frps.ini
[common]
bind_port = 7000


服务器端添加frps服务用于systemctl管理
vi /usr/lib/systemd/system/frps.service
[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=60s
ExecStart=/usr/bin/frps -c /etc/frps.ini
ExecReload=/usr/bin/frps reload -c /etc/frps.ini

[Install]
WantedBy=multi-user.target


添加可执行权限:
chmod 755 /usr/lib/systemd/system/frps.service


重载 systemctl units
systemctl daemon-reload


设置为开机自启动 frps
systemctl enable frps.service


启动 frps
systemctl start frps

 

客户端安装:
cp frpc /usr/bin/frpc
cp frpc.ini /etc/frpc.ini


配置文件内容如下:
cat /etc/frpc.ini
[common]
server_addr = 116.116.116.116
server_port = 7000

[ssh6000]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000



客户端添加frpc服务用于systemctl管理
vi /usr/lib/systemd/system/frpc.service
[Unit]
Description=Frp Client Service
After=network.target

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=60s
ExecStart=/usr/bin/frpc -c /etc/frpc.ini
ExecReload=/usr/bin/frpc reload -c /etc/frpc.ini

[Install]
WantedBy=multi-user.target


添加可执行权限:
chmod 755 /usr/lib/systemd/system/frpc.service


重载 systemctl units
systemctl daemon-reload


设置为开机自启动 frpc
systemctl enable frpc.service


启动 frpc
systemctl start frpc


服务器端手动启动:
nohup /usr/bin/frps -c /etc/frps.ini > /var/log/frps.log 2>&1 &


客户器端手动启动:
nohup /usr/bin/frpc -c /etc/frpc.ini > /var/log/frpc.log 2>&1 &


Windows 客户端 设置开机自启动:
frpc.exe 和 frpc.ini 放到 C:\frp 目录下

在 C:\frp 目录下创建脚本 frpc_start.bat
@echo off
C:\frp\frpc.exe -c C:\frp\frpc.ini


在 C:\frp 目录下创建脚本 start.vbs
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "C:\frp\frpc_start.bat /start",0


设置开机自启动:
在 在任务计划中添加任务 中添加为开机自启动,脚本为 start.vbs 。并且要设置成不管用户是否登录都有运行。


说明:
[common] 表示以下配置信息是一些公用配置信息
server_addr 是我们服务端即外网服务器的公网访问ip
server_port 是我们前面在服务端配置的frps.ini中bind_port中对应的端口。需保持两边一致
[ssh6000] 表示以下配置信息是我们使用ssh连接内网服务器时需要的一些配置信息。多个ssh配置名字不能一样,也就是[ssh6000]名称不能重复。
type 是连接类型,ssh方式连接就用tcp
local_ip 是本机ip,直接使用127.0.0.1即可
local_port 是本地ssh端口,ssh默认端口为22
remote_port 是外网服务器请求过来的端口 注:阿里云服务器需要在esc管理中配置安全组规则中添加6000端口。必须保证remote_port在各个客户端中是唯一的。
bind_port 参数: 客户端跟服务端绑定的端口号



若想配置连接数据库mysql
修改frpc.ini,添加如下配置

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

 

posted @ 2020-05-26 19:30  屠魔的少年  阅读(273)  评论(0)    收藏  举报