5

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

 2 years ago
source link: https://www.kejiwanjia.com/jiaocheng/84473.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

📖 目录 [显示]

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

2、需要的软件

Linux Deploy 下载地址

BusyBox 下载地址

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

安装以及配置步骤

1、安装BusyBox

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

2、安装Linux Deploy

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

75

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

75

3、配置Linux Deploy

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

75

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

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设置保持默认就行

7575

4、安装CentOS

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

75

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下载地址:下载地址,根据架构不同,选择相应版本下载

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

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

  1. mv frp_0.38.0_linux_amd64 frp

进入frp目录中

  1. cd frp

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

75

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

  1. rm frpc frpc.ini frpc_full.ini

然后修改frps.ini文件

  1. vim frps.ini

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

向其中添加如下配置

75

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的服务端了

  1. ./frps -c frps.ini

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

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

  1. nohup ./frps -c frps.ini &

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

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

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

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

  1. wget https://github.com/smaknsk/servicectl/archive/1.0.tar.gz
  2. tar -xf 1.0.tar.gz -C /usr/local/lib/
  3. ln -s /usr/local/lib/servicectl-1.0/servicectl /usr/bin/servicectl
  4. ln -s /usr/local/lib/servicectl-1.0/serviced /usr/bin/serviced
  1. sudo vim /lib/systemd/system/frps.service

在frps.service里写入以下内容

  1. [Unit]
  2. Description=fraps service
  3. After=network.target network-online.target syslog.target
  4. Wants=network.target network-online.target
  5. [Service]
  6. Type=simple
  7. #启动服务的命令(此处写你的frps的实际安装目录)
  8. ExecStart=/your/path/frps -c /your/path/frps.ini
  9. [Install]
  10. WantedBy=multi-user.target

然后启动frps

  1. sudo servicectl start frps

打开自启动

  1. sudo servicectl enable frps

至此服务端配置完毕

客户端配置

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

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

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

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

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

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

  1. ./frpc -c frpc.ini

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

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

-> 加入科技玩家交流群组:点击加入 <-
注意:
1.文中二维码和链接可能带有邀请性质,请各位玩家自行抉择。
2.请勿通过链接填写qq号与密码、银行卡号与密码等个人隐私信息。
3.禁止纯拉人头,拉app注册等信息,发现必小黑屋。
4.同一种信息仅发一次,多发会被删除。
5.文章关联方不想展示也可以微信站长“socutesheep”删除。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK