赞
踩
前言:笔者通过了微软的Azure的学生认证(通过邮件客服发送学信网资料)领到了免费的linux虚拟机。因笔者有在本地的linux物理机上jellyfin和webdav,便打算通过frp内网穿透让jellyfin和webdav能够通过外网访问
一:服务端配置
1.下载frp
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
注:如果是arm架构则请到https://github.com/fatedier/frp/releases 找到对应压缩包,把以上指令的对应部分替换
2.解压安装包并进入文件夹
tar -zxvf frp_0.37.1_linux_amd64.tar.gz
命令解释:
cd frp_0.37.1_linux_amd64
3.编辑配置文件
注:如果没有vim请自行安装
- cd frp_0.37.1_linux_amd64
- vim frps.ini
- #!/bin/sh
- [common]
- bind_port = 7000
- vhost_http_port = 8080
- vhost_https_port = 443
- subdomain_host= unen.tech
- token = 123456
- dashboard_port = 7400
- dashboard_user = admin
- dashboard_pwd = 123456
- log_file = /home/azure/frp2/frps.log
- log_level = info
- log_max_days = 3
- tcp_mux = true
其中8080为你希望服务器实用的http端口
token为和frp客户端通信使用的密钥
dashboard_port为frp服务端的web面板的端口
log_file是服务器日志记录的地方(很重要,通过查看这个日志文件来了解frp的客户端与服务端的通信)
subdomain_host 用于多个http服务,需要拥有域名(也可以使用自定义域名,通过更改电脑的hosts来起到类似的效果)。比如说,你有一个博客和一个frp的面板都需要http访问,但只能共用frps.ini里填的http端口。是通过浏览器里输入的域名的不同来进行区别,如我的两个web服务为: jf.unen.tech:8080 和 wd.unen.tech:8080,浏览器里输这两个就可以分别访问到各自的内网服务
4.设置和启动frp服务
- mkdir -p /etc/frp
- cp frps.ini /etc/frp
- cp frps /usr/bin
- cp systemd/frps.service /usr/lib/systemd/system/
- systemctl enable frps
- systemctl start frps
可通过 systemctl status frps 查看frps运行状态
5.放行端口
不论什么云,都去管理后台放行用到的端口(frp客户端和frp服务器的配置文件中的所有端口)
6.监控frp服务端的日志文件了解frp服务端与客户端通信情况
tail -f frps.log
二.客户端
1.命令行部署
1.1重复服务端的下载操作(因为下载的frp压缩包包含客户端与服务端),直至进入frp客户端的文件夹
1.2 配置frp客户端的配置文件
vim frpc.ini
- [common]
- server_addr=4.194.74.173
- server_port=7000
- user=Unen
- log_level=info
- log_max_days=3
- protocol=tcp
- log_file=/var/etc/frp/frpc.log
- admin_addr=0.0.0.0
- admin_port=7400
- admin_user=admin
- admin_pwd=1234
- tcp_mux=true
- tls_enable=true
- login_fail_exit=false
-
- [jellyfin]
- type=http
- subdomain=jf
- local_ip=192.168.50.155
- local_port=8096
- use_encryption=true
- use_compression=true
-
- [mc-pc]
- type=tcp
- remote_port=25566
- local_ip=192.168.50.193
- local_port=25565
- use_encryption=true
- use_compression=true
-
- [webdav]
- type=http
- subdomain=wd
- local_ip=192.168.50.155
- local_port=8081
- use_encryption=true
- use_compression=true
common是必要的,而jellyfin 和 webdav则是笔者需要进行内网穿透的服务,按照以上格式配置即可。
注:use_encryption和use_compression是不必要的,可以删除;log_file是日志信息的存放位置,建议放在frp文件夹里
1.3启动frp客户端
./frpc -c frpc.ini
指令解释:
之后在服务器的日志文件中就能看见frp服务运行的信息了
2.openwrt部署
图中为客户端的配置,即fprc.ini。第二张图是总览,第一张图是“服务列表”中具体服务的配置信息
注:http和https端口仅由frp服务端的配置文件决定,第一张图中可以更改http和https端口但无意义 ,因为只是客户端的更改
应用后就能在frp服务端的日志文件看见frp服务运行的信息了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。