简介

本文容最初记录于2019年7月,整理并发布于2021年10月

人常年不在家,所以这套方案的使用基本上是围绕异地远程连接使用的,包括但不限于文件存取、远程看家里存储的电影、照片的实时回传和旧照片查阅、跑web服务(主要是学习和测试用)、远程下载等等。

这套方案,其实我已经使用了快2年,其中的部分组件偶尔会根据需求有所调整。之前一直没有系统性地记录过这套系统的情况,因为这次家里宽带到期,重新办理的时候,工作人员上门安装后直接把路由器给我抹掉,导致不在家的我直接和家里所有的设备和资料失联,所以在修复的过程中,我决定系统记录下目前的情况。以下的所有配置,基本能满足我的需求,但是一定不是最优的(技术上或设计上),所以还有很多改进空间,这也是我一直在思考的问题。

路由

硬件:netgear r6300v2

系统:刷梅林固件(380.70_0-X7.9.1)

接下来就是一些非常重要且基础性的配置了。

基本通用设置

任何用户密码都不可采用弱口令

  • 无线设置
  • 系统管理员账号密码设置

LAN

  • 内部网络使用10.0.0.1/24网段
  • 后面的设备,客户端(手机、电脑等)使用dhcp,其他固定设备,全部使用static

互联网访问

  • 系统管理-系统设置:开启远程访问|端口配置|ssl证书上传

DDNS

DDNS可以解决公网IP动态变化的问题,实现使用固定的域名连回家里,如果DDNS失效,那就只能打电话让家里人帮忙看IP,才能重新连回去,因此这项服务非常重要。对于这么重要的服务,需要使用一定的冗余来保证永远能找到家里的IP,所以我同时使用了两个DDNS服务。

华硕DDNS

  • 外部网络-DDNS

腾讯云的DNSpod

  • 软件中心-安装DDnspod
  • 特别注意:该应用未更新,导致wget命令无法使用,需要手动ssh进路由器,修改一下代码,github链接

Ss

软件中心无法直接一键安装ss客户端,需要ssh进路由器手动安装,github链接

注意:该离线包已支持ssr,不再像以前一样只支持sslibev

端口映射

  • 外部网络-端口映射:家庭网络中所有的服务如果需要外部访问,都需要在这里进行端口映射。

群晖DS218+

2018年1月11日从美亚购入了群晖DS218+,从此告别了黑群晖。

HP Gen8服务器

为gen8升级最新的ilo

截止2019年7月,gen8的ilo4最新的固件是2.7。google搜索ilo firmware,找到最新的下载即可。

注意下载scexe扩展名的固件,然后解压即可得到bin 类型的二进制文件。

chmod 755 CP022551.scexe
./CP022551.scexe  --unpack=/tmp/ilo

最后登陆ilo的web管理界面,在管理-固件中上传升级即可。

神奇的是,我从老版本升级到2.7后,以前刷进去的语言包依然有效。

更换CPU:E3-1265L V2

安装受支持的最新esxi

ilo挂esxi iso为cd

从cd启动

安到sd卡

激活NF0F3-402E3-MZR80-083QP-3CKM2

替换ssl证书 /etc/vmware/ssl rui.crt rui.key

安装raid驱动

参见此处

6.7需要另外关闭ahci模式

esxcli system module set --enabled=false --module=vmw_ahci

模板ubuntu的制作

  • 基于ubuntu18.04LTS
  • 时区配置
  • 用户及密码
  • ssh信任用户秘钥的设置,ssh关闭密码登陆
  • network
  • git身份及全局ignore
  • pip源
  • hosts+hostname
  • zsh、ohmyzsh、自动补全
  • root的bashrc中ps1配置
  • 用ovf tool导出ovf模板和硬盘文件备用

存储设计与实施

  • 用hp的b120i建立两组raid1

  • 分别进行rdm映射,得到两个逻辑磁盘

  • vmkfstools -z /vmfs/devices/disks/naa.600508b1001ccf18aa25ff413d9a6833 /vmfs/volumes/OS/3T.vmdk
  • 挂载vmdk到系统

  • 格式化并挂载

    #查看新硬盘
    fdisk -l
    #格式化
    mkfs.ext4 /dev/sdb   
    #查看uuid
    blkid 
    #创建挂载点目录
    mkdir /data
    #挂载
    vim /etc/fstab
  • nfs server

    apt install nfs-kernel-server
    chmod 777 /data
    vim /etc/exports
    #/data 10.0.0.150/28(rw,async,no_subtree_check,no_wdelay,all_squash,insecure_locks,sec=sys,anonuid=1024,anongid=100)
    exportfs -a
    systemctl restart nfs-kernel-server
  • nfs client

    # k8s的节点注意要先安装客户端工具,否则nfs pv无法挂载
    apt install nfs-common

k8s集群部署

使用kubeadm部署,用于入门学习k8s

单体虚拟机

  • windows server2012
  • 一台跑单体应用的ubuntu18 server

冷备份硬盘盒

TODO

  • 在esxi里引入lede软路由,将目前的主路由用作无线AP

  • 电气安全问题

  • 冷数据无冗余