frp 内网穿透

家里宽带80和443端口被封掉了

手里恰好有一台只部署了mongodb的阿里云vps,装一下frp顶一下

Tips

服务端是公网VPS,客户端是需要穿透出去的机器

这个流程针对两边都是linux系统

frps 服务端

执行下方shell开启脚本(阿里云镜像)

wget https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install

shell来源:https://github.com/MvsCode/frps-onekey

跟着引导一步一步走就行,都用默认就好,回车走到底

里边会有http和https的端口设置,如果这两个端口没被占用就直接回车,要是被占用了就得换一个
查看当前端口占用情况:netstat -ntlp

安装完了会看到这个

==============================================
You Server IP      : x.x.x.x
Bind port          : 5443
KCP support        : true
vhost http port    : 80
vhost https port   : 443
Dashboard port     : 6443
token              : xxxxx
tcp_mux            : true
Max Pool count     : 50
Log level          : info
Log max days       : 3
Log file           : enable
==============================================
frps Dashboard     : http://x.x.x.x:6443/
Dashboard user     : admin
Dashboard password : xxxxx
==============================================

需要记下Bind porttokenDashboard usr & pwd

然后根据提示执行frps start就可以了

frps 服务端准备完成

frpc 客户端

下载frp 链接

tar -v frp_0.36.2_linux_amd64.tar.gz // 解压
cd frp_0.36.2_linux_amd64 // 进入文件夹

然后编辑frpc.ini,这个是客户端的配置文件

参考https://github.com/fatedier/frp/blob/master/conf/frpc_full.ini

这里只配置80和443也就是http和https

[common]
server_addr = x.x.x.x
server_port = 5443
token = xxxxx

[web01]
type = http
local_ip = x.x.x.x
local_port = 80
custom_domains = *.x.x

[web02]
type = https
local_ip = x.x.x.x
local_port = 443
custom_domains = *.x.x

server_addr:服务端的公网ip

server_port:服务端的Bind port

token:安装服务端时设置的token

local_ip:本地的ip,可以填写本地的内网ip,也就是说客户端也可以做一个桥,将包转发到其他的机器

local_port:本地的端口,填写本地接受请求的端口

custom_domains:请求的域名,会将匹配的域名转发过来,类似proxy

修改完成之后./frpc -c ./frpc.ini即可启动frpc

此时去frps的web端查看即可查看到http以及https已连接成功

frp 注册linux服务

刚刚的命令会在当前命令行执行和输出,关掉命令行会同时停止服务

所以需要注册系统服务

frps已经自动注册了系统服务

frpc中的安装包中有个systemd文件夹,里边的frpc.service是官方给的service模板

[Unit]
Description=Frp Client Service
After=network.target

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

[Install]
WantedBy=multi-user.target

修改frpc和ini的路径,或者将文件复制到模板中的文件夹

然后将这个文件复制到/etc/systemd/system/文件夹下

执行systemctl enable frpc注册服务

启动服务service frpc start

重启服务service frpc reload

参考

(Frp第一篇)Frp内网穿透安装教程…

十分钟教你配置frp实现内网穿透

frp服务注册以及systemd语法

frps一键安装脚本官网

Frp后台自动启动的几个方法

frp最新releases

frp官方客户端完整版配置文件



系统   frp      frp

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!