[命令] Linux 命令 ipmitool (管理服务器硬件)(转载)

ipmitool安装,常用指令

IPMI: Intelligent Platform Management Interface
1.下载地址:

https://sourceforge.net/projects/ipmitool/
2.安装步骤

a. tar -xvf ipmitool-1.8.18.tar.bz2
b. cd ipmitool-1.8.18
c. ./configure
d. make
e.make install
f.
modprobe ipmi_si
modprobe ipmi_devintf
modprobe ipmi_msghandler
安装成功(实测Centos7.4)
3.常用指令

    远程电源控制类 远程电源控制类
    Ipmitool -I lanplus –H 10.32.228.111 –U username –P Passwordchassis power off
    Ipmitool -I lanplus –H 10.32.228.111 –U username –P Passwordchassis power on
    Ipmitool -I lanplus –H 10.32.228.111 –U username –P Passwordchassis power reset
    Ipmitool -I lanplus –H 10.32.228.111 –U username –P Passwordchassis power cycle
    (注意power cycle 和power reset的区别在于前者从掉电到上电有1秒钟的间隔,而后者是很快上电)
    读取系统状态类
    Ipmitool sensor list  显示系统所有传感器列表
    Ipmitool fru list   显示系统所有现场可替代器件的列表
    Ipmitool sdr list   显示系统所有SDRRepository设备列表 
    Ipmitool pef list   显示系统平台时间过滤的列表
    3 系统日志类
    Ipmitool sel elist   显示所有系统事件日志
    Ipmitool sel clear   删除所有系统时间日志
    Ipmitool sel delete ID 删除第ID条SEL
    Ipmitool sel time get  显示当前BMC的时间
    Ipmitool sel time set XXX 设置当前BMC的时间
    启动设置类
    Ipmitool chassis bootdev bios 重启后停在BIOS 菜单
    Ipmitool chassis bootdev pxe 重启后从PXE启动
    系统相关的命令
    Ipmitool mc info 显示BMC版本信息
    Ipmitool bmc reset cold BMC 热启动
    Ipmitool bmc reset warmBMC冷启动
    网络接口相关命令
    Ipmitool lan print 1 显示channel1的网络配置信息
    Ipmitool lan set 1ipaddr 10.32.2.2 设置channel1的IP地址
    Ipmitool lan set 1 netmask 255.255.0.0 设置channel1的netmask
    Ipmitool lan set 4 defgw ipaddr255.255.0.254 设置channel4的网关
    Ipmitool lan set 2 defgw macaddr  设置channel2的网关mac address
    Ipmitool lan set 2 ipsrc dhcp 设置channel2的ip 源在DHCP
    Ipmitool lan set 3 ipsrc static 设置channel2的ip是静态获得的
    通道相关命令
    Ipmitool channel info 显示系统默认channel
    Ipmitool channel authcap channel-number privilege  修改通道的优先级别
    Ipmitool channel getaccess channel-number user-id 读取用户在通道上的权限
    Ipmitool channel setacccess channel-number user-id callin=on ipmi=on link=onprivilege=5 // 设置用户在通道上的权限
    看门狗相关命令
    Ipmitool mc watchdog get 读取当前看门狗的设置
    Ipmitool watchdog off   关掉看门狗
    Ipmitool watchdog reset   在最近设置的计数器的基础上重启看门狗
    用户管理相关命令
    Ipmitool user list chan-id 显示某通道上的所有用户
    Ipmitool set password [] 修改某用户的密码
    Ipmitool disable   禁止掉某用户
    ipmitool enable   使能某用户
    ipmitool priv [] 修改某用户在某通道上的权限
    ipmitool test <16|20>[<password]> 测试用户
————————————————
版权声明:本文为CSDN博主「Rudy,Zhao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40343504/article/details/82664389

注明:所有转载内容皆直接从被转载文章网页的标题和内容的文本中复制而来

CC 4.0 BY-SA 版权协议网址:https://creativecommons.org/licenses/by-sa/4.0/deed.z

[步骤] 远程虚拟化平台的搭建

步骤一:规划拓扑

1.1 电脑列表

1) 一台可以联接公网的电脑
2) 一个 CentOS 8.2 系统的安装 U 盘
3) 一台可以联接公网并且有公网 IP 地址的 VPS
4) 一个可以联接公网并使用 SSH 和 VNC 的客户端

1.2 服务器列表简介

1) 电脑通过 SSH 建立联接到 VPS 的隧道,此操作会占用 VPS 的一个端口
2) VPS 通过 SSH 将联接电脑的隧道端口映射到一个新的端口
3) 客户端通过 SSH 联接到 VPS 映射出来的新端口,通过 SSH 或远程桌面使用虚拟化平台
4) 客户端和电脑如果在同一内网里则可以通过 Samba 互传数据

步骤二:CentOS 8.2 系统的安装 U 盘给电脑安装系统

(只在电脑上执行以下步骤)
(步骤略)


补充:
安装系统时可选择以下选项:
1) 系统起动方式:BIOS
2) Keyboard:English(US)
3) Language Support:English(United States)
4) Time & Date:Asia/ShangHai
5) Installation Source:Local media
6) Software Selection:Minial Install
7) Installation Destination:将主硬盘里的所有空间都分配给根 “/” 分区
8) KDUMP:Kdump is disabled
9) Network & Host Name:开启网络联接并设置好固定 DNS
10) SECURITY POLICY:No controller found

(这里以将 IP 地址设置为固定 IP 地址 192.168.0.1,DNS 设置为固定 DNS 8.8.8.8 为例)

步骤三:安装图形系统桌面

(只在电脑上执行以下步骤)

# yum groupinstall -y "Server with GUI"

步骤四:安装中文输入法

4.1 安装中文库

(只在电脑上执行以下步骤)

# yum -y install langpacks-zh_CN

4.2 确认中文库已经安装

(只在电脑上执行以下步骤)

# locale -a

4.3 安装中文输入法

(只在电脑上执行以下步骤)

# yum -y install ibus ibus-libpinyin

步骤五:创建用户用户

5.1 创建用户用户

(分别在电脑、VPS 和客户端上执行以下步骤)

# useradd zhumingyu

(补充:这里创建用户 zhumingyu 为例)

5.2 给用户用户设置密码

(分别在电脑、VPS 和客户端上执行以下步骤)

# passwd zhumingyu

(补充:这里创建用户 zhumingyu 为例)

步骤六:增加 CentOS 系统的稳定性

6.1 延长看门狗喂狗间隔以减少系统被软锁出现 softlockup 的几率

6.1.1 临时延长看门狗喂狗间隔的时间

(分别在电脑和 VPS 上执行以下步骤)

# sysctl -w kernel.watchdog_thresh=60
6.1.2 永久延长看门狗喂狗间隔的时间
6.1.2.1 添加延长看门狗喂狗间隔的设置

(只在电脑上执行以下步骤)

# vim /etc/sysctl.conf

添加以下内容:

......
kernel.watchdog_thresh=60
6.1.2.2 让添加延长看门狗喂狗间隔的设置生效

(只在电脑上执行以下步骤)

# sysctl -p
6.1.3 让 softlockup 触发后直接宕机

(只在电脑上执行以下步骤)

# echo 1 > /proc/sys/kernel/softlockup_panic

6.2 禁止图形系统桌面的 DNS 和路由以避免系统崩溃

6.2.1 添加禁止图形系统桌面的 DNS 和路由的设置

(分别在电脑和 VPS 上执行以下步骤)

# vim /etc/sysconfig/network-scripts/ifcfg-enp9s0

添加以下内容:

......
PEERDNS=no
PEERROUTES=no

(补充:这里的 ifcfg-enp9s0 是指网卡对应的配置文件,不同的网卡对应的配置文件不同,这里以网卡名 ifcfg-enp9s0 为例,需要给所有网卡添加此参数,这一步也可以在系统图形系统桌面上设置)

6.2.2 让禁止图形系统桌面的 DNS 和路由的设置生效

(分别在电脑和 VPS 上执行以下步骤)

# systemctl restart NetworkManager

6.3 禁止图形系统界面自动黑屏或自动挂起

(只在电脑上执行以下步骤)

6.4 让 SSH 联接永久不超时

6.4.1 让 SSH 服务端的连接不超时

(分别在电脑和 VPS 上执行以下步骤)

# vim /etc/ssh/sshd_config

将以下内容:

......
#ClientAliveInterval 0
#ClientAliveCountMax 3
......

修改为:

......
ClientAliveInterval 60
ClientAliveCountMax 525600
......

(补充:这样设置会让 SSH 服务端每 60s 就会尝试连接一次客户端,如果 525600 次后没有回应,则断开)

6.4.2 让用户登录永不超时
6.4.2.1 在系统文件里添加让用户登录永不超时的设置

(分别在电脑和 VPS 上执行以下步骤)

# vim /etc/bashrc

添加以下内容:

......
export TMOUT=0
# vim /etc/profile

添加以下内容:

......
export TMOUT=0
6.4.2.2 让用户登录永不超时的设置立刻生效

(分别在电脑和 VPS 上执行以下步骤)

# source /etc/bashrc
# source /etc/profile

6.5 删除不需要的软件包以避免 CPU 占用过高而崩溃(选做)

(步骤略)

步骤七:搭建虚拟化平台

(只在电脑上执行以下步骤)

# yum -y install qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu virt-install virt-manager virt-viewer virt-v2v

步骤八:实现文件共享

8.1 安装 Samba 服务

(只在电脑上执行以下步骤)

# yum -y install samba

8.2 配置 Samba 服务的配置文件

(只在电脑上执行以下步骤)

# vim /etc/samba/smb.conf

将全部内容修改如下:

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
workgroup = WORKGROUP
realm = zhumingyu
netbios name = zhumingyu
#encrypt passwords = yes
map to guest = NEVER
security = user
password server = *
name resolve order = bcast host
restrict anonymous = 2
#null passwords = no
#guest account = smb_nobody
#use spnego = yes
client use spnego = yes
server string = ""
host msdfs = no
msdfs root = no
domain master = no
preferred master = no
local master = no
os level = 0
browse list = no
browseable = no
dns proxy = no
wide links = no
public= no
guest ok = no
hosts deny = ALL EXCEPT 192.168.0.2

[share]
valid users = zhumingyu
write list = zhumingyu
read list = zhumingyu
path = /share
guest ok = no
read only = no
browseable = no
writable = yes
public = no
create mask = 0755
directory mask = 0755


补充:
1) 这里以 Samba 服务器的 IP 地址是 192.168.0.1 为例
2) 这里的 workgroup = WORKGROUP 是让 Samba 服务属于 WORKGROUP
3) 这里的 hosts deny = ALL EXCEPT 192.168.0.2 是只让客户端 192.168.0.3 能够访问服务端的 Samba
4) 这里的 sharetest 是这个 Samba 挂载点的名称,挂载这个挂载点的格式就是://192.168.0.1/share
5) 这里的 valid users = zhumingyu 是 Samba 服务共享用户需要手动生成
6) 这里的 path = /share 是 Samba 服务共享目录需要手动生成

8.3 设置 Samba 服务共享用户

8.3.1 给 Samba 服务共享用户设置 Samba 共享密码

(只在电脑上执行以下步骤)

# smbpasswd -a zhumingyu

(补充:这里以用户 zhumingyu 为例)

8.3.2 显示 Samba 服务共享用户是否可用

(只在电脑上执行以下步骤)

# pdbedit -L

8.4 生成 Samba 服务共享目录

8.4.1 生成 Samba 服务共享目录

(只在电脑上执行以下步骤)

# mkdir /share
8.4.2 给 Samba 服务共享目录设置权限

(只在电脑上执行以下步骤)

# chmod 755 /share/
8.4.3 给 Samba 服务共享目录设置所属主和所属组

(只在电脑上执行以下步骤)

# chown zhumingyu:zhumingyu /share/

(补充:这里以用户 zhumingyu 为例)

8.4.4 给 Samba 服务共享目录设置 selinux 标签

(只在电脑上执行以下步骤)

# semanage fcontext -a -t samba_share_t '/share(/.*)?'
8.4.5 让 Samba 服务共享目录上的 selinux 标签立刻生效

(只在电脑上执行以下步骤)

# restorecon -RFvv /share/

8.5 启动 Samba 服务并设置为开机自动启动

(只在电脑上执行以下步骤)

# systemctl enable --now smb

8.6 在系统防火墙开放 Samba 的端口

8.6.1 在系统防火墙开放 Samba 的端口

(只在电脑上执行以下步骤)

# firewall-cmd --add-service=samba --permanent
8.6.2 让系统防火墙重新加载

(只在电脑上执行以下步骤)

# firewall-cmd --reload

步骤九:实现远程桌面

9.1 安装 vnc 服务

(只在电脑上执行以下步骤)

# yum -y install tigervnc tigervnc-server

9.2 设置 VNC 服务共享用户

9.2.1 进入用户

(只在电脑上执行以下步骤)

# su - zhumingyu

(补充:这里以用户 zhumingyu 为例)

9.2.2 给 VNC 服务共享用户设置 VNC 远程密码

(只在电脑上执行以下步骤)

$ vncpasswd
9.2.3 退出用户

(只在电脑上执行以下步骤)

$ exit

9.3 启动 VNC 并设置为开机自动启动

9.3.1 创建开启 VNC 的脚本 ~/vnc.sh
9.3.1.1 进入到用户

(只在电脑上执行以下步骤)

# su - zhumingyu

(补充:这里以用户 zhumingyu 为例)

9.3.1.2 创建开启 VNC 的脚本 ~/vnc.sh

(只在电脑上执行以下步骤)

$ vim ~/vnc.sh

创建以下内容:

#!/bin/bash

vncserver -list | grep :1 &> /dev/null || vncserver :1 -localhost -nolisten tcp

(补充:此命令会检查 vncserver :1 会话是否存在,如果不存在,就以禁止非安全远程登录的方式创建一个)

9.3.1.3 退出用户

(只在电脑上执行以下步骤)

$ exit
9.3.2 执行开启 VNC 的脚本
9.3.2.1 开机执行开启 VNC 的脚本
9.3.2.1.1 配置开机执行的文件

(只在电脑上执行以下步骤)

# vim /etc/rc.local

添加以下内容:

......
su - zhumingyu -c '/home/zhumingyu/vnc.sh'

(补充:这里以用户 zhumingyu 的身份运行)

或者:

......
su - zhumingyu -c 'vncserver -list | grep :1' &> /dev/null || su - zhumingyu -c 'vncserver :1 -localhost -nolisten tcp'


补充:
1) 如果前面没有创建脚本的话,可以只添加上面“或者”后面的这一行
2) 以用户 zhumingyu 的身份运行
3) 此命令会检查 vncserver :1 会话是否存在,如果不存在,就以禁止非安全远程登录的方式创建一个

9.3.2.1.2 给开机执行的文件执行权限

(只在电脑上执行以下步骤)

# chmod u+x /home/zhumingyu/vnc.sh
9.3.2.2 定期执行开启 VNC 的脚本
9.3.2.2.1 进入到用户
# su - zhumingyu

(补充:这里以用户 zhumingyu 为例)

9.3.2.2.2 配置定期执行的文件

(只在电脑上执行以下步骤)

$ crontab -e

添加以下内容:

......
0 */1 * * * /home/zhumingyu/vnc.sh

或者:

......
0 */1 * * * vncserver -list | grep :1' &> /dev/null || su - zhumingyu -c 'vncserver :1 -localhost -nolisten tcp


补充:
1) 这里以用户 zhumingyu 的身份运行
2) 如果前面没有创建脚本的话,可以只添加上面“或者”后面的这一行
3) 此命令会检查 vncserver :1 会话是否存在,如果不存在,就以禁止非安全远程登录的方式创建一个

9.3.2.2.3 退出用户

(只在电脑上执行以下步骤)

$ exit

步骤十:设置 SSH 内网穿透

10.1 生成 SSH 密钥
10.1.1 进入到用户

(分别在电脑、VPS 和客户端上执行以下步骤)

# su - zhumingyu

(补充:这里以用户 zhumingyu 为例)

10.1.2 生成 SSH 密钥

(分别在电脑、VPS 和客户端上执行以下步骤)

$ ssh-keygen -b 2048 -t rsa

(补充:建议在创建 SSH 密钥时为 SSH 密钥添加一个密码)

10.1.3 退出用户

(分别在电脑、VPS 和客户端上执行以下步骤)

$ exit

10.2 实现无密钥 SSH

10.2.1 进入到用户

(分别在电脑、VPS 和客户端上执行以下步骤)

# su - zhumingyu

(补充:这里以用户 zhumingyu 为例)

10.2.2 让电脑可以无密钥 SSH VPS

(只在电脑上执行以下步骤)

$ ssh-copy-id <public IP address of VPS>
10.2.3 让 VPS 可以无密钥 SSH 自己

(只在 VPS 上执行以下步骤)

$ ssh-copy-id localhost
10.2.4 让客户端可以远程 VPS 和电脑
$ ssh-copy-id <IP address of computer>
$ ssh-copy-id <public IP address of VPS>
10.2.5 退出用户

(分别在电脑、VPS 和客户端上执行以下步骤)

$ exit

10.3 建立电脑到 VPS 的 SSH 隧道并设置为开机自启

10.3.1 创建建立电脑到 VPS 的 SSH 隧道的脚本 ~/ssh.sh
10.3.1.1 进入到用户

(只在电脑上执行以下步骤)

# su - zhumingyu

(补充:这里以用户 zhumingyu 为例)

10.3.1.2 创建建立电脑到 VPS 的 SSH 隧道的脚本 ~/ssh.sh

(只在电脑上执行以下步骤)

$ vim ~/ssh.sh

创建以下内容:

ps -aux | grep -v grep | grep "11000:localhost:22 <IP address of computer>" &> /dev/null || ssh -X -fCNR 11000:localhost:22 <IP address of computer>


补充:
1) 这里以用户 zhumingyu 的身份运行
2) 如果 11000 端口没有影射到 22 端口则影射

10.3.1.3 退出用户

(只在电脑上执行以下步骤)

$ exit
10.3.2 执行电脑到 VPS 的 SSH 隧道的脚本
10.3.2.1 开机执行开启电脑到 VPS 的 SSH 隧道的脚本
10.3.2.1.1 配置开机执行的文件

(只在电脑上执行以下步骤)

# vim /etc/rc.local

添加以下内容:

......
su - zhumingyu -c '/home/zhumingyu/ssh.sh'

(补充:这里以用户 zhumingyu 的身份运行)

或者:

......
ps -aux | grep -v grep | grep "11000:localhost:22 <IP address of computer>" &> /dev/null || su - zhumingyu -c 'ssh -X -fCNR 11000:localhost:22 <IP address of computer>'


补充:
1) 如果前面没有创建脚本的话,可以只添加上面“或者”后面的这一行
2) 这里以用户 zhumingyu 的身份运行
3) 如果 11000 端口没有影射到 22 端口则影射

10.3.2.1.2 给开机执行的文件执行权限

(只在电脑上执行以下步骤)

# chmod +x /etc/rc.local
10.3.3 定期执行电脑到 VPS 的 SSH 隧道的脚本
10.3.3.1 进入到用户

(只在电脑上执行以下步骤)

# su - zhumingyu

(补充:这里以 zhumingyu 为例)

10.3.3.2 配置定期执行的文件

(只在电脑上执行以下步骤)

$ crontab -e

添加以下内容:

......
0 */1 * * * /home/zhumingyu/ssh.sh

或者:

......
0 */1 * * * ps -aux | grep -v grep | grep "11000:localhost:22 <IP address of computer>" &> /dev/null || ssh -X -fCNR 11000:localhost:22 <IP address of computer>

(补充:如果 11000 端口影射到 22 端口则影射)

10.3.3.3 退出用户

(只在电脑上执行以下步骤)

$ exit

10.4 建立 VPS 的 SSH 隧道端口映射并设置为开机自启

10.4.1 创建建立 VPS 的 SSH 隧道端口映射的脚本
10.4.1.1 进入到用户

(只在 VPS 上执行以下步骤)

# su - zhumingyu

(补充:这里以用户 zhumingyu 为例)

10.4.1.2 创建建立 VPS 的 SSH 隧道端口映射的脚本

(只在 VPS 上执行以下步骤)

$ vim ~/sshd.sh

创建以下内容:

#!/bin/bash

ps -aux | grep -v grep | grep "*:10000:localhost:11000 localhost" || ssh -X -fCNL *:10000:localhost:11000 localhost

(补充:如果 11000 端口没有影射成 10000 端口则影射)

10.4.1.3 退出用户

(只在 VPS 上执行以下步骤)

$ exit
10.4.2 执行电脑到 VPS 的 SSH 隧道的脚本
10.4.2.1 开机执行开启电脑到 VPS 的 SSH 隧道的脚本
10.4.2.1.1 配置开机执行的文件

(只在 VPS 上执行以下步骤)

# vim /etc/rc.local

添加以下内容:

......
su - zhumingyu -c '/home/zhumingyu/sshd.sh'

(补充:这里以用户 zhumingyu 为例)

或者:

......
ps -aux | grep -v grep | grep "*:10000:localhost:11000 localhost" || su - zhumingyu -c 'ssh -X -fCNL *:10000:localhost:11000 localhost'


补充:
1) 如果前面没有创建脚本的话,可以只添加上面“或者”后面的这一行
2) 以用户 zhumingyu 的身份运行
3) 如果 11000 端口没有影射成 10000 端口则影射

10.4.2.1.2 给开机执行的文件执行权限

(只在 VPS 上执行以下步骤)

# chmod +x /etc/rc.local
10.4.3 定期执行电脑到 VPS 的 SSH 隧道的脚本
10.4.3.1 进入到用户用户

(只在 VPS 上执行以下步骤)

# su - zhumingyu

(补充:这里以用户 zhumingyu 为例)

10.4.3.2 配置定期执行的文件

(只在 VPS 上执行以下步骤)

$ crontab -e

添加以下内容:

......
0 */1 * * * /home/zhumingyu/sshd.sh

或者:

......
0 */1 * * * ps -aux | grep -v grep | grep "*:10000:localhost:11000 localhost" || ssh -X -fCNL *:10000:localhost:11000 localhost


补充:
1) 如果前面没有创建脚本的话,可以只添加上面“或者”后面的这一行
2) 如果 11000 端口没有影射成 10000 端口则影射

10.4.4 退出用户

(只在 VPS 上执行以下步骤)

$ exit
10.4.5 打开外网 VPS 对应端口的防火墙
10.4.5.1 打开外网 VPS 对应端口的防火墙

(只在 VPS 上执行以下步骤)

# firewall-cmd --add-port=10000/tcp --permanent

(补充:这里打开的端口号,是根据前面的设置而定的)

10.4.5.2 让刚刚外网 VPS 刚刚配置的防火墙生效

(只在 VPS 上执行以下步骤)

# firewall-cmd --reload

步骤十一:加强 SSH 的安全性(选做)

11.1 禁止 root 被 SSH(选做)

(分别在电脑和 VPS 上执行以下步骤)

# vim /etc/ssh/sshd_config

将以下内容:

......
PermitRootLogin no
......

修改为:

......
PermitRootLogin yes
......

11.2 禁止使用密码被 SSH(选做)

(分别在电脑和 VPS 上执行以下步骤)

# vim /etc/ssh/sshd_config

将以下内容:

......
# PasswordAuthentication yes
......

修改为:

......
PasswordAuthentication no
......

步骤十二:私有远程桌面和虚拟化平台的使用

12.1 客户端 SSH 联接电脑的方法

12.1.1 客户端和电脑不在同一内网时

(只在客户端上执行以下步骤)

# ssh -X -p <SSH non standard port number> <user of computer>@<public IP address of VPS>


补充:
1) 如果按照前面的步骤操作,这里的 VPS 每小时会生成一个新的 SSH 非标准端口号以用于联接电脑,比如说现在是 14 点,那就会自动生成一个 11014 的 SSH 非标准端口号
2) 如果按照前面的步骤操作,这里的用户是 zhumingyu

12.1.2 客户端和电脑在同一内网时

(只在客户端上执行以下步骤)

# ssh -X <user of computer>@<IP address of computer>


补充:
1) 如果按照前面的步骤操作,这里的用户用户是 zhumingyu
2) 如果按照前面的步骤操作,这里的电脑的 IP 地址是 192.168.0.1

12.2 客户端使用电脑虚拟化平台的的方法

12.2.1 客户端和电脑不在同一内网时
12.2.1.1 在客户端上联接电脑

(只在客户端上执行以下步骤)

# ssh -X -p <SSH non standard port number> <user of computer>@<public IP address of VPS>


补充:
1) 如果按照前面的步骤操作,这里的 VPS 每小时会生成一个新的 SSH 非标准端口号以用于联接电脑,比如说现在是 14 点,那就会自动生成一个 11014 的 SSH 非标准端口号
2) 如果按照前面的步骤操作,这里的用户用户是 zhumingyu

12.2.1.2 通过 ssh 开启虚拟化图形管理平台

(只在客户端上执行以下步骤)

# virt-manager

(注意:网络带宽很小则远程桌面会比较卡,建议电脑、客户端和 VPS 的带宽 2m 以上)

12.2.2 客户端和电脑在同一内网时
12.2.2.1 在客户端上联接电脑

(只在客户端上执行以下步骤)

# ssh -X <user of computer>@<IP address of computer>


补充:
1) 如果按照前面的步骤操作,这里的用户用户是 zhumingyu
2) 如果按照前面的步骤操作,这里的电脑的 IP 地址是 192.168.0.1

12.2.2.2 通过 ssh 开启虚拟化图形管理平台

(只在客户端上执行以下步骤)

# virt-manager

(注意:网络带宽很小则远程桌面会比较卡,建议电脑、客户端和 VPS 的带宽 2m 以上)

12.3 客户端使用私有远程桌面的方法

12.3.1 客户端和电脑不在同一内网时

(只在客户端上执行以下步骤)

# ssh -p <SSH non standard port number> -L <port number of VNC>:localhost:<port number of VNC> -l <user of computer> <public IP address of VPS>


补充:
1) 如果按照前面的步骤操作,这里的 VPS 每小时会生成一个新的 SSH 非标准端口号以用于联接电脑,比如说现在是 14 点,那就会自动生成一个 11014 的 SSH 非标准端口号
2) 如果按照前面的步骤操作,这里的 VNC 的端口号是 5901
3) 如果按照前面的步骤操作,这里的电脑的用户用户是 zhumingyu

另开启一个命令行终端:

# vncviewer localhost :<number of VNC service>

(补充:如果按照前面的步骤操作,这里的 VNC 服务的编号是 1)

(注意:网络带宽很小则远程桌面会比较卡,建议电脑、客户端和 VPS 的带宽 2m 以上)

12.3.2 客户端和电脑在同一内网时

(只在客户端上执行以下步骤)

# vncviewer -via <user of computer>@<IP address of computer> localhost :<number of VNC service>


补充:
1) 如果按照前面的步骤操作,这里的电脑的用户是 zhumingyu
2) 如果按照前面的步骤操作,这里的电脑的 IP 地址是 192.168.0.1
3) 如果按照前面的步骤操作,这里的 VNC 服务的编号是 1

12.4 客户端在内网和电脑互传数据的方法

12.4.1 在 Windows 图形客户端上和电脑互传数据的方法

(只在客户端上执行以下步骤)

在文件目录下栏输入以下内容:

\\<IP address of computer>\<samba directory>


补充:
1) 如果按照前面的步骤操作,这里的电脑的 IP 地址是 192.168.0.1
2) 如果按照前面的步骤操作,这里的 Samba 项目是 share


注意:
1) 如果按照前面的步骤操作,只有 IP 地址是 192.168.0.2 和 192.168.0.3 的客户端才能够执行以上步骤
2) Windows 客户端建议安装 SecureCRT、Xmanager 和 VNC 客户端以实现 ssh、ssh 调用 virt-manager 和 VNC

12.4.2 在 Linux 图形客户端上和电脑互传数据的方法

(只在客户端上执行以下步骤)

在文件 –> 其他位置 –> 连接到服务器的地址栏里输入以下内容:

smb://<IP address of computer>/<samba directory>


补充:
1) 如果按照前面的步骤操作,这里的电脑的 IP 地址是 192.168.0.1
2) 如果按照前面的步骤操作,这里的 Samba 项目是 share

(注意:如果按照前面的步骤操作,只有 IP 地址是 192.168.0.2 和 192.168.0.3 的客户端才能够执行以上步骤)

步骤十三:客户端直接使用公网 IP 地址联接电脑

13.1 实现此步骤所需环境

网关路由器拥有 IP 地址(可以通过给宽带申请公网 IP 地址并将光纤盒设置为桥接模式,在路由器上添加用户和密码实现)

13.2 在路由器上将电脑上的 22 端口映射到路由器上的公网 IP 地址上,这样路由器上的公网 IP 地址就变成电脑的公网 IP 地址了

(步骤略)

13.3 将电脑的公网 IP 地址放到 VPS 上

13.3.1 将电脑的公网 IP 地址放到 VPS 上的意义

由于大多数的公网 IP 地址都是动态,定期会变,所以可以通过此方法知道近期的公网 IP 地址是多少

13.3.2 创建将电脑的公网 IP 地址放到 VPS 上的脚本
13.3.2.1 进入到用户

(只在电脑上执行以下步骤)

# su - zhumingyu

(补充:这里以用户 zhumingyu 为例)

13.3.2.2 创建将电脑的公网 IP 地址放到 VPS 上的脚本

(只在电脑上执行以下步骤)

$ vim /root/computerip.sh

创建以下内容:

#!/bin/bash

computerip=`curl ifconfig.me`
domain=<public IP address of VPS>

ssh athenadb.com \"echo `curl ifconfig.me` > /home/zhumingyu/serverip.txt\"

(补充:这里以将电脑的公网 IP 地址拷贝到 VPS 的 /tmp/computerip.txt 文件里为例)

13.3.2.3 退出用户用户

(只在电脑上执行以下步骤)

$ exit
13.3.3 执行将电脑的公网 IP 地址放到 VPS 上的脚本
13.3.3.1 进入到用户用户

(只在电脑上执行以下步骤)

# su - zhumingyu

(补充:这里以用户 zhumingyu 为例)

13.3.3.2 配置定期执行的文件

(只在电脑上执行以下步骤)

$ crontab -e

添加以下内容:

......
0 */10 * * * /home/zhumingyu/.crontab/computerip.txt

或者:

......
ssh <public IP address of VPS> \"echo `curl ifconfig.me` > /home/zhumingyu/serverip.txt\"


补充:
1) 如果前面没有创建脚本的话,可以只添加上面“或者”后面的这一行
2) 将电脑的公网 IP 地址拷贝到 VPS 的 /home/zhumingyu/serverip.txt 文件里

13.3.3.3 退出用户用户

(只在电脑上执行以下步骤)

$ exit

13.4 通过 DDNS 服务显示电脑的公网 IP 地址

13.4.1 通过 DDNS 服务显示电脑的公网 IP 地址

由于大多数的公网 IP 地址都是动态,定期会变,所以可以通过此方法知道近期的公网 IP 地址是多少

13.4.2 有些 DDNS 服务可以在网关路由器上设置,并且通过手机 APP 显示现在的公网 IP 地址

(步骤略)

[步骤] Linux 光纤号的显示

步骤一:显示有哪些光纤号

# lspci | grep -i fibre

步骤二:显示光纤号有哪些配置文件

# ls /sys/class/fc_host/
host1  host2  host3  host4

步骤三:显示光纤号配置文件里对应 FC HBA 卡的 WWN 信息

# cat /sys/class/fc_host/host[1-4]/port_name

步骤四:显示光纤的状态

4.1 光纤正常在线的情况

# cat /sys/class/fc_host/host5/port_state
online

4.2 光纤不正常或者不在线的情况

# cat /sys/class/fc_host/host7/port_state
linkdown

[命令] Linux 命令 nmcli (网络管理)

内容一:整个网络的管理

1.1 开启整个网络

# nmcli network on

或者:

# nmcli net on

1.2 关闭整个网络

# nmcli network off

或者:

# nmcli net off

内容二:管理网络设备

2.1 显示网络设备的信息

2.1.1 显示所有网络设备
# nmcli connection show

或者:

# nmcli conneciton

或者:

# nmcli con show

或者:

# nmcli con
2.1.2 显示被激活的网络设备
# nmcli connection show --active

或者:

# nmcli conneciton --active

或者:

# nmcli con show --active

或者:

# nmcli con --active

2.2 显示某一个网络设备是否激活

# nmcli device connect <network device name>

或者:

# nmcli dev con <network device name>

2.3 显示网络设备的联通状态

# nmcli device status

或者:

# nmcli dev status

2.4 添加网络设备

# nmcli connection add con-name <custom network card alias> ifname <network device name> type ethernet

(补充:这里 con-name 是指要指定一个自定义的网卡别名,ifname 是指要指明网络设备名)

或者:

# nmcli con add con-name <custom network card alias> ifname <network device name> type ethernet

(补充:这里 con-name 是指要指定一个自定义的网卡别名,ifname 是指要指明网络设备名)

2.5 删除网络设备

# nmcli connection delete <custom network card alias>

或者:

# nmcli con del <custom network card alias>

2.6 激活一个网络设备

# nmcli device connect <network device name>

或者:

# nmcli dev con <network device name>

2.7 取消激活一个网络设备

# nmcli device disconnect <network device name>

或者:

# nmcli dev dis <network device name>

内容三:IP 地址管理

3.1 设置 IP 地址

3.1.1 设置 IP 地址的格式
# nmcli connection modify <custom network card alias> ipv4.address <IP address>/<subnet mask> ipv4.gateway <gateway IP address> ipv4.dns <DNS IP address> autoconnect yes
3.1.2 设置 IP 地址的案例
# nmcli connection modify eth0 ipv4.address 192.168.1.1/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.254 autoconnect yes

(补充:这里以添加给 eth0 网卡添加静态 IP 地址 192.168.1.1/24,网关 IP 地址 192.168.1.1,DNS 192.168.1.254 并开机自启为例)

3.2 让 IP 地址生效

3.2.1 让 IP 地址生效的格式
# nmcli connection up <custom network card alias>
3.2.2 让 IP 地址生效的案例
# nmcli connection down eth0

3.3 添加或删除额外的 IP 地址

3.3.1 添加额外的 IP 地址
3.3.1.1 添加额外的 IP 地址的格式
# nmcli connection modify <custom network card alias> +ipv4.address <IP address>/<subnet mask>
3.3.1.2 添加额外的 IP 地址的案例
# nmcli connection modify eth0 +ipv4.addresses 192.168.0.100/24

(补充:这里以添加给 eth0 网卡额外添加 IP 地址 192.168.1.1/24 为例)

3.3.2 删除额外的 IP 地址
3.3.2.1 删除额外的 IP 地址的格式
# nmcli connection modify <custom network card alias> -ipv4.address <IP address>/<subnet mask>
3.3.2.2 删除额外的 IP 地址的案例
# nmcli connection modify eth0 -ipv4.addresses 192.168.0.100/24

(补充:这里以删除 eth0 网卡上的额外 IP 地址 192.168.1.1/24 为例)

内容四:路由管理

4.1 添加路由

4.1.1 添加路由的格式
# nmcli con mod <custom network card alias> ipv4.routes "<network segment> <gateway IP address>"
4.1.2 添加路由的案例
# nmcli con mod eth0 ipv4.routes "192.168.2.0/24 192.168.3.1"

(补充:这里以给 eth0 网卡添加 192.168.2.0/24 通过 192.168.3.1 的路由为例)

4.2 让路由生效

4.2.1 让路由生效的格式
# nmcli connection up <custom network card alias>
4.2.2 让路由生效的案例
# nmcli connection up eth0

(补充:这里以让 eth0 网卡生效为例)