Openwrt配置Sakura内网穿透服务

📘 教程 · 2023-01-18
Openwrt配置Sakura内网穿透服务

OpenWrt配置内网穿透工具Sakura Frp。

Sakura

Sakura是一款免费的内网穿透工具。共三种套餐:

免费用户可以建立两条内网穿透隧道。每日签到可以获取1-4G流量。

注册账号

  1. 登录Sakura官网
  2. 注册账号后支付一元钱进行实名认证。

创建隧道

控制台点击服务-创建隧道,选择服务器位置和隧道类型。添加本地IP和端口信息,创建隧道。

安装

可以安装Docker镜像,也可以直接安装。这里采用的是直接安装。

  1. 软件下载页面选择你的软路由的系统版本。复制下载链接。
  2. SSH连接OpenWrt或者打开OpenWrt终端,下载 SakuraFrp 版本的 frpc 至您的路由器,并将其放置在/sbin 目录下。
wget <下载链接> -O /sbin/natfrpc
chmod a+wx /sbin/natfrpc # 修改可执行权限和可写权限(用于更新)

启动隧道

您可以通过下列方式启动 frpc:

启动方式说明
TUI易于上手,适合不熟悉命令行的新手用户
命令行支持更复杂的配置,适合高级用户

查看访问密钥

使用 frpc 前,请先查看您的访问密钥。您可以在 管理面板 点击 查看访问密钥 按钮查看并复制访问密钥:

通过 TUI 启动隧道

  1. 通过SSH连接到OpenWrt,输入启动命令
natfrpc
  1. 执行命令后会打开TUI(文本图形界面)。要求输入Token。Token就是访问密钥。

  1. 右键复制Token,点击Login。TUI会显示当前账户下的隧道列表,使用方向键选中想要启动的隧道,按空格标为绿色 (或使用鼠标直接点击隧道)。
可以一次性启用多个隧道,您也可以直接选中节点来启用该节点下的所有隧道

  1. 选择完毕后,按 Ctrl-C 即可启动隧道,相关启动参数会被保存到配置文件 frpc.ini 中。该配置文件在OpenWrt中的路径为/root。下次直接运行natfrpc命令就直接启动之前设置的隧道。
若直接使用natfrpc命令运行,您会看到 正在使用配置文件运行,在 3 秒内按任意键进入配置模式 的提示。按下任意按键即可进入配置界面,否则 frpc 会自动加载 frpc.ini 并启动里面保存的隧道。
  1. natfrpc命令执行后,会输出隧道启动成功的信息,以及连接到隧道的网址或ip地址。

通过命令行启动隧道

  1. 从面板获取启动参数。点击服务-隧道列表,查看所有隧道。点击需要启动隧道的操作选项,点击配置文件即可进行查看:

  1. 如果要同时启动多条隧道,先勾选要启动的隧道再点击 批量操作 中的 配置文件 选项:

  1. 启动隧道。
frpc -f wdnmdtoken6666666:114514    # 启动ID为114514的隧道
frpc -f wdnmdtoken6666666:114514,114516    # 启动ID为114514和ID为114516的隧道

开机自启动

  1. 在目录/etc/init.d下创建一个名为 natfrpc 的文件。
nano /etc/init.d/natfrpc
  1. 文件中写入以下内容(请注意修改成自己的启动参数,启动参数的获取看上一章)
#!/bin/sh /etc/rc.common

USE_PROCD=1
START=90

start_service() {
    ####### 第一条隧道 #######
    procd_open_instance SakuraFrp
    procd_set_param command /sbin/natfrpc

    procd_append_param command -f <您的隧道启动参数> --update # 请修改此行为您的隧道启动参数,同时可添加远程控制隧道启停等配置
 
    procd_set_param env LANG=zh_CN.UTF-8 # 用于显示中文日志,删除即显示英文日志
    procd_set_param limits nofile="unlimited"
    procd_set_param respawn 300 5 10
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_add_jail natfrp log
    procd_close_instance

    ####### 第二条隧道 #######
    procd_open_instance SakuraFrp2 # 注意这里的名字是 SakuraFrp2,后面有个数字编号
    procd_set_param command /sbin/natfrpc

    procd_append_param command -f <另外一个启动参数> --update # 请修改此行为您的隧道启动参数,同时可添加远程控制隧道启停等配置
 
    procd_set_param env LANG=zh_CN.UTF-8 # 用于显示中文日志,删除即显示英文日志
    procd_set_param limits nofile="unlimited"
    procd_set_param respawn 300 5 10
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_add_jail natfrp log
    procd_close_instance
}
  1. 然后执行
sed -i 's/\r//' /etc/init.d/natfrpc # 如果您在 Windows 创建了上述文件,然后上传文件到OpenWrt,则需要执行此命令来去除 \r 换行符
chmod +x /etc/init.d/natfrpc # 为其赋予可执行权限
/etc/init.d/natfrpc start # 启动服务
/etc/init.d/natfrpc enable # 如果需要,启用开机自启动
  1. 此时可以在OpenWrt的 系统 - 启动项中可以看到名为 natfrpc 的项目,并控制开机自启情况,启动/停止/重启等操作。在 状态 - 系统日志 可以看到 frpc 的运行日志和连接信息(新日志内容在底部,请下滑)

OpenWrt
Theme Jasmine by Kent Liao