ITOP部署教程(Docker一键部署) 1小时前 评论
ITOP部署教程(Docker一键部署)

1. 背景描述 本案例基于Ubuntu 22.04 LTS系统部署了iTop平台。iTop是一款遵循ITIL最佳实践的开源IT服务管理(ITSM)平台,其核心是一个功能强大的配置管理数据库(CMDB),用于统一管理IT资产及其关系。它提供了事件管理、服务请求、变更管理等核心ITSM流程,并且具有高度

ITOP部署教程(Docker一键部署)
查看完整文章 评论

1. 背景描述

本案例基于Ubuntu 22.04 LTS系统部署了iTop平台。iTop是一款遵循ITIL最佳实践的开源IT服务管理(ITSM)平台,其核心是一个功能强大的配置管理数据库(CMDB),用于统一管理IT资产及其关系。它提供了事件管理、服务请求、变更管理等核心ITSM流程,并且具有高度的可定制性和扩展性,能够很好地适应各类组织的运维管理需求。

2. 部署过程

本次部署需要保持网络连接,之后严格遵循下方步骤操作,即可完成安装。

2.1 下载 Docker 官方安装脚本

curl -fsSL https://get.docker.com -o get-docker.sh

2.2 执行安装脚本

sh get-docker.sh
98A17D4B-6D7E-47CE-9BE2-81C69B189B8B.png

2.3 查看 Docker 是否安装成功

docker --version
B58EAF99-D30D-40DD-9DE2-CBEAFBE7FB1D.png

2.4 查看 Docker 服务是否启动

systemctl status docker
7388551D-D17F-44E3-AD96-64849D5DCFC0.png

2.5 运行测试容器

docker run hello-world
560FC2CB-E659-4986-B28A-F6C95A0CD65F.png

出现以上内容则安装成功,如果提示以下类似报错则是镜像源有问题,需要更换镜像源。

docker: Error response from daemon: failed to resolve reference "docker.io/library/hello-world:latest": failed to do request: Head "https://dockerproxy.cn/v2/library/hello-world/manifests/latest?ns=docker.io": dial tcp 157.240.20.8:443: i/o timeout

2.6 运行测试容器

vi /etc/docker/daemon.json  #如果文件不存在,直接创建即可。

写入新的镜像源配置,将文件内容修改为以下示例。你可以一次性添加多个镜像源,Docker会按顺序尝试。

{
  "registry-mirrors": [
    "https://registry-1.docker.io",
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ]
}

2.7 保存配置并重启 Docker 服务

systemctl daemon-reload
systemctl restart docker

2.8 拉取ITOP镜像

docker pull vbkunin/itop
068787BF-FD62-4E25-99FB-F5BC73855E43.png

以上是拉取 ITOP 镜像成功截图。

2.8 拉取MySQL镜像

docker pull mysql/mysql-server:5.7
445DCC3D-CDBD-411C-A94C-F4B7A4DC8659.png

以上是拉取 MySQL 镜像成功截图。

2.9 创建 ITOP 容器

docker run -d -p 8000:80 --name=my-itop vbkunin/itop
050A8D75-C6D9-49D1-BE06-8E25A1A0E94F.png

命令详解:

docker run:运行一个新的容器。

-d:后台运行(detached模式),容器会在后台运行,不会占用当前终端。

-p 8000:80:端口映射,将主机的8000端口映射到容器的80端口,你可以通过 http://localhost:8000 或 http://服务器IP:8000 访问iTop。

--name=my-itop:为容器指定名称,容器名称设为"my-itop",方便后续管理(如停止、重启时引用)。

vbkunin/itop:Docker镜像名称,这是从Docker Hub拉取的官方iTop镜像。

2.10 创建 MySQL 容器

docker run --name=mysql5.7 -p 3307:3306 -p 33067:33060 -d mysql/mysql-server:5.7

命令详解:

docker run:运行一个新的容器。

--name=mysql5.7:为容器指定名称,容器名称设为"mysql5.7",方便后续管理。

-p 3307:3306:第一个端口映射,将主机的3307端口映射到容器的3306端口(MySQL默认端口),你可以通过 mysql -h localhost -P 3307 连接到MySQL。

-p 33067:33060:第二个端口映射,将主机的33067端口映射到容器的33060端口,33060是MySQL X Protocol端口,用于MySQL Shell、X DevAPI等。

-d:后台运行(detached模式),mysql/mysql-server:5.7 - Docker镜像名称和版本标签这是MySQL官方在Docker Hub提供的MySQL Server 5.7镜像。

2.11 查看 MySQL 容器默认密码用于连接 ITOP 数据库

查看日志

docker logs mysql5.7
049CF0CD-D8A0-47FE-9F54-D00A3ABB1CF4.png

9D716003-49C3-4F84-AA8A-6F05EC5D9F46.png

将默认密码复制出来后续安装会使用到。

2.12 连接MySQL

docker exec -it 231 mysql -uroot -p
28FD4D2D-AE68-4899-94EF-28A9D930560A.png

命令详解:

docker exec:在运行中的容器内执行命令。

-it:两个参数组合。

-i:保持标准输入打开(interactive,交互模式)。

-t:分配一个伪终端(tty,终端模拟),通常一起使用,以便与容器内的命令交互。

231:容器标识符,这是容器ID的前3位(Docker允许使用部分ID,只要唯一即可),可以通过 docker ps 查看容器ID。

mysql -uroot -p:在容器内执行的命令,mysql:MySQL客户端程序,-uroot:使用root用户登录(u=user)。

-p:提示输入密码。

2.13 修改 MySQL 默认密码(前面查看日志的那串默认密码)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'itop111111,';
flush privileges;
1A894577-75C7-4C8F-AE83-CD1E4566FA98.png

2.14 允许 MySQL 远程登录

use mysql;
update user set host='%' where user='root';
flush privileges;

2.15 登录ITOP

浏览器输入:http://ip:8000访问itop页面,初始化创建,按下面图片流程走即可

09D6986A-2BE0-4927-81E3-6AE192272DD4.png

41F59DFF-FACF-41B0-AC77-EC6856858B0E.png

6BF8D2AA-D53A-47C1-99BB-73D1607A3B4F.png

9DFF81F3-1696-476B-978B-A5DC3476E8CF.png

DDAFC924-18F6-467E-AC84-BFB74F62A0F8.png

22C50755-5BE9-4EDD-BD73-D41D0321DFB1.png

E104FFB7-2422-4594-BC01-B518FF3A090D.png

F93B14CF-B373-444E-8653-C33C68945487.png

1615B3E7-6BD2-4F3F-8564-A83295DB451A.png

4C7949DA-6825-487E-A081-46AEB1BC872D.png

245D8F1B-AC72-42DE-926E-DA79DEA011A1.png

29CD3D11-BD32-45C1-87EA-68FE3F3C383C.png

E2608E00-ED6C-4AA1-B5E1-B4F6357BDD1A.png

43257EEB-F253-4A8F-8C80-5CF521670750.png

D645749D-68D0-42D5-8408-E819A8F7763D.png

IPv4地址计算详解 10小时前 评论
IPv4地址计算详解

1. 背景介绍 IPv4 地址采用32位二进制结构,通过点分十进制表示,核心由网络部分与主机部分组成。早期分类编址(A/B/C 类)因固定前缀划分导致资源分配失衡(大网闲置、小网不足)和广播域过大等问题。子网划分技术通过子网掩码解构主机号,形成(网络部分-子网部分-主机部分)三层架构,实现三大价值:

IPv4地址计算详解
查看完整文章 评论

1. 背景介绍

IPv4 地址采用32位二进制结构,通过点分十进制表示,核心由网络部分与主机部分组成。早期分类编址(A/B/C 类)因固定前缀划分导致资源分配失衡(大网闲置、小网不足)和广播域过大等问题。子网划分技术通过子网掩码解构主机号,形成(网络部分-子网部分-主机部分)三层架构,实现三大价值:

  • 精准分配:利用 VLSM 按需划分子网,提升地址利用率至接近100%;​

  • 性能优化:缩小广播域,降低网络负载,典型场景广播包占比可降至5%以下;​

  • 精细管理:支持按业务 / 安全需求隔离子网,配合访问控制提升运维效率。该技术推动 IP 地址管理从粗放分配转向精细化运营,后续将深入解析计算实操与通信原理。

2. IPv4地址组成部分

2.1 网络部分

定义:

  • 标识设备所在的逻辑网络(子网或网段),同一网络内的设备共享相同的网络部分。

作用:

  • 路由器通过网络部分判断数据报应转发到哪个目标网络。

  • 网络部分长度决定了网络规模(长度越长,网络数量越多,每个网络的主机数越少)。

分类编址下的默认划分(传统A/B/C类网络):

  • A 类地址:前8位为网络部分(默认掩码255.0.0.0,即/8)。

  • B 类地址:前16位为网络部分(默认掩码255.255.0.0,即/16)。

  • C 类地址:前24位为网络部分(默认掩码255.255.255.0,即/24)。

  • 无类编址(CIDR):网络部分长度可自定义(如192.168.1.0/27表示前27位为网络部分)。

2.2 主机部分

定义:

  • 标识网络内的具体设备(如主机、路由器接口等),同一网络内的主机部分必须唯一。

作用:

  • 在局域网内,主机部分用于区分不同设备,确保数据准确到达目标主机。

限制:

  • 主机部分全为0时,代表网络地址(如192.168.1.0/24是网络地址,不分配给主机)。

  • 主机部分全为1时,代表广播地址(如192.168.1.255/24,用于向网络内所有主机发送广播包)。

可用主机数计算:

  • 公式:2^n-2(n为主机部分位数,减2是排除网络地址和广播地址)。

  • 例:主机部分8位时,可用主机数为2⁸-2=254。

2.3 网络掩码(子网掩码)

定义:

  • 32位二进制数,用1标识地址中的网络部分,0标识主机部分,格式与IPv4地址一致(点分十进制)。

作用:

  • 明确划分IP地址的网络部分和主机部分,是子网划分的核心依据。

  • 设备通过掩码与 IP 地址进行按位与运算,得到目标网络地址(如 IP地址 AND 掩码 = 网络地址)。

表示方法:

  • 点分十进制:如255.255.255.0(对应C类默认掩码,前24位为1,后8位为0)。

  • CIDR 前缀:如/24(表示前 24 位为网络部分,等价于255.255.255.0)。

2.4 地址换算示例

以192.168.1.100/24为例:

  • 二进制表示:11000000.10101000.00000001.01100100(前24位为网络部分,后8位为主机部分)。

  • 网络掩码:255.255.255.0(或/24)。

  • 网络部分:192.168.1(前24位,标识该设备属于192.168.1.0/24网络)。

  • 主机部分:100(后8位,二进制01100100,标识该网络内的地址为100的主机)。

3. IPv4地址分类

3.1 A类地址

  • 地址范围:1.0.0.0 ~ 126.255.255.255(十进制)。

  • 私有地址段:10.0.0.0/8(10.0.0.0 ~ 10.255.255.255),用于内部网络。

3.2 B类地址

  • 地址范围:128.0.0.0 ~ 191.255.255.255。

  • 私有地址段:172.16.0.0/12(172.16.0.0 ~ 172.31.255.255)。

3.3 C类地址

  • 地址范围:192.0.0.0 ~ 223.255.255.255。

  • 私有地址段:192.168.0.0/16(192.168.0.0 ~ 192.168.255.255)。

3.4 D类地址

  • 地址范围:224.0.0.0 ~ 239.255.255.255。(用于组播)

3.5 E类地址

  • 地址范围:240.0.0.0 ~ 255.255.255.255(其中 255.255.255.255 为受限广播地址)(保留为实验或科研用途)。

4. 换算示例一(192.168.1.0/24)

4.1 明确子网掩码与地址结构

前缀 /24:表示子网掩码的前24位为网络部分,后8位为主机部分。

11111111 11111111 11111111 00000000(点分十进制:255.255.255.0)

4.2 192.168.1.0 转换二进制

11000000 10101000 00000001 00000000  (前24位:网络部分,后8位:主机部分)

4.3 二进制转十进制方法

0   0   0   0   0   0   0   0  (这个8位二进制对应的十进制数值,每8位都可以对应,如二进制0变为1则选择下方的十进制数值)

128  64   32   16   8   4   2   1

0   0   0   0   0   0   0   0  (如二进制00000000转换十进制为0)

128  64   32   16   8   4   2   1

0   0    1   0   1   0   0   0  (如二进制00101000转换十进制为40)

128  64   32   16   8   4   2   1

4.4 计算网络地址

规则:网络地址是将IP地址的主机部分全部置为0(即IP地址与子网掩码按位与运算)。

二进制计算:

IP地址:     11000000 10101000 00000001 00000000  

子网掩码:   11111111 11111111 11111111 00000000  

按位与结果: 11000000 10101000 00000001 00000000  (主机部分全0)  

十进制结果: 192.168.1.0(与原地址相同,因为原地址已是网络地址)。

4.5 计算广播地址

规则:广播地址是将IP地址的主机部分全部置为 1(网络部分不变,主机部分全 1)。

二进制计算:

网络部分:   11000000 10101000 00000001  (前24位)  

主机部分全1: 11111111  (后8位)  

组合后:     11000000 10101000 00000001 11111111  

十进制结果:  192.168.1.255

4.6 计算 IP 地址总数

主机部分位数:8位(由/24可知,32-24=8)。

总地址数:2^8 = 256 个(包括网络地址和广播地址)。

4.7 计算可用IP地址数量

排除特殊地址:网络地址(全0)和广播地址(全1)不可分配给主机。

可用IP数:256-2=254 个。

4.8 确定可用IP地址范围

第一个可用IP:网络地址的主机部分加 1(即 192.168.1.0 + 1 = 192.168.1.1)。

最后一个可用IP:广播地址的主机部分减 1(即 192.168.1.255 - 1 = 192.168.1.254)。

范围:192.168.1.1 ~ 192.168.1.254。

5. 换算示例二(192.168.1.50/26)

5.1 明确子网掩码与地址结构

前缀 /26:表示子网掩码的前26位为网络部分,后6位为主机部分。

子网掩码二进制:11111111 11111111 11111111 11000000(点分十进制表示为 255.255.255.192)

5.2 192.168.1.50 转换二进制

11000000 10101000 00000001 00110010  

 5.3 二进制转十进制方法

0   0   0   0   0   0   0   0  (这个8位二进制对应的十进制数值,每8位都可以对应,如二进制0变为1则选择下方的十进制数值)

128  64   32   16   8   4   2   1

0   0   0   0   0   0   0   0  (如二进制00000000转换十进制为0)

128  64   32   16   8   4   2   1

1   1   0   0   0   0   0   0  (如二进制00101000转换十进制为192)

128  64   32   16   8   4   2   1

 5.4 计算网络地址

规则:将 IP 地址的主机部分全部置为 0(即 IP 地址与子网掩码按位与运算)。

二进制计算:

IP 地址:    11000000 10101000 00000001 00110010

子网掩码:   11111111 11111111 11111111 11000000

按位与结果: 11000000 10101000 00000001 00000000

十进制结果: 192.168.1.0

5.5 计算广播地址

规则:将IP地址的主机部分全部置为1(网络部分不变,主机部分全 1)。

二进制计算:

网络部分:   11000000 10101000 00000001 00  (前26位)

主机部分全 1: 111111  (后6位)

组合后:    11000000 10101000 00000001 00111111

十进制结果:  192.168.1.63

5.6计算 IP 地址总数

主机部分位数:6位(由 /26 可知,32-26 = 6)。

总地址数:2^6=64个(包括网络地址和广播地址)。

5.7计算可用IP地址数量

排除特殊地址:网络地址(全 0)和广播地址(全 1)不可分配给主机。

可用 IP 数:64-2=62 个。

5.8确定可用IP地址范围

第一个可用IP:网络地址的主机部分加1(即 192.168.1.0+1 = 192.168.1.1)。

最后一个可用IP:广播地址的主机部分减1(即 192.168.1.63-1 = 192.168.1.62)。

范围:192.168.1.1 ~ 192.168.1.62

6. 换算示例三(172.16.1.20/22)

6.1 明确子网掩码与地址结构

前缀 /22:表示子网掩码的前22位为网络部分,后10位为主机部分。

子网掩码二进制:11111111 11111111 11111100 00000000 (点分十进制表示为 255.255.252.0)

6.2 172.16.1.20 二进制

10101100 00010000 00000001 00010100

6.3 二进制转十进制方法

0   0   0   0   0   0   0   0  (这个8位二进制对应的十进制数值,每8位都可以对应,如二进制0变为1则选择下方的十进制数值)

128  64   32   16   8   4   2   1

0   0   0   0   0   0   0   0  (如二进制00000000转换十进制为0)

128  64   32   16   8   4   2   1

1   1   1   1   1   1   0   0  (如二进制00101000转换十进制为252)

128  64   32   16   8   4   2   1

6.4 计算网络地址

规则:将IP地址的主机部分全部置为0(即IP地址与子网掩码按位与运算)。

二进制计算:

IP 地址:    10101100 00010000 00000001 00010100

子网掩码:   11111111 11111111 11111100 00000000

按位与结果: 10101100 00010000 00000000 00000000

十进制结果: 172.16.0.0

6.5 计算广播地址

规则:将 IP 地址的主机部分全部置为1(网络部分不变,主机部分全1)。

二进制计算:

网络部分:   10101100 00010000 000000  (前22位)

主机部分全 1:11 11111111  (后10位)

组合后:     10101100 00010000 00000011 11111111

十进制结果:  172.16.3.255

6.6 计算IP地址总数

主机部分位数:10位(由 /22 可知,32-22=10)。

总地址数:2^10=1024 个(包括网络地址和广播地址)。

6.7 计算可用IP地址数量

排除特殊地址:网络地址(全 0)和广播地址(全 1)不可分配给主机。

可用IP数:1024-2=1022 个。

6.8 确定可用IP地址范围

第一个可用IP:网络地址的主机部分加1(即 172.16.0.0+1 = 172.16.0.1)。

最后一个可用IP:广播地址的主机部分减1(即 172.16.3.255-1 = 172.16.3.254)。

范围:172.16.0.1 ~ 172.16.3.254