【个人服务器搭建教程】用多余的主机搭建一个公网可访问的服务器

服务器 0

个人服务器搭建教程

    • 前言
    • Part 1:光猫改桥接通过路由器拨号上网
      • 一、 获取光猫超级管理员账号密码
      • 二、 光猫改桥接模式
      • 三、 开启IPV6
    • Part 2:搭建服务器
      • 一、 制作PVE安装U盘
      • 二、 给服务器安装PVE系统
      • 三、 在PVE系统内安装Centos
      • 四、 在PVE系统内安装Debian
    • Part 3:各种疑难杂症
      • CentOS 7 yum无法使用解决方法
      • linux 磁盘扩容
          • 方案一
          • 方案二
      • PVE设置IPv6
      • PVE开启vGPU支持

前言

前段时间家里电脑更新换代,多余的零件刚好可以组一台主机出来,就想尝试着搭建一台公网可以访问的个人服务器。通过万能的互联网,查询了很多资料,尝试了N多方法后终于搭建成功。

以下是当前我所用到的硬件及网络环境,其他设备的小伙伴可以参考:

  • 宽带:移动千兆?
  • 光猫:移动家庭网关 H50G
  • 路由器:TP-Link TL-R470GP-AC
  • U盘:废物堆里翻出的2G金士顿
  • 服务器主机:东拼西凑一台能正常开机的主机

Part 1:光猫改桥接通过路由器拨号上网

一、 获取光猫超级管理员账号密码

  1. 先找到光猫,记下背面的终端配置地址、用户名、密码(建议咔嚓拍照)
  2. 浏览器输入终端配置地址:192.168.1.1,并使用上一步获取的用户名和密码登录
    在这里插入图片描述
  3. 网络–>远程管理–>认证
    • 记录password
      在这里插入图片描述
  4. 拿牙签捅光猫后面的reset孔,不要松掉,看光猫表面,灯全亮一次(不能松),等待5-30秒后灯全亮两次后松开(这款光猫就是这样,一共亮三次后才算完全恢复出厂设置,一次是重置而已)。
  5. 电脑用网线直连光猫LAN口(因为这款光猫无wifi)
  6. 浏览器输入终端配置地址:192.168.1.1,使用移动默认超级用户登录(账号:CMCCAdmin,密码:aDm8H%MdA
  7. 安全–>Telnet配置
    • 勾选启用WAN侧Telnet
    • 勾选启用LAN侧Telnet
    • 记录用户名密码
      在这里插入图片描述
  8. 网络–>远程管理–>认证
    • 输入上面第3步记录的password
    • 点确认(等待下发数据完成)
    • 下发数据完成后管理员密码变成随机了,用默认超级管理员肯定进不去
      在这里插入图片描述
  9. 使用Telnet连接光猫:开始–>运行(没有就Windows键+R)
    • 输入cmd↩︎
      在这里插入图片描述

    • 弹出命令行窗口输入telnet 192.168.1.1↩︎

    • 如果提示'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件。则需要先开启Telnet客户端(控制面板–>所有控制面板项–>程序和功能–>启用或关闭 Windows 功能–>勾选Telnet客户端–>确定–>等待安装完成) 在这里插入图片描述
      在这里插入图片描述

    • 输入上面第7步获取的Telnet用户名密码登录
      在这里插入图片描述

  10. 通过Telnet修改超级管理员账号密码
    • 完成上一步Telnet客户端登录后,标识符变成~$了,接下来需要提权
      • 输入su↩︎
      • 输入密码aDm8H%MdA↩︎
    • 当标识符变成/#时,说明提权成功
      • 输入下面指令,会弹出一很多包括user、CMCCAdmin等账号,但是都是******,可以不用管
        sidbg 1 DB p DevAuthInfo
    • 修改超级管理员账号 ( CMCCAdmin可自定义 )
      sidbg 1 DB set DevAuthInfo 0 User CMCCAdmin
    • 修改超级管理员密码 (aDm8H%MdA可自定义 )
      sidbg 1 DB set DevAuthInfo 0 Pass aDm8H%MdA
  11. 完成上述操作后就可以使用新的超级管理员账号登录光猫了

二、 光猫改桥接模式

  1. 使用超级管理员账号密码登录192.168.1.1
  2. 网络–>宽带设置,可以看到一个PPPOE模式,将使能勾去掉,端口绑定也取消打勾,记下自己的VLAN ID然后点击修改
    查看密码用F12,改写type="password"–>type="text"记录下自己的宽带拨号账号及密码
    在这里插入图片描述
  3. 新建WAN连接
    • IP协议版本:IPv4/v6
    • 模式:桥模式
    • 使能:打勾
    • 端口绑定:LAN 1234可以全打勾(意思是四个LAN全可以拨号)
    • DHCP服务使能:去掉打勾
    • 桥类型 :IP BRIDGE
    • 业务模式:INTERNET
    • VLAN 模式:改写(tag)
    • VLAN ID:填写刚才记下的VLAN
    • 点击修改
      在这里插入图片描述
  4. 进入路由器管理后台192.168.0.1,基本设置–>WAN设置,上面第2步偷看到的账号和密码,保存
    在这里插入图片描述

三、 开启IPV6

  1. 登录路由器管理后台192.168.0.1
  2. 基本设置–>WAN设置
    • IP协议类型:IPv6
    • 状态:启用
    • 复用IPv4拨号链路:打勾
    • 保存
      在这里插入图片描述
  3. 基本设置–>LAN设置
    • IP协议类型:IPv6
    • 状态:启用
    • 前缀授权接口:WAN
      在这里插入图片描述
  4. 验证https://ipw.cn/ipv6/
    在这里插入图片描述

Part 2:搭建服务器

在确保IPv6配置完成的情况下,可以放心大胆的搭建服务器了。
服务器的话我选择安装pve,然后在里面创建虚拟服务器

一、 制作PVE安装U盘

  1. 翻出那个2G的典藏版U盘,插到电脑上
  2. 根据自己系统下载安装U盘烧录软件BalenaEtcher https://github.com/balena-io/etcher/releases
    在这里插入图片描述
  3. 下载PVE的ISO镜像 https://www.proxmox.com/en/downloads
    在这里插入图片描述
  4. 选择ISO镜像–>选择U盘–>一键烧录
    ⚠️烧录完成后系统会无法识别U盘,千万不要格式化!千万不要格式化!千万不要格式化在这里插入图片描述

二、 给服务器安装PVE系统

  1. 将U盘插到服务器电脑上(最好先连上网线),BIOS里设置U盘优先启动
  2. 进入PVE安装界面,选择第一个Install Proxmox VE (Graphical)↩︎(图形化安装界面)
    在这里插入图片描述
  3. 右下角I agree 在这里插入图片描述
  4. 选择安装盘Next
    在这里插入图片描述
  5. 选择时区及键盘Next,如果没有识别出来,如下图填写
    在这里插入图片描述
  6. 填写root用户访问密码,Email填写自己的邮箱Next
    在这里插入图片描述
  7. 修改主机名,IP地址、网关、DNS服务器在联网状态下是自动带出的Next
    在这里插入图片描述
  8. 确认信息后安装Install
    在这里插入图片描述
  9. 安装完成后会自动重启,这个时候可以把U盘拔掉了。
    在这里插入图片描述
  10. 根据提示在局域网内另一台电脑浏览器输入https://192.168.0.28:8006/就可以访问服务器的PVE管理系统了(提示你的连接不是专用连接点开高级–>继续访问在这里插入图片描述
  11. 登录用户名root,密码是安装时设定的,下面语言可以选择中文。(登录成功后提示无有效订阅,这个不用管,直接叉掉)
    在这里插入图片描述

三、 在PVE系统内安装Centos

  1. 下载Centos镜像
    • 阿里云开源镜像站:https://mirrors.aliyun.com/centos
    • 北京大学开源镜像站:https://mirrors.pku.edu.cn/centos
  2. 将下载好的镜像上传至PVE,local(pve)–>ISO镜像–>上传
    在这里插入图片描述
  3. 创建虚拟机,给虚拟机起个名称,开机自启动看自己情况是否勾上 下一步
    在这里插入图片描述
  4. 操作系统选择刚刚上传的ISO镜像 下一步
    在这里插入图片描述
  5. 系统保持默认 下一步
    在这里插入图片描述
  6. 磁盘空间按需要调整 下一步
    在这里插入图片描述
  7. CPU按需要调整 下一步
    在这里插入图片描述
  8. 内存按需调整 下一步
    在这里插入图片描述
  9. 网络看情况修改网卡模型 下一步
    在这里插入图片描述
  10. 确认后完成
    在这里插入图片描述
  11. 启动虚拟机,凭多年经验完成Centos系统的安装
    在这里插入图片描述

四、 在PVE系统内安装Debian

  1. 官方下载镜像https://www.debian.org
    在这里插入图片描述
  2. 同上面 CentOS 一样在 pve 中上传镜像文件并创建虚拟机
  3. 详细安装过程

Part 3:各种疑难杂症

CentOS 7 yum无法使用解决方法

由于CentOS 7仓库已经被归档,当前的镜像地址无法找到所需的文件
进入/etc/yum.repos.d目录下找到CentOS-Base.repo修改前记得备份哦

# CentOS-Base.repo## The mirror system uses the connecting IP address of the client and the# update status of each mirror to pick mirrors that are updated to and# geographically close to the client.  You should use this for CentOS updates# unless you are manually picking other mirrors.## If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead.## [base]name=CentOS-$releasever - Base#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/baseurl=http://vault.centos.org/7.9.2009/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates]name=CentOS-$releasever - Updates#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful[extras]name=CentOS-$releasever - Extras#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra#$baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages[centosplus]name=CentOS-$releasever - Plus#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/baseurl=http://vault.centos.org/7.9.2009/centosplus/$basearch/gpgcheck=1enabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

修改完后依次执行

sudo yum clean allsudo yum makecachecurl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.reposudo yum clean allsudo yum makecache

参考:CentOS 7 yum无法使用解决方法Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=

linux 磁盘扩容

方案一
  1. 查看磁盘空间
root@debian:~# fdisk -lDisk /dev/sda: 500 GiB, 536870912000 bytes, 1048576000 sectorsDisk model: QEMU HARDDISK   Units: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0xa1263a9cDevice     Boot   Start      End Sectors  Size Id Type/dev/sda1  *       2048   999423  997376  487M 83 Linux/dev/sda2       1001470 10483711 9482242  4.5G  5 Extended/dev/sda5       1001472 10483711 9482240  4.5G 8e Linux LVMDisk /dev/mapper/debian--vg-root: 3.56 GiB, 3825205248 bytes, 7471104 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/debian--vg-swap_1: 980 MiB, 1027604480 bytes, 2007040 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytes
  1. 磁盘分区
fdisk /dev/sda

之后分别按

  • n:创建一个新的磁盘
  • p:主分区
  • ↩︎:盘符(默认)
  • ↩︎:起始位置
  • ↩︎:结束位置
  • w:保存
root@debian:~# fdisk /dev/sdaWelcome to fdisk (util-linux 2.38.1).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.This disk is currently in use - repartitioning is probably a bad idea.It's recommended to umount all file systems, and swapoff all swappartitions on this disk.Command (m for help): nPartition type   p   primary (1 primary, 1 extended, 2 free)   l   logical (numbered from 5)Select (default p): pPartition number (3,4, default 3): First sector (10483712-1048575999, default 10483712): Last sector, +/-sectors or +/-size{K,M,G,T,P} (10483712-1048575999, default 1048575999): Created a new partition 3 of type 'Linux' and of size 495 GiB.Command (m for help): wThe partition table has been altered.Syncing disks.

执行完成后可以再次执行fdisk -l查看新增出来的盘符

  1. 初始化
pvcreate /dev/sda3

其中/dev/sda3为新增的盘符

root@debian:~# pvcreate /dev/sda3  Physical volume "/dev/sda3" successfully created.
  1. 扩展卷组
    执行vgdisplay查看卷组信息
root@debian:~# vgdisplay  --- Volume group ---  VG Name               debian-vg  System ID               Format                lvm2  Metadata Areas        1  Metadata Sequence No  3  VG Access             read/write  VG Status             resizable  MAX LV                0  Cur LV                2  Open LV               2  Max PV                0  Cur PV                1  Act PV                1  VG Size               <4.52 GiB  PE Size               4.00 MiB  Total PE              1157  Alloc PE / Size       1157 / <4.52 GiB  Free  PE / Size       0 / 0     VG UUID               dGcbvo-HCEY-y1NK-Ur0h-Jcz3-GrIJ-jrGJRo
vgextend debian-vg /dev/sda3

这里的debian-vg对应的是卷组信息中的VG Name/dev/sda3为新增的盘符

root@debian:~# vgextend debian-vg /dev/sda3  Volume group "debian-vg" successfully extended
  1. 扩容
    执行df -lh查看挂载位置
root@debian:~# df -lhFilesystem                   Size  Used Avail Use% Mounted onudev                         1.9G     0  1.9G   0% /devtmpfs                        392M  532K  392M   1% /run/dev/mapper/debian--vg-root  3.5G  2.1G  1.2G  64% /tmpfs                        2.0G     0  2.0G   0% /dev/shmtmpfs                        5.0M     0  5.0M   0% /run/lock/dev/sda1                    455M   59M  371M  14% /boottmpfs                        392M     0  392M   0% /run/user/0
lvextend -l +100%FREE /dev/mapper/debian--vg-root /dev/sda3

/dev/mapper/debian--vg-root对应的是Mounted on根路径//dev/sda3为新增的盘符

root@debian:~# lvextend -l +100%FREE /dev/mapper/debian--vg-root /dev/sda3  Size of logical volume debian-vg/root changed from 3.56 GiB (912 extents) to 498.56 GiB (127632 extents).  Logical volume debian-vg/root successfully resized.
  1. 运行cat /etc/fstab确认磁盘分区文件系统类型后执行
root@debian:~# cat /etc/fstab# /etc/fstab: static file system information.## Use 'blkid' to print the universally unique identifier for a# device; this may be used with UUID= as a more robust way to name devices# that works even if disks are added and removed. See fstab(5).## systemd generates mount units based on this file, see systemd.mount(5).# Please run 'systemctl daemon-reload' after making changes here.## <file system> <mount point>   <type>  <options>       <dump>  <pass>/dev/mapper/debian--vg-root /               ext4    errors=remount-ro 0       1# /boot was on /dev/sda1 during installationUUID=dbb51c98-f3cb-4bc7-a6bc-4df422115c4b /boot           ext2    defaults        0       2/dev/mapper/debian--vg-swap_1 none            swap    sw              0       0/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
  • ext文件系统
resize2fs /dev/mapper/debian--vg-root
  • XFS文件系统
xfs_growfs /dev/mapper/debian--vg-root

/dev/mapper/debian--vg-root对应的是Mounted on根路径/

root@debian:~# resize2fs /dev/mapper/debian--vg-rootresize2fs 1.47.0 (5-Feb-2023)Filesystem at /dev/mapper/debian--vg-root is mounted on /; on-line resizing requiredold_desc_blocks = 1, new_desc_blocks = 63The filesystem on /dev/mapper/debian--vg-root is now 130695168 (4k) blocks long.
  1. 验证:执行df -lh
root@debian:~# df -lhFilesystem                   Size  Used Avail Use% Mounted onudev                         1.9G     0  1.9G   0% /devtmpfs                        392M  532K  392M   1% /run/dev/mapper/debian--vg-root  491G  2.1G  469G   1% /tmpfs                        2.0G     0  2.0G   0% /dev/shmtmpfs                        5.0M     0  5.0M   0% /run/lock/dev/sda1                    455M   59M  371M  14% /boottmpfs                        392M     0  392M   0% /run/user/0
方案二
  1. 首先确保安装好parted
# CentOSyum install parted# Debianapt install parted
  1. 查看分区情况
fdisk -l
  1. 使用 parted 磁盘管理工具
parted /dev/sda
  • 打印出分区信息
print
  • 进行扩容操作
resizepart 2 100%
  • 退出
quit
  1. 更新物理卷
pvresize /dev/sda2
  1. 指定逻辑卷的大小(df -h 查看 /dev/mapper/debian–vg-root 具体位置)
lvresize --extents +100%FREE --resizefs /dev/mapper/debian--vg-root 

PVE设置IPv6

使用SSH工具连接PVE服务器
/etc/sysctl.conf文件当中添加如下信息

net.ipv6.conf.all.accept_ra=2net.ipv6.conf.default.accept_ra=2net.ipv6.conf.vmbr0.accept_ra=2net.ipv6.conf.all.autoconf=1net.ipv6.conf.default.autoconf=1net.ipv6.conf.vmbr0.autoconf=1

重启PVE,这样外网就可以通过IPv6地址直接访问PEV及虚拟服务器了(大概!?@)

参考:pve设置IPv6

PVE开启vGPU支持

暂时没找到可行的方案

也许您对下面的内容还感兴趣: