Cpolar快速入门教程:OpenWrt系列

1. cpolar安装教程

本教程适合于CPU是X64,ARM64平台的OpenWrt系统

1.1 SSH登录OpenWrt路由器

image-20231122161534987

可以使用puTTY等工具ssh登录,在Host Name处输入路由器IP地址,点击Open即可。

1.2 在命令行下,添加cpolar插件的仓库源

1.2.1 下载公钥

wget -O cpolar-public.key http://openwrt.cpolar.com/releases/public.key
opkg-key add cpolar-public.key

1.2.2 将cpolar源添加至包管理器

echo "src/gz cpolar_packages http://openwrt.cpolar.com/releases/packages/$(. /etc/openwrt_release ; echo $DISTRIB_ARCH)"  >> /etc/opkg/customfeeds.conf

1.2.3 更新包管理器

opkg update

1.3 安装cpolar插件

opkg install cpolar
opkg install luci-app-cpolar
opkg install luci-i18n-cpolar-zh-cn

2. SFTP远程文件传输

前言

本次教程我们将在OpenWrt上安装SFTP服务,并结合cpolar内网穿透,创建安全隧道映射22端口,实现在公网环境下远程OpenWrt SFTP,安全地传输文件、备份文件、配置文件等。

  • SFTP是一种安全文件传输协议,它基于SSH协议,提供了加密、认证和数据完整性保护。
  • cpolar是一个安全且强大的内网穿透工具,它可以通过安全隧道将NAT或防火墙后面的本地服务器,暴露给公共互联网。用过一段时间后你会发现,它甚至还可以直接在家中实现小型的云服务。

2.1 openssh-sftp-server 安装

更新包管理器

opkg update

然后安装SFTP 服务

opkg install vsftpd openssh-sftp-server

接下来加入开机启动

/etc/init.d/vsftpd enable

启动

/etc/init.d/vsftpd start

我们打开连接工具,这里以Filezilla工具为例,填写局域网ip地址、用户名、密码、端口号:22,点击连接,即可成功

image-20230524151308028

2.2 安装cpolar工具

通过SSH连接操作OpenWrt,下载公钥:

wget -O cpolar-public.key http://openwrt.cpolar.com/releases/public.key

下载完成后添加公钥

opkg-key add cpolar-public.key

添加cpolar的opkg仓库源

echo "src/gz cpolar_packages http://openwrt.cpolar.com/releases/packages/$(. /etc/openwrt_release ; echo $DISTRIB_ARCH)"  >>  /etc/opkg/customfeeds.conf

更新仓库

opkg update

开始安装cpolar,分别执行下面三个安装命令安装三个包:

opkg install cpolar
opkg install luci-app-cpolar
opkg install luci-i18n-cpolar-zh-cn

安装完成后,打开OpenWrt Web管理界⾯,我们可以看到有个Service,下面即可看到我们cpolar内网穿透

image-20230426172304148

点击进去后即可看到cpolar界面

image-20230426173631379

登录cpolar官网,如果没有注册账号,可以先注册账号,然后点击左侧的验证,查看自己的认证token

cpolar官网:https://www.cpolar.com

20230111103532

之后将官网查看的token复制到OpenWrt cpolar服务界面的Auth Token里,设置后点击保存

image-20230426174954224

保存成功后点击界面里的打开Web-UI界面 ,即可看到cpolar Web UI界面

image-20230426175417187

使用我们官网注册的账号登陆,登陆后即可对隧道进行管理,安装就完成啦

image-20230426175513987

2.3 配置SFTP远程访问

浏览器打开cpolar管理界面,我们点击左侧仪表盘的隧道管理——创建隧道,由于SFTP连接默认的是22端口,因此我们要来创建一条TCP隧道,指向22端口:

  • 隧道名称:可自定义,注意不要重复
  • 协议:tcp
  • 本地地址:22 ( 默认端口)
  • 域名类型:选择随机域名
  • 地区:选择China VIP

点击创建

image-20230524154612861

创建成功后我们点击左侧在线隧道列表查看创建的公网地址

image-20230524155044600

我们再次打开连接工具,这里还是以Filezilla工具为例,填写上面我们看到的ip地址,地址前面加上sftp://,然后输入用户名和密码,端口号输入上面公网地址对应的端口号,点击连接,即可成功

image-20230524160058050

2.4 固定远程连接地址

为了更好地演示,我们在前述过程中使用cpolar生成的TCP数据隧道,其端口号是随机生成的。

这种随机生成的端口号优势在于建立速度快,可以立即使用。然而,它的缺点是由随机字符生成,不容易记忆。另外,这个端口号会在24小时内发生随机变化,更适合于临时使用。

我们一般会使用固定的TCP数据隧道,原因是我们希望将它发送给领导、客户或同事时,它是一个固定的、容易记忆的、更专业的,相比随机TCP隧道更显正式,便于交流协作的地址。

要建立一条稳定的TCP数据隧道,我们首先要登录cpolar官网,进入仪表台的“预留”界面

20221118144407

20221118144412

在预留界面中,找到“保留的TCP地址”项目。在这个项目下,我们填入一些必要信息,如识别数据隧道的隧道名称、隧道使用区域等。

image-20230524161954646

在这些信息填入后,点击右侧的“保留”按钮,将cpolar官网后台的隧道固定下来。此时cpolar会生成一个隧道TCP地址端口

image-20230524162054917

接着我们回到浏览器cpolar界面,打开“隧道列表”,找到之前创建的随机临时TCP隧道,进入“编辑”页面,

image-20230524162156952

将我们在cpolar官网获得的隧道端口粘贴进“预留的TCP地址”栏中,然后点击下方的“更新”按钮.

image-20230524162226926

然后再次查看在线隧道列表,发现SFTP的隧道对应的公网地址变成了我们官网保留的固定地址

image-20230524162548585

我们再次打开连接工具,这里还是以Filezilla工具为例,填写上面我们固定的ip地址,地址前面加上sftp://,然后输入用户名和密码,端口号输入上面固定公网地址对应的端口号,点击连接,即可成功

image-20230524163010492


3. Web界面实现远程访问

简单几步实现在公网环境下远程访问OpenWrt Web管理界面,使用cpolar内网穿透创建安全隧道映射OpenWrt Web界面面板443端口,无需公网IP,无需设置路由器。

3.1 安装cpolar

通过SSH连接操作OpenWrt, 下载公钥:

wget -O cpolar-public.key http://openwrt.cpolar.com/releases/public.key

下载完成后添加公钥

opkg-key add cpolar-public.key

添加cpolar的opkg仓库源

echo "src/gz cpolar_packages http://openwrt.cpolar.com/releases/packages/$(. /etc/openwrt_release ; echo $DISTRIB_ARCH)"  >>  /etc/opkg/customfeeds.conf

更新仓库

opkg update

然后开始安装cpolar,分别执行下面三个安装命令安装三个包:

opkg install cpolar
opkg install luci-app-cpolar
opkg install luci-i18n-cpolar-zh-cn

安装完成后,打开OpenWrt Web管理界⾯,我们可以看到有个service,下面即可看到我们cpolar内网穿透

image-20230426172304148

点击进去后即可看到cpolar界,接下来配置cpolar Authtoken

image-20230426173631379

登录cpolar官网,如果没有注册账号,可以先注册账号。然后点击左侧的验证,查看自己的认证token

cpolar官网:https://www.cpolar.com

20230111103532

之后将官网查看的token复制到OpenWrt cpolar服务界面的Auth Token里,设置后点击save保存

image-20230426174954224

保存成功后点击界面里的打开Web-UI界面 ,即可看到cpolar Web UI 管理界面

image-20230426175417187

使用我们官网注册的账号登陆,登陆后即可对隧道进行管理,安装就完成啦

image-20230517171057612

3.2 配置远程访问地址

我们点击左侧仪表盘的隧道管理——创建隧道,OpenWrt Web界面面板的端口是443,因此我们要来创建一条http隧道,指向443端口:

  • 隧道名称:可自定义,注意不要重复
  • 协议:http
  • 本地地址:443
  • 域名类型:选择随机域名
  • 地区:选择China VIP

点击创建

image-20230517171141270

创建成功后打开在线隧道列表,可以看到公网访问的地址,有两种公网地址访问方式:一种是http,一种是https

image-20230517171220016

然后我们使用其中一种https方式地址在浏览器访问,即可看到我们的OpenWrt Web界面,这样这个远程访问就配置好了,非常简单。

image-20230517171358491

3.3 固定公网地址

为了更好地演示,我们在前述过程中使用cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址会在24小时内发生随机变化,更适合于临时使用。

我们一般会使用固定的二级子域名,原因是我们希望将网址发送给领导、客户或同事时,它是一个固定的、容易记忆的、更专业的公网地址(例如:openwrt.cpolar.cn),这样与(3ad5da5.r10.cpolar.top)相比更显正式,便于交流协作。

登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。

  • 地区:选择服务器地区
  • 名称:填写您想要保留的二级子域名(可自定义)
  • 描述:即备注,可自定义填写

image-20230517171610261

本例保留一个名称为openwrtweb的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置到隧道中去。

image-20230517171646513

打开cpolar Web UI管理界面。点击左侧仪表盘的隧道管理——隧道列表,找到需要配置二级子域名的隧道,点击右侧的编辑

image-20230517171721648

修改隧道信息,将二级子域名配置到隧道中:

  • 域名类型:改为选择二级子域名
  • Sub Domain:填写我们刚刚所保留的二级子域名(本例为openwrtweb

修改完成后,点击更新

image-20230517171803892

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到隧道的公网地址,已经更新为二级子域名了.

image-20230517171831378

然后我们使用其中一种https方式地址在浏览器访问,即可看到我们的OpenWrt界面,这样一个固定不变的远程访问OpenWrt Web界面就配置好了

image-20230517171946618


4. 搭建个人Web站点公网访问

前言

uhttpd是OpenWrt/LuCI开发者从零开始编写的Web服务器,目的是成为优秀稳定的、适合嵌入式设备的轻量级任务的HTTP服务器,并且和OpenWrt配置框架非常好地集成在一起。它是管理OpenWrt 的默认的Web服务器,还提供了现代Web服务器所有的功能。

下面我们将在OpenWrt上部署uhttpd搭建Web服务器,同时使用cpolar将其安全暴露到公网上,让公网用户也可以正常访问到OpenWrt下的Web服务器。

4.1 检查uhttpd安装

正常版本下,如果可以在浏览器访问OpenWrt Web控制台界面,表示已经安装了uhttpd。同样,我们可以在根目录下面看到一个名称为www的目录,这样表示已经安装了uhttpd。

image-20230523130756649

4.2 部署Web站点

既然uhttpd已经安装好了,我们就可以直接使用,我们只需要把我们的站点拷贝进去www文件夹下面即可。接下来主要介绍HTML网站部署,使用一个免费站点进行演示。

进入www文件夹

cd /www

使用wget下载站点,ftp上传文件也可以

wget https://www.cpolar.com/static/downloads/meditation-app-master.tar.gz

下载好后解压

tar xzf meditation-app-master.tar.gz

解压后我们可以看到一个名称为meditation-app-master的文件夹,这里还可以看到一个名称为cgi-bin的文件夹,这个就是OpenWrt Web控制台界面位置。

image-20230523131916555

此时我们在外部浏览器使用OpenWrt局域网ip地址加资源路径/meditation-app-master/index.html即可看到我们下载部署的站点。如果不加资源路径,默认会跳转过去OpenWrt Web界面,此时我们一个静态站点就已经配置好了。

下面我们安装cpolar内网穿透来实现在公网环境下也可以远程访问这个Web站点。

image-20230523132258910

4.3 安装cpolar内网穿透

通过SSH连接操作OpenWrt, 下载公钥:

wget -O cpolar-public.key http://openwrt.cpolar.com/releases/public.key

下载完成后添加公钥

opkg-key add cpolar-public.key

添加cpolar的opkg仓库源

echo "src/gz cpolar_packages http://openwrt.cpolar.com/releases/packages/$(. /etc/openwrt_release ; echo $DISTRIB_ARCH)"  >>  /etc/opkg/customfeeds.conf

更新仓库

opkg update

然后开始安装cpolar,分别执行下面三个安装命令安装三个包:

opkg install cpolar
opkg install luci-app-cpolar
opkg install luci-i18n-cpolar-zh-cn

安装完成后,打开OpenWrt Web管理界⾯,我们可以看到有个Service,点击后,即可看到我们cpolar内网穿透

image-20230426172304148

点击进去后即可看到cpolar界面,接下来配置cpolar Authtoken

image-20230426173631379

登录cpolar官网,如果没有注册账号,可以先注册账号。然后点击左侧的验证,查看自己的认证token。

cpolar官网:https://www.cpolar.com

20230111103532

之后将官网查看的token复制到OpenWrt cpolar服务界面的Auth Token里,设置后点击save保存

image-20230426174954224

保存成功后点击界面里的打开Web-UI界面,即可看到cpolar Web UI界面

image-20230426175417187

使用我们官网注册的账号登陆,登陆后即可对隧道进行管理,安装就完成啦

image-20230517171057612

4.4 配置远程访问地址

在cpolar Web UI管理界面中,我们点击左侧仪表盘的隧道管理——创建隧道,uhttpd由于部署在了OpenWrt Web管理界面,设置了SSL,所以端口使用443,因此我们要来创建一条http隧道,指向443端口

  • 隧道名称:可自定义,注意不要重复
  • 协议:http
  • 本地地址:443
  • 域名类型:选择随机域名
  • 地区:选择China VIP

点击创建

image-20230523140759808

创建成功后打开在线隧道列表,可以看到公网访问的地址,有两种公网地址访问方式:一种是http,一种是https

image-20230523140850963

然后我们使用其中一种http方式公网地址,并且加上资源路径:/meditation-app-master/index.html在浏览器访问,即可看到我们的站点界面,这样这个远程访问就配置好了。

image-20230523141202524

4.5 配置固定远程地址

为了更好地演示,我们在前述过程中使用cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址会在24小时内发生随机变化,更适合于临时使用。

我们一般会使用固定的二级子域名,原因是我们希望将网址发送给领导、客户或同事时,它是一个固定的、容易记忆的、更专业的公网地址(例如:websitewrt.cpolar.cn),这样与(3ad5da5.r10.cpolar.top)相比更显正式,便于交流协作。

登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。

  • 地区:选择服务器地区
  • 名称:填写您想要保留的二级子域名(可自定义)
  • 描述:即备注,可自定义填写

image-20230523142316564

本例保留一个名称为websitewrt的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置到隧道中去。

image-20230523142403980

打开cpolar Web UI管理界面。点击左侧仪表盘的隧道管理——隧道列表,找到需要配置二级子域名的隧道,点击右侧的编辑

image-20230523142526049

修改隧道信息,将二级子域名配置到隧道中:

  • 域名类型:改为选择二级子域名
  • *Sub Domain:填写我们刚刚所保留的二级子域名

修改完成后,点击更新

image-20230523142620625

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到隧道的公网地址,已经更新为二级子域名了.

image-20230523142839570

然后我们使用其中一种http方式地址在浏览器访问,即可看到我们的站点界面,这样一个固定不变的远程访问个人站点配置好了。

image-20230523144012999


5. 如何公网SSH远程连接

简单几步实现OpenWrt结合cpolar内网穿透工具实现远程连接

5.1 安装cpolar内网穿透

cpolar是一个非常棒的跨平台内网穿透工具,可以通过安全隧道将NAT或防火墙后面的本地服务器,暴露给公共互联网。

通过SSH连接操作OpenWrt,下载公钥:

wget -O cpolar-public.key http://openwrt.cpolar.com/releases/public.key

下载完成后添加公钥

opkg-key add cpolar-public.key

添加cpolar的opkg仓库源

echo "src/gz cpolar_packages http://openwrt.cpolar.com/releases/packages/$(. /etc/openwrt_release ; echo $DISTRIB_ARCH)"  >>  /etc/opkg/customfeeds.conf

更新仓库

opkg update

开始安装cpolar内网穿透,分别执行下面三个安装命令安装三个包:

opkg install cpolar
opkg install luci-app-cpolar
opkg install luci-i18n-cpolar-zh-cn

安装完成后,打开OpenWrt Web管理界⾯,我们可以看到有个service,下面就可以看到cpolar内网穿透

image-20230426172304148

点击进去后即可看到cpolar界面

image-20230426173631379

登录cpolar官网,如果没有注册账号,可以先注册账号。然后点击左侧的验证,查看自己的认证token。

https://www.cpolar.com

20230111103532

之后将官网查看的token复制到OpenWrt cpolar服务界面的Auth Token里,设置后点击保存

image-20230426174954224

保存成功后点击界面里的打开Web-UI界面,即可看到cpolar Web UI界面。

image-20230426175417187

使用我们在cpolar官网注册的邮箱账号登陆,登陆后即可对隧道进行管理,安装就完成啦。

image-20230426175513987

5.2 配置SSH远程访问隧道

浏览器打开cpolar Web UI管理界面,我们点击左侧仪表盘的隧道管理——创建隧道,由于SSH连接默认的是22端口,因此我们要来创建一条tcp隧道,指向22端口:

  • 隧道名称:可自定义,注意不要重复
  • 协议:tcp
  • 本地地址:22 (ssh 默认端口)
  • 域名类型:选择随机域名(免费)
  • 地区:选择China VIP

点击创建

image-20230516165635882

创建好后打开在线隧道列表,查看生成的随机公网tcp地址,复制公网地址,注意无需复制tcp://

image-20230516175209376

5.3 公网远程连接

打开连接工具,输入生成的公网地址,tcp://不需要输入,端口号是cpolar公网地址后面的公网端口号,点击连接

image-20230516182615307

然后出现输入用户名和密码,即可登陆成功

image-20230516182734737

同样使用命令行也是连接成功

ssh -p 公网端口号 username@公网地址

这里需要注意,由于我们的本地22端口到了公网被映射到了12807端口(您的公网端口可能不一样),所以,ssh命令需要加-p参数,后面加公网端口号

image-20230516182947702

5.4 固定远程连接地址

为了更好地演示,我们在前述过程中使用cpolar生成的TCP数据隧道,其端口号是随机生成的。

这种随机生成的端口号优势在于建立速度快,可以立即使用。然而,它的缺点是由随机字符生成,不容易记忆。另外,这个端口号会在24小时内发生随机变化,更适合于临时使用。

我们一般会使用固定的TCP数据隧道,原因是我们希望将它发送给领导、客户或同事时,它是一个固定的、容易记忆的、更专业的,相比随机TCP隧道更显正式,便于交流协作的地址。

要建立一条稳定的TCP数据隧道,我们首先要登录cpolar官网,进入仪表台的预留界面

20230530092244

20230530092321

在预留界面中,找到保留的TCP地址项目。在这个项目下,我们填入一些必要信息,如识别数据隧道的隧道名称、隧道使用区域等。

image-20230516183200729

在这些信息填入后,点击右侧的保留按钮,将cpolar官网后台的隧道固定下来,此时cpolar会生成一个隧道tcp端口

image-20230516183300937

接着我们回到浏览器cpolar界面,打开隧道列表,找到之前创建的随机临时TCP隧道,进入编辑页面,

image-20230516183356611

将我们在cpolar官网获得的隧道端口粘贴进预留的TCP地址栏中,然后点击下方的更新按钮。

image-20230516183430350

然后再次查看在线隧道列表,发现ssh的隧道对应的公网地址变成了我们官网保留的固定地址

image-20230516183511587

打开连接工具,创建一个连接,输入固定的公网地址,tcp://不需要输入。端口号是公网地址后面的端口号,然后点击连接。

image-20230516183611050

然后输入用户名和密码,我们可以看到连接成功。

image-20230516183738108

同样,我们使用命令行模式连接也是成功的,现在这个公网地址是固定的了,不会再随机变化,只要保持隧道可以正常在线,我们在公网环境下就可以通过这个公网地址来SSH远程内网的OpenWrt。

image-20230516184040149

小结

利用cpolar内网穿透软件,可以解决外网不可以访问内网资源的问题,让你轻松分享内网资源。并且cpolar基础套餐及以上的软件版本都带有固定公网TCP地址的功能,这样就可以让你分享的端口号更易记忆、也更加专业,可以让使用者更方便、快捷的与你同享内网资源。

Share:

发表回复

目录

On Key

推荐文章