frp实现内网穿透(openwrt+命令行部署)

前言:笔者通过了微软的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

命令解释:

  • tar:表示使用tar命令。
  • z:表示使用 gzip 压缩算法。tar.gz 是经过 gzip 压缩的 tar 归档文件。[gzip]
  • x:表示提取(或解压缩)tar.gz 文件中的内容。[extract]
  • v:表示详细输出,可查看解压缩的进度和文件列表。[verbose]
  • f:表示指定要解压缩的文件。在这里,-f 之后需要指定要解压缩的 tar.gz 文件的路径。[file]
  • tar (tape archive) 是一种归档文件格式,用于将多个文件或目录打包成一个单独的文件,但并不会进行压缩。
  • gz (gzip) 是一种压缩算法,用于对文件进行压缩,通常用于压缩 tar 文件,生成 tar.gz 或者 .tgz 格式的压缩文件
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

 指令解释:

  • ./frpc:表示在当前目录下查找并运行名为 frpc 的可执行文件。"./"表示当前目录,frpc 是可执行文件的名称。
  • -c frpc.ini:表示使用 frpc.ini 文件作为配置文件。-c 是一个选项,后面跟着配置文件的名称 frpc.ini。

之后在服务器的日志文件中就能看见frp服务运行的信息了

2.openwrt部署

图中为客户端的配置,即fprc.ini。第二张图是总览,第一张图是“服务列表”中具体服务的配置信息

注:http和https端口仅由frp服务端的配置文件决定,第一张图中可以更改http和https端口但无意义 ,因为只是客户端的更改

应用后就能在frp服务端的日志文件看见frp服务运行的信息了

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
文件列表,分别提供了界面,启动下载脚本, 主程序。 /usr/lib/lua/luci/model/cbi/frpc/server-detail.lua /etc/init.d/frpc /tmp/etc/frpc/frpc 本包的特点: 1、在扩展包是在luci-app-frpc的基础上提供给这是小内存路由的解决办法,不加装U盘的话可以采取这种方式, 把frpc放在易于下载的地方,开机会自动下载,里面内置了我的OSS地址,开机后init.d/frpc脚本的start从我的OSS上下载frpc 0.33到路由器,frpc版本是mips结构。。 2、推荐frpc服务器 natfrp.com 本更新主要是对它的配置文件做了适配。增加了两个字端,自定义域名, 子域名要留空才可以。用它的话不要舔内容,否则报错。普通兼容服务器也能用。 3、frpc运行在proc健康下,保证始终后台运行。 安装过程。 1、拷贝这三个文件到安装了luci-app-frpc的路由器根目录 2、修改传入的两个文件的权限, chmod 755 /etc/init.d/frpc chmod 755 /tmp/etc/frpc/frpc 3、退出WEB登陆再进入,试着按照natfrp。com的配置文件输入参数,选择启动,然后查看效果。 4、手工启动查看出错信息, putty,或者 ssh,或着webshell运行以下命令 /etc/init.d/frpc start 根据错误,修改具体的参数,本人常见的是frpc文件没有处理好,配置参数不正确。 5、排除错误后可以在opentwrt 的luci web窗口启动。 注意事项: 用户可以根据需要,修改 /etc/init.d/frpc脚本的内容,使用自己的frpc下载地址或USB静态存放地址。 然后在WEB上做设定并且启动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值