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
跟着引导一步一步走就行,都用默认就好,回车走到底
里边会有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 port、token、Dashboard 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
参考
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!