我是靠谱客的博主 英俊大炮,最近开发中收集的这篇文章主要介绍OpenWrt FRP Nginx内网穿透搭建,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

内网穿透,为什么要弄内网穿透?能在外网访问家里的设备。
我的需求:

  1. 能随时管理路由器
  2. 远程下载
  3. 对私人云盘的需求

有人说:一台nas一劳永逸。
我想说:呵呵。

一、你需要具备的东西,自行准备。

  1. Linux基础操作,且有一台具有公网的服务器(如果你的带宽已经具备公网IP,再见)
  2. 软路由(你知道我说的是什么意思)
  3. 弄个域名吧,又不贵。

步骤

  1. ssh工具连上你的vps
#安装一些依赖
yum install -y autoconf automake gcc gcc-c++ libtool make openssl openssl-devel pcre pcre-devel socat unzip zlib zlib-devel lrzsz

#开启防火墙(你开了就算了)
systemctl start firewalld.service
#启用防火墙
systemctl enable firewalld.service

#查看已开启的端口,你可以不用执行该命令
#firewall-cmd --list-ports
#关闭某个端口,你可以不用执行该命令
#firewall-cmd --permanent --zone=public --remove-port=8080/tcp

#(重要)开启80、443端口
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp

#(重要)开启frp服务端监听端口,你可以换成其他的,自己记住
firewall-cmd --permanent --zone=public --add-port=7000/tcp

#(重要)开启frp的http的连接端口,你可以换成其他的,自己记住
firewall-cmd --permanent --zone=public --add-port=8080/tcp

#(重要)重启防火墙
firewall-cmd —reload
  1. 安装frp
cd /usr/local
#下载
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz

#解压
tar -zxvf frp_0.36.2_linux_amd64.tar.gz

#重命名
mv frp_0.36.2_linux_amd64 frp

#删除没用的文件
rm -rf ./frp/frpc*
rm -rf frp_0.36.2_linux_amd64.tar.gz
  1. 设置frp开机启动
#创建配置文件,vim不会用的......ftp上传吧
vim /usr/lib/systemd/system/frps.service

一下内容写到frps.service文件中,ExecStart是你的路径

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

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini

[Install]
WantedBy=multi-user.target

然后再这样

#开启frp服务
systemctl enable frps

#启动frps:
systemctl start frps

#停止frps:
systemctl stop frps

#重启frps:
systemctl restart frps

#查看frps状态:
systemctl status frps
  1. 配置frp
vim不会用的......ftp上传吧
vim frp/frps.ini

frps.ini里的内容

[common]
#服务端监听端口(你上面开启的端口)
bind_port = 7000
#日志文件地址
log_file = /usr/local/frp/log/frps.log
#鉴权使用的token值,随便填,要记住
token = bshuw3ea9ngusd762e

#frp查看面板的端口,任意,但记住
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

#是否提供 Prometheus 监控接口
enable_prometheus = true

#为 HTTP 类型代理监听的端口(你上面开启的端口)
vhost_http_port = 8080
#二级域名后缀(填你的域名,别照着我的抄,名都不改)
subdomain_host = *.mark42.com
  1. nginx配置
#frp查看面板,7500是你上面配置的
server {
   listen 80;
   server_name frp.mark42.com;
   location / {
       proxy_pass http://127.0.0.1:7500;
       proxy_set_header    Host            $host:80;
       proxy_set_header    X-Real-IP       $remote_addr;
       proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_hide_header   X-Powered-By;
   }
}

#路由管理
server {
   listen 80;
   server_name openwrt.mark42.com;
   location / {
       proxy_pass http://127.0.0.1:8080;
       proxy_set_header    Host            $host:80;
       proxy_set_header    X-Real-IP       $remote_addr;
       proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_hide_header   X-Powered-By;
   }
}

#远程下载
server {
   listen 80;
   server_name transmission.mark42.com;
   location / {
       proxy_pass http://127.0.0.1:8080;
       proxy_set_header    Host            $host:80;
       proxy_set_header    X-Real-IP       $remote_addr;
       proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_hide_header   X-Powered-By;
   }
}
  1. 接下来就是你openwrt,里frpc,客户端的配置了,按要求填些就行了,很简单,不想截图了,不会的你留言,在再更新吧。配置好后就可以了。

效果如下
在这里插入图片描述

最后

以上就是英俊大炮为你收集整理的OpenWrt FRP Nginx内网穿透搭建的全部内容,希望文章能够帮你解决OpenWrt FRP Nginx内网穿透搭建所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部