OpenWrt配置内网穿透工具Sakura Frp。
Sakura
Sakura是一款免费的内网穿透工具。共三种套餐:
免费用户可以建立两条内网穿透隧道。每日签到可以获取1-4G流量。
注册账号
- 登录Sakura官网。
- 注册账号后支付一元钱进行实名认证。
创建隧道
控制台点击服务-创建隧道
,选择服务器位置和隧道类型。添加本地IP和端口信息,创建隧道。
安装
可以安装Docker镜像,也可以直接安装。这里采用的是直接安装。
- 软件下载页面选择你的软路由的系统版本。复制下载链接。
- SSH连接OpenWrt或者打开OpenWrt终端,下载 SakuraFrp 版本的 frpc 至您的路由器,并将其放置在
/sbin
目录下。
wget <下载链接> -O /sbin/natfrpc
chmod a+wx /sbin/natfrpc # 修改可执行权限和可写权限(用于更新)
启动隧道
您可以通过下列方式启动 frpc:
启动方式 | 说明 |
---|---|
TUI | 易于上手,适合不熟悉命令行的新手用户 |
命令行 | 支持更复杂的配置,适合高级用户 |
查看访问密钥
使用 frpc 前,请先查看您的访问密钥。您可以在 管理面板 点击 查看访问密钥 按钮查看并复制访问密钥:
通过 TUI 启动隧道
- 通过SSH连接到OpenWrt,输入启动命令
natfrpc
- 执行命令后会打开TUI(文本图形界面)。要求输入Token。Token就是访问密钥。
- 右键复制Token,点击Login。TUI会显示当前账户下的隧道列表,使用方向键选中想要启动的隧道,按空格标为绿色 (或使用鼠标直接点击隧道)。
可以一次性启用多个隧道,您也可以直接选中节点来启用该节点下的所有隧道
- 选择完毕后,按
Ctrl-C
即可启动隧道,相关启动参数会被保存到配置文件frpc.ini
中。该配置文件在OpenWrt中的路径为/root
。下次直接运行natfrpc
命令就直接启动之前设置的隧道。
若直接使用natfrpc
命令运行,您会看到正在使用配置文件运行,在 3 秒内按任意键进入配置模式
的提示。按下任意按键即可进入配置界面,否则 frpc 会自动加载frpc.ini
并启动里面保存的隧道。
natfrpc
命令执行后,会输出隧道启动成功的信息,以及连接到隧道的网址或ip地址。
通过命令行启动隧道
- 从面板获取启动参数。点击
服务-隧道列表
,查看所有隧道。点击需要启动隧道的操作选项,点击配置文件即可进行查看:
- 如果要同时启动多条隧道,先勾选要启动的隧道再点击 批量操作 中的 配置文件 选项:
- 启动隧道。
frpc -f wdnmdtoken6666666:114514 # 启动ID为114514的隧道
frpc -f wdnmdtoken6666666:114514,114516 # 启动ID为114514和ID为114516的隧道
开机自启动
- 在目录
/etc/init.d
下创建一个名为natfrpc
的文件。
nano /etc/init.d/natfrpc
- 文件中写入以下内容(请注意修改成自己的启动参数,启动参数的获取看上一章)
#!/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
}
- 然后执行
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 # 如果需要,启用开机自启动
- 此时可以在OpenWrt的
系统 - 启动项
中可以看到名为natfrpc
的项目,并控制开机自启情况,启动/停止/重启等操作。在状态 - 系统日志
可以看到 frpc 的运行日志和连接信息(新日志内容在底部,请下滑)