0%

如何将家里的旧手机改造成Linux服务器

如何将家里的旧手机改造成Linux服务器

准备一部旧手机

在家无意发现一部变砖的旧安卓手机,便想将其利用起来.智能手机在今天性能过剩的时代下,即使是五六年前的手机仍然比起现今相当多的单片机性能要强.并且一部手机上有丰富的传感器,不利用可惜了.经过双清,刷机,ROOT后,手机焕然一新.
我的手机配置如下

1
2
3
4
device : Coolpad 8297  (酷派大神F1)
Android : 4.4.2
Architecture : armv71
Memory : 1969MB

手机安装linuxdeploy

This application is open source software for quick and easy installation of the operating system (OS) GNU/Linux on your Android device.

linuxdeploy的github主页

由于安卓版本太低,最新版的linuxdeploy会闪退
请到这里下载之前的版本 本人使用的是2.3.1-247
安装好之后随意安装linux发行版本,非常容易,安装完后请打开ssh选项以便远程登录.本人选择安装了Ubuntu 18 LTS
linuxdeploy

局域网连接ssh

打开xshell,输入局域网IP,使用账号密码登录
mark
登录成功
mark

事情还没有到此为止呢,既然要做服务器,那如何将其暴露给外网呢?

内网穿透

首先市面上有一些主流的内网穿透的服务
mark

natapp算是比较好的选择,而且买免费,但是域名和端口会强制更换,临时使用还是可以考虑的.
不过最近薅到一个免费的谷歌云,综合以上决定自建内网穿透服务器

搭建nps

nps github地址

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。

nps很强大,还能在软路由上安装

安装服务端

同样在这里下载对应版本
服务器端使用linux_386_server.tar.gz

1
2
3
4
5
6
sudo wget https://github.com/ehang-io/nps/releases/download/v0.26.5/linux_386_server.tar.gz
sudo tar -xvf linux_386_server.tar.gz
sudo ./nps install

sudo nps #前台运行并打印日志,测试使用
sudo nps start #后台运行不打印日志

启动好服务后要及时开通端口,谷歌云有一个坑,不仅要设置防火墙规则,还要将防火墙规则添加到服务器实例中

安装客户端

先用局域网ssh连上手机
因为手机的处理器是armv7所以客户端使用linux_arm_v7_client.tar.gz

1
2
sudo wget https://github.com/ehang-io/nps/releases/download/v0.26.5/linux_arm_v7_client.tar.gz
sudo tar -xvf linux_arm_v7_client.tar.gz
安装前需要修改配置文件 在当前conf/npc.conf`中
1
2
3
4
5
6
7
 server_addr=34.XXXX.143:8024 # 服务器端bridge端口

[tcp]
mode=tcp
target_addr=127.0.0.1:22
server_port=10000
# 将手机的22端口映射为了服务器的34.XXXX.143的10000端口

安装
1
2
3
4
sudo ./npc install

sudo npc #前台运行并打印日志,测试使用
sudo npc start #后台运行不打印日志

返回服务端管理界面34.XXXX.143:8080 ,发现有服务已经注册
mark

远程ssh连接手机

已经手机22端口映射到代理服务器1000端口上,使用ssh来连接服务器的10000端口
mark

连接成功
mark