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

315 阅读3分钟

前言

前段时间家里电脑更新换代,多余的零件刚好可以组一台主机出来,就想尝试着搭建一台公网可以访问的个人服务器。通过万能的互联网,查询了很多资料,尝试了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. 验证ipw.cn/ipv6/ 在这里插入图片描述

Part 2:搭建服务器

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

一、 制作PVE安装U盘

  1. 翻出那个2G的典藏版U盘,插到电脑上
  2. 根据自己系统下载安装U盘烧录软件BalenaEtcher github.com/balena-io/e… 在这里插入图片描述
  3. 下载PVE的ISO镜像 www.proxmox.com/en/download… 在这里插入图片描述
  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镜像
  2. 将下载好的镜像上传至PVE,local(pve)-->ISO镜像-->上传 在这里插入图片描述
  3. 创建虚拟机,给虚拟机起个名称,开机自启动看自己情况是否勾上 下一步 在这里插入图片描述
  4. 操作系统选择刚刚上传的ISO镜像 下一步 在这里插入图片描述
  5. 系统保持默认 下一步 在这里插入图片描述
  6. 磁盘空间按需要调整 下一步 在这里插入图片描述
  7. CPU按需要调整 下一步 在这里插入图片描述
  8. 内存按需调整 下一步 在这里插入图片描述
  9. 网络看情况修改网卡模型 下一步 在这里插入图片描述
  10. 确认后完成 在这里插入图片描述
  11. 启动虚拟机,凭多年经验完成Centos系统的安装 在这里插入图片描述

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=1
gpgkey=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=1
gpgkey=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=1
gpgkey=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=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

修改完后依次执行

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

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

PVE设置IPv6

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

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

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

参考:pve设置IPv6

PVE开启vGPU支持

暂时没找到可行的方案