利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

前提

1、一台已经root的手机(必须要root),我的是安卓9版本的小米9

2、需要的软件

Linux Deploy 下载地址

BusyBox 下载地址

JuiceSSH 或者 Termius都行 因为这三个软件的下载或多或少都需要具备外网的环境,所以如果没有下载途径的话可以直接从我下面的网盘里下载 网盘链接 提取码:30yj

安装以及配置步骤

1、安装BusyBox

安装好软件后直接打开点击install就行了,安装过程需要授予它root权限,默认的安装路径是 /system/xbin ,如果需要修改的话可以进到设置里面修改

2、安装Linux Deploy

安装好软件后,点击左上角三个横杠,选择设置,勾选 锁定Wi-Fi 和 CPU唤醒

利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

之后将下面的 PATH变量 设置为你刚才BusyBox的安装路径,之后点 更新环境

利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

3、配置Linux Deploy

发行版:我这里选择的是CentOS
架构:架构的话取决于你自己的CPU架构,可以去下载DevCheck 来查看自己的CPU架构,(选错架构的话会导致后面安装失败)可以看到我的是arrch64的,所以我的架构的那一栏就选择arrch64,选择其他发行版的话同理

利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

源地址:推荐使用国内的镜像源,可以从下面的镜像源中选一个

http://mirrors.bfsu.edu.cn/centos-altarch/
http://mirrors.nju.edu.cn/centos-altarch/
http://mirrors.ustc.edu.cn/centos-altarch/

安装路径:默认
镜像大小:取决于你自己手机,可以和我一样先设4个G,反正之后可以调整
用户名与密码:自己随便设就行,用于后面通过ssh连接

本地化:选择 zh_CN.UTF-8
DNS:默认
挂载:根据自己需求,如果需要访问手机内部文件则勾选,挂载点设置为下图所示
SSH:没什么好说的,一定要启动,SSH设置保持默认就行

利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

4、安装CentOS

上述配置完成后返回到主页,点击右上角三个点,选择安装,等待安装完成即可。之后点击启动,若如下图所示则表示启动成功,其中倒数第二行后面一定要是done,否则则意味着安装失败

利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

5、登录到Linux

打开之前安装的JuiceSSH或者Termius,新建连接,服务器地址填 127.0.0.1 用户名和密码即为之前配置的用户名与密码,之后点击连接,不出意外的话,你就通过ssh连接上了你的Linux。同时你还可以使用处于同一局域网下的其他设备来连接到Linux,服务器地址即为你的手机IP,也就是显示在Linux Deploy软件主页上的地址。

下面讲如何通过内网穿透实现从公网访问这台手机上的Linux

主流的内网穿透工具有:花生壳、ngrok和frp,其中花生壳是收费的,而且价格还不太低,ngrok和frp都是免费的,不过ngrok免费版本每次启动会变IP,而frp的话则需要你拥有一台具有公网IP的服务器,由于我主要是自己搭着玩的,手上也正好有一台服务器,所以就选择了用frp来实现内网穿透。

服务端配置

frp下载地址:下载地址,根据架构不同,选择相应版本下载

 wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz

然后解压

 tar -zxvf frp_0.38.0_linux_amd64.tar.gz

可以将解压完的文件改个名,方便使用

 mv frp_0.38.0_linux_amd64 frp

进入frp目录中

 cd frp

下图为文件夹里包含的文件,其中前三个是与客户端相关的文件(以c结尾代表client即客户端)后三个则是与服务器相关的文件(以s结尾代表server)

利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

因为我们是在配置服务端,所以我们可以把前三个文件删除

 rm frpc frpc.ini frpc_full.ini

然后修改frps.ini文件

 vim frps.ini

首次打开应该只有如下两行

利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

向其中添加如下配置

利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

bind_port:表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。

dashboard_port:是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为你服务器的IP)查看frp服务运行信息。

token:是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。

dashboard_user 和 dashboard_pwd:表示打开仪表板页面登录的用户名和密码,自行设置即可。

vhost_http_port 和 vhost_https_port:用于反向代理HTTP主机时使用,本文没有使用,可以不管

编辑完成保存退出就行(vim操作不会的话自行百度搜索)

之后就可以运行frps的服务端了

 ./frps -c frps.ini

如下图所示即代表运行正常,可以访问 x.x.x.x:7500 并使用自己刚设置的用户名密码登录,即可看到仪表盘界面

利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

此时的服务端仅运行在前台,如果Ctrl+C停止或者关闭SSH窗口后,frps都会停止运行,因此使用nohup命令将其运行在后台,首先Ctrl+C停止服务,之后输入命令

 nohup ./frps -c frps.ini &

输出如下内容即表示正常运行

nohup: ignoring input and appending output to 'nohup.out'

此时使用Ctrl+C关闭nohup,frps依然会在后台运行,使用jobs命令查看后台运行的程序,可以看到frps在后台正常运行。

接下来配置服务器端开机自启。由于在Linux Deploy中搭建的CentOS无法使用systemctl以及service命令,所以我们需要进行下面的操作

wget https://github.com/smaknsk/servicectl/archive/1.0.tar.gz

tar -xf 1.0.tar.gz -C /usr/local/lib/

ln -s /usr/local/lib/servicectl-1.0/servicectl /usr/bin/servicectl

ln -s /usr/local/lib/servicectl-1.0/serviced /usr/bin/serviced

之后

sudo vim /lib/systemd/system/frps.service

在frps.service里写入以下内容

[Unit]
Description=fraps service
After=network.target network-online.target syslog.target
Wants=network.target network-online.target

[Service]
Type=simple

#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/your/path/frps -c /your/path/frps.ini

[Install]
WantedBy=multi-user.target

然后启动frps

sudo servicectl start frps

打开自启动

sudo servicectl enable frps

至此服务端配置完毕

客户端配置

同样使用wget命令将相应版本的frp压缩包下载并解压,并删除其中frps相关的文件,留下frpc相关文件,编辑frpc.ini文件,默认打开如下图所示

利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

由于之前在服务端配置了token,所以在客户端我们需要加入token

利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

其中common字段下的三项分别为服务端的IP地址、端口以及刚添加的token,这些与之前服务端配置的保持一致就行

SSH字段则可以理解为自定义的规则,若之后你需要映射其他的端口,按照它的格式填写即可。

[SSH]:表示规则名称,自己定义
type:表示转发的协议类型,有TCP和UDP等选项可选择,可自行查询frp的手册
local_port:是本地应用的端口号,保持一致就行
remote_port:为该条规则在服务端开放的端口号,自己定义

配置完成即可运行frpc了,执行如下命令

./frpc -c frpc.ini

配置开机自启则与服务端配置相似。

之后即可通过SSH连接到你的手机,IP地址为你服务器的IP地址,端口号为6000(即为你在SSH字段定义的端口),用户名与密码即为最初配置Linux Deploy设置的用户名与密码,教程结束。

-> 加入科技玩家交流群组:点击加入 注意:
1.文中二维码和链接可能带有邀请性质,请各位玩家自行抉择。
2.请勿通过链接填写qq号与密码、银行卡号与密码等个人隐私信息。
3.禁止纯拉人头,拉app注册等信息,发现必小黑屋。
4.同一种信息仅发一次,多发会被删除。
5.文章中源码或APP等,无法保证其绝对安全,需自行辨别。
6.文章关联方不想展示也可以微信站长“socutesheep”删除。
本文由 @SeaMoon 发布。如若转载,请注明出处: 科技玩家 » 利用旧手机搭建LinuxDeploy用作服务器,同时使用frp实现内网穿透

给TA买糖
共{{data.count}}人
人已买糖
教程玩家投稿

js脚本编写教程,第三弹,nodejs调用api接口

2022-3-25 21:01:18

教程玩家投稿

开源阅读服务器版

2022-3-25 21:52:10

67 条回复 A文章作者 M管理员
贴心提醒
请认真对待作者付出,勿发表无意义言论,触发过滤规则的评论将无法提交,包含敏感词的评论会自动变成待审核状态哦。
  1. 琉璃27790

    顶礼膜拜!

  2. 18103247918

    学习学习,

  3. seatom

    继续加油哦,争取发表更多优秀帖子

  4. LAzySleep

    又学习到了,写的非常好?

  5. 伍叶

    学习学习

  6. 阿伟在偷撸

    太牛了!!写的真好!超级仔细,小白都能学会!

  7. wasd2134

    学习学习

  8. 幻念

    谢谢分享,学习了

  9. LAzySleep

    感谢分享,谢谢楼主,赞

  10. 崖边

    七年前来顶贴!

  11. slimei

    辛苦大佬分享了,我先学习一下

  12. 时间煮雨我煮屎

    客服端和服务端都放同一个手机里面吗

  13. 七年

    辛苦了,学习一下

  14. 可乐?

    大佬 为什么我的装不了docker

  15. LAzySleep

    继续加油哦,争取发表更多优秀帖子

  16. ben

    谢谢分享,学习了

  17. 纱雾

    谢谢分享

  18. jellysheep

    又学习到了,写的非常好

  19. 七年

    打卡升级

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索