ipmi 错误: Get Session Challenge command failed

使用 ipmitool 连接 r720 的时候出现错误。

1
2
3
4
# ipmitool -H server -U root mc info
Get Session Challenge command failed
Error: Unable to establish LAN session
Error: Unable to establish IPMI v1.5 / RMCP session

是由于 dell 不支持 ipmitool 的默认协议 lan,改为 lanplus 即可。

1
ipmitool -I lanplus -H server -U root mc info

dell 服务器开启 IPMI

以下操作基于 dell r720

使用 iDRAC

  1. 进入 iDRAC Web 页面。
  2. 进入 iDRAC 设置 -> 网络 -> IPMI 设置

使用 Lifecycle Controller

  1. 服务器开机按 F10 快捷键进入 Lifecycle Controller
  2. 进入iDRAC 设置 -> 网络 -> IPMI 设置

docker remote api tls 部署教程

前言

主要分两部分来讲。

证书

  1. 使用 OpenSSL 来创建证书。
  2. 创建 CA 私钥和公钥。

    1
    2
    openssl genrsa -aes256 -out ca-key.pem 4096
    openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
  3. 创建服务器证书。

    1
    2
    3
    4
    5
    openssl genrsa -out server-key.pem 4096
    openssl req -subj "/CN=<__HOST__>" -sha256 -new -key server-key.pem -out server.csr
    echo subjectAltName = DNS:<__HOST__>,IP:<__HOST_IP__> >> extfile.cnf
    echo extendedKeyUsage = serverAuth >> extfile.cnf
    openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
  4. 创建客户端证书。

    1
    2
    3
    4
    openssl genrsa -out key.pem 4096
    openssl req -subj '/CN=client' -new -key key.pem -out client.csr
    echo extendedKeyUsage = clientAuth > extfile-client.cnf
    openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile-client.cnf
  5. 清除配置

    1
    rm -v client.csr server.csr extfile.cnf extfile-client.cnf
  6. 设置权限

    1
    2
    chmod -v 0400 ca-key.pem key.pem server-key.pem
    chmod -v 0444 ca.pem server-cert.pem cert.pem

部署

  1. ca.pemserver-cert.pemserver-key.pem 上传至 <__CERTS_PATH__>
  2. 使用 docker 部署

    • 使用 docker run 部署。

      1
      2
      3
      4
      5
      docker run -d --name docker-remote-api-tls \
      -p 2376:443 \
      -v <__CERTS_PATH__>:/etc/nginx/certs:ro \
      -v /var/run/docker.sock:/var/run/docker.sock:ro \
      falldawn/docker-remote-api-tls:latest
    • 使用 docker compose 部署。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      version: '3'
      services:
      api:
      image: falldawn/docker-remote-api-tls:latest
      container_name: docker-remote-api-tls
      ports:
      - 2376:443
      volumes:
      - <__CERTS_PATH__>:/etc/nginx/certs:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro

测试

如果显示 docker version 信息,并没有产生错误。则部署成功。

1
docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H=<__HOST__>:2376 version

windows chocolatey 使用教程

前言

  1. 专业人士更推荐使用 scoop 作为主要的包管理器。它对标的是 Homebrew。有以下特色。
    • 使用方式更简洁。
    • 默认无需超级管理员权限。
    • package 绿色安装。
    • 无注册表及更少的依赖。
  2. chocolatey 作为最流行的 windows package 管理器,软件更为丰富。
  3. chocolatey 提供官方GUI程序,对于新手和非专业人士更友好。

安装

  • 使用超级管理员打开 cmd.exe 运行以下脚本。

    1
    @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
  • 使用超级管理员打开 powershell.exe 运行以下脚本。

    1
    Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
  • 使用 windows 10 自带的 oneget 安装。(这里不讨论)

常用命令

1
2
3
4
5
list        - 列出远程或本地包
search - 搜索远程或本地包(列表的别名)
install - 安装包
upgrade - 升级包
uninstall - 卸载包

安装 GUI

1
choco install chocolateygui -y

arch linux 安装和初始化教程

前言

由于安装次数太多,整理了一下安装的简要流程。
更多细节请前往官网查看:Installation guide

  • pacman 源为默认。
  • BIOS 引导。
  • 时区基于 Asia/Shanghai
  • 键盘默认。

安装过程

  1. 获取系统时间

    1
    timedatectl set-ntp true
  2. 磁盘

    1
    2
    3
    4
    5
    6
    # 查看磁盘信息
    fdisk -l
    # 分区
    cfdisk /dev/sdX
    # 格式化磁盘
    mkfs.ext4 /dev/sdX1

    PS:

    • BIOSUEFI 启动模式的分区是不一样的。
      • ls /sys/firmware/efi/efivars 如果目录存在则是 UEFI 启动模式。
  3. 安装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 挂载
    mount /dev/sdX1 /mnt
    # 安装系统
    pacstrap /mnt base
    # 生成fstab
    genfstab -U /mnt >> /mnt/etc/fstab
    # 进入到新系统
    arch-chroot /mnt
    # 引导
    pacman -S grub
    grub-install --target=i386-pc /dev/sdX
    grub-mkconfig -o /boot/grub/grub.cfg
  4. 配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    # 设置 Root 密码
    passwd
    # 时区
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    hwclock --systohc
    # 本地化
    sed -i '/en_US.UTF-8 UTF-8/s/^#//' /etc/locale.gen
    sed -i '/zh_CN.UTF-8 UTF-8/s/^#//' /etc/locale.gen
    locale-gen
    echo "LANG=en_US.UTF-8" >> /etc/locale.conf
    # 网络
    echo "<__HOST_NAME__>" >> /etc/hostname
    cat <<EOF>> /etc/hosts
    127.0.0.1 localhost
    ::1 localhost
    127.0.1.1 <__HOST_NAME__>.localdomain <__HOST_NAME__>
    EOF
    # new user
    useradd -m -G wheel -s /bin/bash arch
    passwd arch
    # dhcp
    systemctl enable dhcpcd
    # ssh
    pacman -S openssh
    systemctl enable sshd
  5. restart 重启进入新鲜出炉的 arch linux :)。

如何在 BandwagonHost(搬瓦工)上安装 Arch Linux

操作步骤

  1. 首先进入 KiwiVM 控制台
  2. 选择 Admin functions > Main controls 面板。
    1. Mount ISO 栏目下选择 archlinux-2019.03.01-x86_64.ios,然后点击 mount
  3. 返回 Main controls 面板
    1. 选择 stopforce stop 将服务器关闭。
    2. 选择 start 将服务器开启。
  4. 选择 Admin functions > Root shell - interactive 面板。
    1. 点击 Launch 启动远程访问。
  5. 安装 arch linux
  6. 安装完成后。(这步是必须的
    1. 重复步骤 1 , 在 Mount ISO 栏目下选择 archlinux-2019.03.01-x86_64.ios,然后点击 unmount
    2. 重复步骤 2.

产生的问题

  1. 控制面板大部分功能失效。
  2. 需要自行配置服务器。
  3. 需要自行监控服务器。

windows scoop 使用教程

官网

HomePage: https://scoop.sh/

GitHub: https://github.com/lukesampson/scoop

安装

确保安装了Powershell 3(或更高版本)和.NET Framework 4.5(或更高版本)。然后运行:

1
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

注意:如果出现错误,可能需要更改执行策略(启动Powershell)。

1
Set-ExecutionPolicy RemoteSigned -scope CurrentUser

命令

执行 scoop help 可以获取以下说明。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
alias       管理 scoop aliases
bucket 管理 Scoop buckets
cache 显示或清除下载缓存
checkup Check for potential problems
cleanup Cleanup apps by removing old versions
config Get or set configuration values
create Create a custom app manifest
depends List dependencies for an app
export Exports (an importable) list of installed apps
help 帮助
home Opens the app homepage
info 显示
install 安装软件
list 已安装的软件列表
prefix Returns the path to the specified app
reset Reset an app to resolve conflicts
search 搜索应用
status 显示状态并检查新的版本
uninstall 卸载应用
update 更新应用,或更新scoop
virustotal 在 virustotal.com 上查找应用的哈希值
which Locate a shim/executable (similar to 'which' on Linux)

Bucket

scoop 官方库要求非常严格,所以许多软件都是没有的。那就得依赖 Bucket 机制来拓展软件仓库。

可以通过 scoop bucket known 来查看内置的 Bucket 列表。(也可以通过源码 buckets.json 来查找)

使用 scoop bucket add __BUCKET NAME__ 来添加 Bucket。

一些常用的 Bucket 说明:

  • extras: 这个是 Scoop 作者维护的 Bucket 库,主要是一些Gui程序。

  • games: 主要提供和游戏相关的开源/免费工具。

  • versions: 主要提供一些软件的历史版本。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×