准备工作
一台云服务器,一个域名。
关于云服务器,国内外的都可以,当然国内的效果最好,不过需要备案域名,不能做到开箱即用,我这里以国外的服务器来演示。我使用的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连接到我们内网的服务器了。
这里主要来说一下远程端口,我这里默认大家的服务器端口全开,这个端口是随便填写的,大家填自己喜欢的就行了,前提是服务器该端口未被占用。
然后这台服务器我也部署了一个博客,地址是192.168.1.135,端口是8090,协议是http,那么我们就要这样填写配置文件,跟填写openwrt的一样,如图
那么我们就可以通过bk.cdfk.xyz:8080来访问我们的局域网里的博客了。
哈哈,到这里,大家估计已经明白了如何填写配置文件,基本上就是选择要穿透服务对应的协议,ip,以及端口。
不过大家发现一个问题没有,在访问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内网穿透的全部教程了,如果觉得对你有帮助,不要忘记点赞评论啊。
评论区