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
浙公网安备 33010602011771号