个人服务器搭建教程
- 前言
- 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:光猫改桥接通过路由器拨号上网
一、 获取光猫超级管理员账号密码
- 先找到光猫,记下背面的终端配置地址、用户名、密码(建议咔嚓拍照)
- 浏览器输入终端配置地址:
192.168.1.1
,并使用上一步获取的用户名和密码登录
- 网络–>远程管理–>认证
- 记录
password
值
- 记录
- 拿牙签捅光猫后面的reset孔,不要松掉,看光猫表面,灯全亮一次(不能松),等待5-30秒后灯全亮两次后松开(这款光猫就是这样,一共亮三次后才算完全恢复出厂设置,一次是重置而已)。
- 电脑用网线直连光猫LAN口(因为这款光猫无wifi)
- 浏览器输入终端配置地址:
192.168.1.1
,使用移动默认超级用户登录(账号:CMCCAdmin
,密码:aDm8H%MdA
) - 安全–>Telnet配置
- 勾选启用WAN侧Telnet
- 勾选启用LAN侧Telnet
- 记录
用户名
和密码
- 网络–>远程管理–>认证
- 输入上面第3步记录的
password
值 - 点确认(等待下发数据完成)
- 下发数据完成后管理员密码变成随机了,用默认超级管理员肯定进不去
- 输入上面第3步记录的
- 使用Telnet连接光猫:开始–>运行(没有就Windows键+R)
-
输入
cmd
↩︎
-
弹出命令行窗口输入:
telnet 192.168.1.1
↩︎ -
如果提示
'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件。
则需要先开启Telnet客户端(控制面板–>所有控制面板项–>程序和功能–>启用或关闭 Windows 功能–>勾选Telnet客户端–>确定–>等待安装完成)
-
输入上面第7步获取的Telnet
用户名
和密码
登录
-
- 通过Telnet修改超级管理员账号密码
- 完成上一步Telnet客户端登录后,标识符变成
~$
了,接下来需要提权- 输入
su
↩︎ - 输入密码
aDm8H%MdA
↩︎
- 输入
- 当标识符变成
/#
时,说明提权成功- 输入下面指令,会弹出一很多包括user、CMCCAdmin等账号,但是都是******,可以不用管
sidbg 1 DB p DevAuthInfo
- 输入下面指令,会弹出一很多包括user、CMCCAdmin等账号,但是都是******,可以不用管
- 修改超级管理员账号 (
CMCCAdmin
可自定义 )sidbg 1 DB set DevAuthInfo 0 User CMCCAdmin
- 修改超级管理员密码 (
aDm8H%MdA
可自定义 )sidbg 1 DB set DevAuthInfo 0 Pass aDm8H%MdA
- 完成上一步Telnet客户端登录后,标识符变成
- 完成上述操作后就可以使用新的超级管理员账号登录光猫了
二、 光猫改桥接模式
- 使用超级管理员账号密码登录
192.168.1.1
- 网络–>宽带设置,可以看到一个
PPPOE模式
,将使能
勾去掉,端口绑定
也取消打勾,记下自己的VLAN ID
然后点击修改
。
查看密码用F12
,改写type="password"
–>type="text"
,记录下自己的宽带拨号账号及密码
- 新建WAN连接
- IP协议版本:
IPv4/v6
- 模式:
桥模式
- 使能:
打勾
- 端口绑定:LAN 1234可以
全打勾
(意思是四个LAN全可以拨号) - DHCP服务使能:
去掉打勾
- 桥类型 :
IP BRIDGE
- 业务模式:
INTERNET
- VLAN 模式:
改写(tag)
- VLAN ID:填写刚才记下的VLAN
- 点击修改
- IP协议版本:
- 进入路由器管理后台
192.168.0.1
,基本设置–>WAN设置,上面第2步偷看到的账号和密码,保存
三、 开启IPV6
- 登录路由器管理后台
192.168.0.1
- 基本设置–>WAN设置
- IP协议类型:
IPv6
- 状态:
启用
- 复用IPv4拨号链路:
打勾
- 保存
- IP协议类型:
- 基本设置–>LAN设置
- IP协议类型:
IPv6
- 状态:
启用
- 前缀授权接口:
WAN
- IP协议类型:
- 验证https://ipw.cn/ipv6/
Part 2:搭建服务器
在确保IPv6配置完成的情况下,可以放心大胆的搭建服务器了。
服务器的话我选择安装pve,然后在里面创建虚拟服务器
一、 制作PVE安装U盘
- 翻出那个2G的典藏版U盘,插到电脑上
- 根据自己系统下载安装U盘烧录软件
BalenaEtcher
https://github.com/balena-io/etcher/releases
- 下载
PVE
的ISO镜像 https://www.proxmox.com/en/downloads
- 选择ISO镜像–>选择U盘–>一键烧录
⚠️烧录完成后系统会无法识别U盘,千万不要格式化!千万不要格式化!千万不要格式化
二、 给服务器安装PVE系统
- 将U盘插到服务器电脑上(最好先连上网线),
BIOS
里设置U盘优先启动 - 进入
PVE
安装界面,选择第一个Install Proxmox VE (Graphical)
↩︎(图形化安装界面)
- 右下角
I agree
- 选择安装盘
Next
- 选择时区及键盘
Next
,如果没有识别出来,如下图填写
- 填写root用户访问密码,Email填写自己的邮箱
Next
- 修改主机名,IP地址、网关、DNS服务器在联网状态下是自动带出的
Next
- 确认信息后安装
Install
- 安装完成后会自动重启,这个时候可以把U盘拔掉了。
- 根据提示在局域网内另一台电脑浏览器输入
https://192.168.0.28:8006/
就可以访问服务器的PVE管理系统了(提示你的连接不是专用连接
点开高级
–>继续访问
) - 登录用户名
root
,密码是安装时设定的,下面语言可以选择中文
。(登录成功后提示无有效订阅
,这个不用管,直接叉掉)
三、 在PVE系统内安装Centos
- 下载Centos镜像
- 阿里云开源镜像站:https://mirrors.aliyun.com/centos
- 北京大学开源镜像站:https://mirrors.pku.edu.cn/centos
- 将下载好的镜像上传至PVE,local(pve)–>ISO镜像–>上传
- 创建虚拟机,给虚拟机起个
名称
,开机自启动看自己情况是否勾上下一步
- 操作系统选择刚刚上传的
ISO镜像
下一步
- 系统保持默认
下一步
- 磁盘空间按需要调整
下一步
- CPU按需要调整
下一步
- 内存按需调整
下一步
- 网络看情况修改网卡模型
下一步
- 确认后完成
- 启动虚拟机,凭多年经验完成Centos系统的安装
四、 在PVE系统内安装Debian
- 官方下载镜像https://www.debian.org
- 同上面 CentOS 一样在 pve 中上传镜像文件并创建虚拟机
- 详细安装过程
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 磁盘扩容
方案一
- 查看磁盘空间
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
- 磁盘分区
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
查看新增出来的盘符
- 初始化
pvcreate /dev/sda3
其中/dev/sda3
为新增的盘符
root@debian:~# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created.
- 扩展卷组
执行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
- 扩容
执行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.
- 运行
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.
- 验证:执行
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
方案二
- 首先确保安装好parted
# CentOSyum install parted# Debianapt install parted
- 查看分区情况
fdisk -l
- 使用 parted 磁盘管理工具
parted /dev/sda
- 打印出分区信息
print
- 进行扩容操作
resizepart 2 100%
- 退出
quit
- 更新物理卷
pvresize /dev/sda2
- 指定逻辑卷的大小(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支持
暂时没找到可行的方案