搭建frp内网穿透服务器,并部署到openwrt 中,以及使用反向代理开启https安全访问模式

准备工作

一台云服务器,一个域名。

关于云服务器,国内外的都可以,当然国内的效果最好,不过需要备案域名,不能做到开箱即用,我这里以国外的服务器来演示。我使用的ubuntu系统,建议大家跟我使用一样的系统方便后续操作。

域名解析

把域名解析到vps,记得开启泛域名解析,可以直接照抄我的解析方式。

如果要搭建frp内网穿透,这里建议先把vps的所有端口打开,等部署完成后,我们再来关闭对应的端口。

我这里就吧域名解析到vps,并且打开所有端口。

ssh连接到我们的服务器,然后使用一键脚本安装

frp一键脚本

官方github: https://github.com/mvscode/frps-onekey

wget https://raw.githubusercontent.com/mvscode/frps-onekey/master/install-frps.sh -O ./install-frps.sh

chmod 700 ./install-frps.sh

./install-frps.sh install

这里我们默认安装,跟着脚本的提示一路回车就行了,但是记得吧http跟https端口更改一下,不要使用80和443,这里更改是为了方便内网穿透开启https服务,并且以后服务器部署一些其他web服务也更方便,总不能部署一个frp吧,太浪费服务器了,我们改成8080和4430,然后就是其他一路默认即可,安装完成后会给我们生成配置文件,记下来这个配置文件。


接下来来到openwrt填写配置。

根据图片进行填写


填写完成后,在局域网里的所有设备都可以进行穿透,我来演示几个穿透服务供大家参考。
先来把openwrt穿透出去。我openwrt的局域网地址是192.168.1.1,使用端口是80,所以就要这样填写配置文件。

这里我要详细讲一下自定义域名,这里我的主域名是cdfk.xyz,然后我自定义的域名是op.cdfk.xyz,因为域名解析我们开启了泛解析,所主域名前面的是可以随便填写的,也就是说我可以写成openwrt.cdfk.xyz,luyouqi.cdfk.xyz,都是可以的,大家选个自己认为好记的前缀就行了。服务备注名随便填写,不重复就行。
然后,我就可以使用op.cdfk.xyz:8080在外网访问我的openwrt了。

接下来是局域网里的一台linux服务器,我要吧22端口穿透出去,方便我在外远程连接我的服务器。我的服务器局域网地址是192.168.1.135,端口是22,协议是tcp,那我们就要这么填写。

这里我们就可以通过我们服务器的ip加6000端口来ssh连接到我们内网的服务器了。

这里主要来说一下远程端口,我这里默认大家的服务器端口全开,这个端口是随便填写的,大家填自己喜欢的就行了,前提是服务器该端口未被占用。



     不过大家发现一个问题没有,在访问web服务时,使用域名加端口的方式访问太不优雅了,并且使用还是http协议,没有安全保障。并且如果我想把自己的web服务提供给其他人访问,别人看到访问你的网站竟然要加端口号,那他可能会质疑你的专业性,那么接下来,我们就来解决这个问题。

开启https并且只使用域名访问,不用加端口号,需要使用反向代理。
首先需要安装docker和docker-compose,大家自行安装。

我使用的是ubuntu,所以执行下面的命令安装
sudo apt update
sudo apt install docker.io docker-compose

查看是否安装成功 

docker -v

如果你使用的是国内服务器,国内镜像源都被下架,所以我们更改一下可用镜像仓库,执行下面的命令。国外的服务器不需要执行,默认即可。

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://docker.1panel.live"] 

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

开启https需要配合反向代理,这里我们使用nginx proxy manager,简单好上手。

官方github:https://github.com/xiaoxinpro/nginx-proxy-manager-zh 

mkdir nginx-proxy-manager-zh 

cd nginx-proxy-manager-zh


sudo echo "

version: '3'

services:

  app:

    image: 'chishin/nginx-proxy-manager-zh:release'

    restart: always

    ports:

      - '80:80'

      - '81:81'

      - '443:443'

    volumes:

      - ./data:/data

      - ./letsencrypt:/etc/letsencrypt

" > docker-compose.yml 


docker-compose up -d 


部署好后我们来到浏览器,输入自己服务器的ip:81

访问即可来到ngnix proxy manger

默认管理员信息

Email: 

admin@example.com

Password:

changeme

登录后更改一下默认用户名和密码,接下来使用反向代理的方式为frp的http服务开启https。

接下来,我们把刚才穿透出去的服务反代一下并且切开启https。这里我openwrt的自定义域名是op.cdfk.xyz,内网部署的博客自定义域名是bk.cdfk.xyz

如图 :



做好这下后,我们就可以直接通过域名访问我们的服务了,并且是开启了https服务的哦。

后面如果又有新的服务,我们就在添加反向代理就行了。

这就是openwrt内网穿透的全部教程了。

最后特别补充一下,针对飞牛OS远程WEB访问,要打开webScoker这个选项,才能够访问,否则只能打开背景页,无法显示登录界面。


本文转载自:米续硬

Frp github网址:Frp



docker -v
接下来来到openwrt填写配置。

根据图片进行填写



填写完成后,在局域网里的所有设备都可以进行穿透,我来演示几个穿透服务供大家参考。

先来把openwrt穿透出去。

我openwrt的局域网地址是192.168.1.1,使用端口是80,所以就要这样填写配置文件。

接下来来到openwrt填写配置。

根据图片进行填写
接下来来到openwrt填写配置。

根据图片进行填写
一台云服务器,一个域名。

关于云服务器,国内外的都可以,当然国内的效果最好,不过需要备案域名,不能做到开箱即用,我这里以国外的服务器来演示。我使用的ubuntu系统,建议大家跟我使用一样的系统方便后续操作。一台云服务器,一个域名。

关于云服务器,国内外的都可以,当然国内的效果最好,不过需要备案域名,不能做到开箱即用,我这里以国外的服务器来演示。我使用的ubuntu系统,建议大家跟我使用一样的系统方便后续操作。
一台云服务器,一个域名。

关于云服务器,国内外的都可以,当然国内的效果最好,不过需要备案域名,不能做到开箱即用,我这里以国外的服务器来演示。我使用的ubuntu系统,建议大家跟我使用一样的系统方便后续操作。一台云服务器,一个域名。

关于云服务器,国内外的都可以,当然国内的效果最好,不过需要备案域名,不能做到开箱即用,我这里以国外的服务器来演示。我使用的ubuntu系统,建议大家跟我使用一样的系统方便后续操作。
一台云服务器,一个域名。

关于云服务器,国内外的都可以,当然国内的效果最好,不过需要备案域名,不能做到开箱即用,我这里以国外的服务器来演示。我使用的ubuntu系统,建议大家跟我使用一样的系统方便后续操作。
一台云服务器,一个域名。

关于云服务器,国内外的都可以,当然国内的效果最好,不过需要备案域名,不能做到开箱即用,我这里以国外的服务器来演示。我使用的ubuntu系统,建议大家跟我使用一样的系统方便后续操作。

域名解析
把域名解析到vps,记得开启泛域名解析,可以直接照抄我的解析方式。



如果要搭建frp内网穿透,这里建议先把vps的所有端口打开,等部署完成后,我们再来关闭对应的端口。

我这里就吧域名解析到vps,并且打开所有端口。

ssh连接到我们的服务器,然后使用一键脚本安装

frp一键脚本

官方github: https://github.com/mvscode/frps-onekey

发表评论

0 评论