老旧笔记本电脑变服务器(笔记本电脑+内网穿透)

老旧笔记本电脑变服务器(笔记本电脑+内网穿透)

一、前提要求

  • 一台老旧的笔记本
  • 一个公网ip服务器
  • 一个u盘
  • 一个肯思考的大脑

二、给笔记本安装CentOS7系统

1. 制作启动盘

1.1 准备工作
  • 准备一个至少4G的空U盘(建议8G)
  • 下载系统镜像文件
  • 下载UltralSO
1.2 下载系统镜像文件

使用阿里云镜像下载Centos7最小化安装版本

image-20220724003011347

直接点击前文中的链接即可下载,如果想安装桌面版或更全的可以下载DVD或者Everything,但是内存将会极大,笔者将在文末附上本文中出现的所有资源文件。

1.3 下载ULtralSO

这是一个专业版收费的软件,但是我们需要的功能只需要试用即可。

在他的官方下载链接进行下载

image-20220724003453798

接下来进行安装,无脑下一步。

image-20220724003618172

完成后直接继续试用

1.4 完成安装后进行硬盘写入映像

在下方本地目录找到你刚刚系统镜像的位置,双击系统iso

image-20220724003753835

上方 启动->写入硬盘映像

image-20220724004038733

依次选择格式化和写入,注意格式化后u盘原本的资料将全部丢失

image-20220724004233827

特别注意:更改U盘的名字,否则后续会很麻烦!!!!!!

此处我更改为大写的CENTOS

image-20220724010913381

2. 使用U盘驱动开机

插入刚刚制作的U盘,开机的时候疯狂按笔记本对应的快捷键进入选择启动界面

这里笔者的电脑是ThinkPad也就是联想笔记本,快捷键是F12

进入以下界面

image-20220724005203197

进入后选择那个带有USB的,也就是使用U盘接口进行系统启动

3. 笔记本(物理机)安装Centos7

3.1 直接进入选择install会报错

image-20220724233751420

image-20220724233718704

3.2 重新来,进入时按照提示按e或者table编辑

image-20220724233915004

此处注意将这一长串改为你刚刚设置的U盘的名字,或者你没设置名字,那么可以试试改成CentOS\x207\x20x\8,如果还不行就用下面的办法。

3.3 查看启动盘符
linuxefi /images/pxeboot/vmlinuz linux dd quiet

image-20220724234134133

此时两种改法,记住CentOS\x207\x20x\8或者/dev/sdb4

image-20220724234359369

3.4 ctrl+x进入系统

更改完成功能后按ctrl+x可以进入安装程序

3.5 选择语言(有中文)

image-20220724234505801

3.6 选择安装信息

image-20220724234643499

3.7 选择笔记本的固态硬盘

image-20220724234735573

3.8 数据清空

image-20220724234857982

3.9 连接网络并配置主机名

image-20220724235020019

3.10 设定root密码

image-20220724235101990

**到这里等待软件自动完成安装,安装完成后进行重启即可。**接下来就可以进行内网穿透了。

三、搭建内网穿透

1. 公网ip服务器准备(也就是租用的阿里云服务器)

一般来说,阿里云所租用的Centos7系统是配备了初始的工具的(例如wget)。所以我们直接使用即可。

1.1 下载frp
# 版本页面
https://github.com/fatedier/frp/releases

# 创建压缩包文件夹
mkdir /opt/software

# 进入文件夹
cd /opt/software

# 路由命名规则:download/版本号/frp_版本号_linux_amd64.tar.gz
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz

image-20220724215537254

下载的就是这个,如果你是离线环境,可以考虑下载后传输过来。

image-20220724221808888

1.2 解压缩软件
# 创建解压目标文件夹
mkdir /opt/modules

# 解压到目的文件夹
tar -zxvf /opt/software/

# 解压到指定目录
tar -zxvf /opt/software/frp_0.44.0_linux_amd64.tar.gz -C /opt/modules

# 重命名
mv /opt/modules/frp_0.44.0_linux_amd64 /opt/modules/frp
1.3 移除客户端
# 进入安装目录
cd /opt/modules/frp

# 移除客户端
rm -f frpc*
1.4 配置frps
# 配置frps
vim /opt/modules/frp/frps.ini
# 服务通信的端口(自定义)
bind_port = 7000
# 服务端认证的token(自定义)
token = xxxxxx
# 设定web端口号,到时候通过这个端口号访问内网部署的网页
vhost_http_prot = 80
# 服务端管理界面的端口(自定义)
dashboard_port = 7500
# 服务端管理界面的用户名(自定义)
dashboard_user = admin
# 服务端管理界面的密码(自定义)
dashboard_pwd = xxxxx
log_file = ./frps.log
log_level = info
log_max_days = 3
enable_prometheus = true
1.5 测试配置是否成功
cd /opt/modules/frp
./frps -c frps.ini

输入后应该什么反应都没有,使用ctrl+c强制退出,因为配置了日志文件记录在本文件夹下的frps.log中,所以可以查看一下是否启动成功。

image-20220724225519581

frps started successlly就说明服务端启动成功,目前我的tcp监听了17000,网页监听了17500

1.6 将fprs作为service配置启动

为了让服务后台运行且自启动,所以配置为服务

# 服务器运行服务创建
vim /lib/systemd/system/frps.service

# 内容 中间ExecStart 后面的 /opt/modules/frp/frps -c /opt/modules/frp/frps.ini 中的路径需要设置成你存放frp文件的路径
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/opt/modules/frp/frps -c /opt/modules/frp/frps.ini

[Install]
WantedBy=multi-user.target

# 编辑完成后 按esc键然后输入 :wq 保存并退出


# 启动frps服务
systemctl start frps.service

# 查看服务状态
systemctl status frps.service

# 设置为开机自启
systemctl enable frps.service

#查看服务运行日志
journalctl -u frps.service

到这里我们就完成了服务端的配置,也就是说接下来需要搞定客户端

2. 内网服务器准备(也就是家里的老旧电脑,已经成功安装好了centos7)

2.1 最小化安装的话,还需要安装一些常用的工具
# 联网条件下
yum -y install nano vim wget curl net-tools lsof zip unzip
  • 安装完成

image-20220724121924303

2.2 下载和解压缩软件

此处和服务端一摸一样,也就是上文中1.1和1.2

2.3 移除服务端文件
# 进入安装目录
cd /opt/modules/frp

# 移除客户端
rm -f frps*
2.4 配置frpc
# 进入到frp目录后
cd /opt/modules/frp
# 编辑客户端frpc.ini文件
vim frpc.ini

[common]
# 服务端配置的认证的token
token = xxxxxx
# 服务端的公网IP地址(填写你服务器的ip地址)
server_addr = xxx.xxx.xxx.xxx
# 服务端配置的通信端口
server_port = 7000
# 客户端WebUI地址
admin_addr = 127.0.0.1
# 客户端WebUI端口(自定义)
admin_port = 7400
# 客户端WebUI用户名(自定义)
admin_user = client
# 客户端WebUI用户名(密码)
admin_pwd = xxxxxx
log_file = ./frpc.log
log_level = info
log_max_days = 3

[ssh]
type = tcp
# 访问的本地的地址
local_ip = 127.0.0.1
# 访问本地的端口
local_port = 22
# 远程访问的端口 即通过 服务器IP:10022 可以访问到内网的 127.0.0.1:22
remote_port = 10022

[web]
type = http
# 访问的本地的地址
local_ip = 127.0.0.1
# 访问本地的端口
local_port = 80
# 远程访问的端口 即通过 服务器IP:80可以访问到内网的 127.0.0.1:80
# 此处的remote_port 只是他们内部交互用,实际访问时看vhost_http_port的端口
remote_port = 20080
custom_domains = xxxx(自己的域名)

# 编辑完成后 按esc键然后输入 :wq 保存并退出

如果你要配置多个web,需要解析自己的子域名,然后用域名进行区分

2.5 测试是否成功
cd /opt/modules/frp
./frpc -c ./frpc.ini

image-20220724232048698

2.6 同样将frpc作为service配置启动
# 客户端运行服务创建
vim /lib/systemd/system/frpc.service

# 内容 中间ExecStart 后面的 /opt/modules/frp/frpc -c /opt/modules/frp/frpc.ini 中的路径需要设置成你存放frp文件的路径
[Unit]
Description=frpc service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/opt/modules/frp/frpc -c /opt/modules/frp/frpc.ini

[Install]
WantedBy=multi-user.target

# 编辑完成后 按esc键然后输入 :wq 保存并退出


# 启动frps服务
systemctl start frpc.service

# 查看服务状态
systemctl status frpc.service

# 设置为开机自启
systemctl enable frpc.service

#查看服务运行日志
journalctl -u frpc.service

四、至此大功告成

到这里就结束了,可以对端口进行拓展等,目前已经可以使用端口的映射进行ssh操作了。

frp代理与nginx代理

从功能上讲,frp和nginx都是完成了一种代理服务,不过又有所区别。

nginx可以提供本机不同端口之间的相互代理,同时nginx也可以配置其他机器的代理,但是其他机器的IP地址必须可以被其直接访问,例如代理另一台公网服务器的端口,或者代理同一内网下的其他机器的端口。

相比之下,frp服务对于代理设备的要求没有那么严格,它可以代理任何能够建立连接的设备,不管对方是否具有公网IP或者是否在同一内网下。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值