树莓派安装Frp实现内网穿透和自定义域名访问
当我们用树莓派安装Lnmp后安装了博客应用程序后,想要实现外网访问的时候就要用到公网IP,而我们没有公网IP就要用到内网穿透,本文章为大家介绍的是用Frp内网穿透,前提我们需要有一台服务器用于服务端,想要实现自定义域名,你要有域名(备案或不备案取决于你的服务器),废话不说开始折腾。
前期准备:
树莓派(安装Lnmp不安装也可以用于ssh连接)域名(我用的是阿里云的服务器所以要备案)服务器(我用的阿里云学生机)服务器端安装:
下载amd版的Frp(树莓派CPU是amd):wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_amd64.tar.gz解压刚才下载的压缩包:tar -xf frp_0.22.0_linux_amd64.tar.gz打开解压后的文件夹:cd frp_0.22.0_linux_amd64文件打开frps.ini:sudo nano frps.ini配置服务端:[common]bind_port=7000dashboard_port=8080dashboard_user=admindashboard_pwd=admin解释一下,7000是frp客户端与frp服务器段通信的端口。dashboard_port是管理端口,可以访问服务器
下载amd版的Frp:wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_arm.tar.gz解压刚才下载的压缩包:tar -xf frp_0.22.0_linux_arm.tar.gz打开解压后的文件夹:cd frp_0.22.0_linux_arm文件打开frpc.ini:sudo nano frpc.ini配置客户端:[common]server_addr = X.X.X.Xserver_port = 7000[ssh]type = tcplocal_ip = 127.0.0.1local_port = 22remote_port = 2222解释一下,server_addr是的服务端IPserver_port要和服务端一样是7000remote_port是你的SSH对外的端口启动客户端:./frpc -c frpc.ini通过自定义域名访问部署于内网的 web 服务:
修改 服务端frps.ini 文件,设置 http 访问端口为 8888:[common]bind_port = 7000vhost_http_port = 8888启动 frps:./frps -c ./frps.ini修改 客户端 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 web 服务对应的端口, 绑定自定义域名www.rncen.com:8888[common]server_addr = x.x.x.xserver_port = 7000[web]type = httplocal_port = 80custom_domains = www.rncen.com启动 frpc:./frpc -c ./frpc.ini将www.rncen.com的域名 A 记录解析到 IPx.x.x.x,如果服务器已经有对应的域名,也可以将 CNAME 记录解析到服务器原先的域名。通过浏览器访问http://www.rncen.com:8888即可访问到处于内网机器上的 web 服务。教程到这里就结束,Frp还有很多功能如需要请前往官方 Frp Github
演示效果: