千家信息网

理论+实操 : PXE高效批量网络装机 ——理论讲解

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,通过网络去装系统,如何部署配置前言部署PXE远程安装服务搭建PXE远程安装服务器验证PXE网络安装实现Kickstart无人值守安装准备安装应带文件实现批量自动装机一 :服务器的批量部署规模化:同时装
千家信息网最后更新 2025年02月03日理论+实操 : PXE高效批量网络装机 ——理论讲解

通过网络去装系统,如何部署配置

前言

部署PXE远程安装服务

  • 搭建PXE远程安装服务器
  • 验证PXE网络安装

实现Kickstart无人值守安装

  • 准备安装应带文件
  • 实现批量自动装机

一 :服务器的批量部署

  • 规模化:同时装配多台服务器
  • 自动化:安装系统、配置各种服务
  • 远程实现:不需要光盘、U盘等安装介质
  • 缺点:同时安装的服务器裸机若是过多,则需要考虑带宽是否够用 即传输介质

二 : 关于PXE网络

2.1 PXE,Pre-boot eXcution Environment

  • 预启动执行环境,在操作系统之前运行
  • 可用于远程安装、构建无盘工作站

2.2 服务端 配置

  • 运行DHCP服务,用来分配地址、定位引导程序
  • 运行TFTP服务,提供引导程序下载

2.3 客户端 硬件要求

  • 网卡支持PXE协议
  • 主板支持网络启动

裸机插网卡,没有IP地址,所以服务器要先运行DHCP服务,给客户机分配地址,即服务端第一步先安装引导程序

引导程序,指导客户机去服务端下载相关安装文件

引导程序放在TFTP服务器上,UDP协议69端口,传输速度快,文本小 第二步

映像文件放在VSFTPD上,tcp21和20端口 第三步

openstack

daiwops

三 : 配置PXE装机服务器

3.1 基本部署过程

  • 准备Centos 7 安装源
  • 配置DHCP服务,用来分配地址、指出引导程序位置
  • 配置TFTP服务,用来提供内核、引导程序
  • 配置启动菜单

3.1.1 TFTP服务及引导文件

  • 安装tftp-server软件包,启用tftp服务
  • 准备内核文件vmlinuz
  • 准备初始化镜像initrd.img
  • 准备引导程序文件pxelinux.0 (引导程序文件pxelinux.0依赖于syslinux程序,需要先安装syslinux程序)
  • 还有一个是tftp的默认配置文件需要修改 /etc/xinetd.d/tftp
[root@localhost pxelinux.cfg]# yum install tftp-sever -y    '安装tftp服务软件'[root@localhost pxelinux.cfg]# vim /etc/xinetd.d/tftp   '修改tftp配置'# default: off# description: The tftp server serves files using the trivial file transfer \#       protocol.  The tftp protocol is often used to boot diskless \#       workstations, download configuration files to network-aware printers, \#       and to start the installation process for some operating systems.service tftp{        socket_type             = dgram        protocol                = udp        wait                    = yes        user                    = root        server                  = /usr/sbin/in.tftpd        server_args             = -s /var/lib/tftpboot        disable                 = no    '双重否定启用'        per_source              = 11        cps                     = 100 2        flags                   = IPv4

3.1.2 DHCP服务的PXE设置

[root@localhost pxelinux.cfg]# yum install dhcp     '安装dhcp服务'subnet 192.168.100.0 netmask 255.255.255.0 {  range 192.168.100.1 192.168.100.200;  option routers 192.168.100.100;  option domain-name-servers 8.8.8.8;  next-server 192.168.100.100;  '指定TFTP服务器地址'  filename "pxelinux.0";        '指定要下载的引导程序文件'}[root@localhost pxelinux.cfg]# systemctl start dhcpd    '开启'[root@localhost pxelinux.cfg]# systemctl enable dhcpd   '自启动'

3.1.3 默认的启动菜单文件

[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default  '编辑default'default auto    '默认共享'prompt 1    '启动时间'label auto        kernel vmlinuz  '内核'        append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg        追加      进程 初始化文件    方法   定位                         kickstart  位置label linux text    '文本模式安装'        kernel vmlinuz        append text initrd=initrd.img method=ftp://192.168.100.100/centos7label linux rescue  '进入救援模式'        kernel vmlinuz        append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7

四 : 关于kickstart

4.1 kickstart无人值守技术

  • 创建应答文件,预先定义好各种安装设置
  • 免去交互设置过程,从而实现全自动化安装
  • 通过添加%post脚本,完成安装后的各种配置操作

4.2 准备应答文件

  • 应答文件的内容
root@localhost ~]# vim /var/ftp/ks.cfg#platform=x86, AMD64, 或 Intel EM64T#version=DEVEL6,# Install OS instead of upgradeinstall# Keyboard layoutskeyboard 'us'# Root passwordrootpw --iscrypted $1$6qKSDsgs$eaNnQ18jrgccQjSX95B9Z.# Use network installationurl --url="ftp://192.168.100.100/centos7"   '网络安装源'# System languagelang zh_CN# Firewall configurationfirewall --disabled# System authorization informationauth  --useshadow  --passalgo=sha512# Use graphical installgraphicalfirstboot --disable# SELinux configurationselinux --disabled# Network informationnetwork  --bootproto=dhcp --device=ens33# Reboot after installationreboot# System timezonetimezone Asia/Shanghai# System bootloader configurationbootloader --location=none# Partition clearing informationclearpart --all# Disk partitioning informationpart /boot --fstype="xfs" --size=512part /home --fstype="xfs" --size=4096part swap --fstype="swap" --size=4096part / --fstype="xfs" --grow --size=1%packages   '定制的软件包组'@^gnome-desktop-environment@base@core@desktop-debugging@dial-up@directory-client@fonts@gnome-desktop@guest-agents@guest-desktop-agents@guest-agents@guest-desktop-agents@input-methods@internet-browser@java-platform@multimedia@network-file-system-client@networkmanager-submodules@print-client@x11chrony%end

4.2 PXE与kickstart结合使用

  • 将应答文件部署在客户机可访问的位置
  • 修改启动菜单文件,添加调用应答文件
root@localhost ~]# cp /root/ks.cfg /var/ftp/ks.cfg      root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default   '编辑default'default auto    '默认共享'prompt 0    '取消用户时间'label auto        kernel vmlinuz  '内核'        append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg        追加      进程 初始化文件    方法   定位                 应答文件kickstart  位置

4.3 PXE+kickstart自动安装

4.3.1 PXE与kickstart结合使用

  • 将应答文件部署在客户机可访问的位置
  • 修改启动菜单文件,调用应答文件

实验:运用PXE+kickstart搭建自动安装linux系统的服务器

思路:pxe自动部署

DHCP

为客户机自动获取IP地址,引导定位TFTP文件位置

命令:

next-server TFTP的IP

fliename "pxelinux.0"


TFTP 安装tftp-server包,第一个安装syslinux(包含pxelinux.0)' 引导程序

​ 第二个压缩内核 vmlinxuz (iso镜像文件中获取)

​ 第三个初始化文件 initrd.img (iso镜像文件中获取)

​ 第四个默认配置文件 default (自建文件:三个模式,默认是auto,指引FTP镜像系统文件位置)


vsftpd 系统镜像 无人值守安装配置模板 (ks.cfg)

五 :实验步骤

新加一块网卡,设置仅主机模式,主机网卡用来安装服务端去连接裸机,NAT网卡用来下载软件包

[root@localhost named]# ifconfig    查看网卡ens33: flags=4163  mtu 1500        inet 192.168.139.131  netmask 255.255.255.0  broadcast 192.168.139.255  '可以上网的网卡'        inet6 fe80::413b:c9ad:e0e:1afc  prefixlen 64  scopeid 0x20        ether 00:0c:29:d6:c0:8a  txqueuelen 1000  (Ethernet)        RX packets 638059  bytes 939850586 (896.3 MiB)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 157948  bytes 9731567 (9.2 MiB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens36: flags=4163  mtu 1500 '新增加的网卡,需要重新配置'        inet6 fe80::351b:fad2:2b7c:7ac2  prefixlen 64  scopeid 0x20        ether 00:0c:29:d6:c0:94  txqueuelen 1000  (Ethernet)        RX packets 0  bytes 0 (0.0 B)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 13  bytes 2334 (2.2 KiB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@localhost named]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36    '把ens33的网卡作为模板复制修改为ens36'[root@localhost named]# vim /etc/sysconfig/network-scripts/ifcfg-ens36                          '修改配置'TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"  '网卡设置为静态'DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens36"    '名称改为36'DEVICE="ens36"ONBOOT="yes"IPADDR=192.168.100.100  '配置IP地址'NETMASK=255.255.255.0   '配置子网掩码'GATEWAY=192.168.100.1   '配置网关'[root@localhost named]# systemctl restart network   '重启网卡'
[root@localhost named]# ifconfig    '再次查看'ens33: flags=4163  mtu 1500        inet 192.168.139.131  netmask 255.255.255.0  broadcast 192.168.139.255ens36: flags=4163  mtu 1500        inet 192.168.100.100  netmask 255.255.255.0     '成功'

1.

[root@localhost named]# systemctl stop firewalld.service    关闭防火墙[root@localhost named]# setenforce 0    '关闭增强'
[root@localhost named]# rpm -q dhcp '查看dhcp是否安装'dhcp-4.2.5-77.el7.centos.x86_64[root@localhost named]# yum install dhcp -y     '没有安装的使用这个命令'已加载插件:fastestmirror, langpacksLoading mirror speeds from cached hostfile * base: mirrors.zju.edu.cn * extras: mirrors.zju.edu.cn * updates: mirrors.zju.edu.cn软件包 12:dhcp-4.2.5-77.el7.centos.x86_64 已安装并且是最新版本无须任何处理
[root@localhost named]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf                        '复制模板到/etc/dhcp.dhcpd下'[root@localhost named]# vim /etc/dhcp/dhcpd.conf    '编辑'subnet 192.168.100.0 netmask 255.255.255.0 {  range 192.168.100.1 192.168.100.200;  option routers 192.168.100.100;  option domain-name-servers 8.8.8.8;  next-server 192.168.100.100;  '指定TFTP服务器'  filename "pxelinux.0";    '指定要下载的引导程序文件目录'} 

2.安装tftp服务

[root@localhost named]# yum install tftp-server -y  '安装TFTPd服务'[root@localhost named]# rpm -ql tftp-server '查看tftp服务的所有文件'/etc/xinetd.d/tftp  '需要配置'/usr/lib/systemd/system/tftp.service/usr/lib/systemd/system/tftp.socket/usr/sbin/in.tftpd/usr/share/doc/tftp-server-5.2/usr/share/doc/tftp-server-5.2/CHANGES/usr/share/doc/tftp-server-5.2/README/usr/share/doc/tftp-server-5.2/README.security/usr/share/man/man8/in.tftpd.8.gz/usr/share/man/man8/tftpd.8.gz/var/lib/tftpboot
[root@localhost named]# vim /etc/xinetd.d/tftp  '编辑/etc/xinetd.d/tftp'14         disable                 = no     '双重否定为启用'[root@localhost named]# vim /var/lib/tftpboot   'tftpboot站点'[root@localhost named]# cd /var/lib/tftpboot[root@localhost tftpboot]# ls[root@localhost tftpboot]# 
[root@localhost tftpboot]# yum install syslinux -y  '安装syslinux'[root@localhost tftpboot]# rpm -ql syslinux | grep pxelinux.0/usr/share/syslinux/gpxelinux.0/usr/share/syslinux/pxelinux.0      '把pxelinux.0复制到tftpboot内'[root@localhost tftpboot]# [root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/[root@localhost tftpboot]# ls /var/lib/tftpbootpxelinux.0
[root@localhost tftpboot]# yum install vsftpd -y    '安装vsftpd服务'[root@localhost tftpboot]# rpm -ql vsftpd |grep pub/var/ftp/pub[root@localhost tftpboot]# mkdir /var/ftp/centos7   '创建/var/ftp/centos7目录'[root@localhost tftpboot]# cd /var/ftp[root@localhost ftp]# lscentos7  pub[root@localhost ftp]# ls centos7/[root@localhost ftp]# 

开启光驱,使用对应系统的镜像文件

[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7   '把镜像文件挂载到centos7上'mount: /dev/sr0 写保护,将以只读方式挂载[root@localhost ftp]# ls centos7CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL[root@localhost ftp]# cd centos7/images '切换到镜像文件下的images目录'[root@localhost images]# lsefiboot.img  pxeboot  TRANS.TBL[root@localhost images]# cd pxeboot '切换到pxeboot目录'[root@localhost pxeboot]# lsinitrd.img  TRANS.TBL  vmlinuz[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot   '把里面的两个文件复制到var/lib/tftpboot'[root@localhost pxeboot]# ls /var/lib/tftpboot  initrd.img  pxelinux.0  vmlinuz
[root@localhost pxeboot]# cd /var/lib/tftpboot  '切换到tfpboot目录'[root@localhost tftpboot]# mkdir pxelinux.cfg   '创建pxelinux.cfg目录'[root@localhost tftpboot]# cd pxelinux.cfg[root@localhost pxelinux.cfg]# vim default  '在pxelinux.cfg目录下创建default文件'[root@localhost pxelinux.cfg]# lsdefault[root@localhost pxelinux.cfg]# defalut auto    '默认为自适应'prompt 1    '等待时间'label auto  '标签自适应'        kernel vmlinuz  '内核'        append initrd=initrd.img method=ftp://192.168.100.100/centos7        '追加初始化进程'           '路径方法'label linux text        kernel vmlinuz        append text initrd=initrd.img method=ftp://192.168.100.100/centos7label linux rescue        kernel vmlinuz        append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7
[root@localhost pxelinux.cfg]# systemctl start dhcpd    '开启dhcpd'[root@localhost pxelinux.cfg]# systemctl start vsftpd   '开启vsftpd'[root@localhost pxelinux.cfg]# systemctl start tftp     '开启tftp'

测试

此时测试的虚拟机的网卡需要是仅主机模式

进入4

boot 敲回车

自动引导结束

3.无人值守安装

[root@localhost ~]# yum install system-config-kickstart -y      '安装系统配置工具kickstart'


[root@localhost ~]# cd /var/ftp '切换到/var/ftp目录'[root@localhost ftp]# lscentos7  ks.cfg  pub[root@localhost ftp]# vim ks.cfg    '修改ks.cfg配置文件'#platform=x86, AMD64, 或 Intel EM64T#version=DEVEL# Install OS instead of upgradeinstall# Keyboard layoutskeyboard 'us'# Root passwordrootpw --iscrypted $1$6qKSDsgs$eaNnQ18jrgccQjSX95B9Z.# Use network installationurl --url="ftp://192.168.100.100/centos7"# System languagelang zh_CN# Firewall configurationfirewall --disabled# System authorization informationauth  --useshadow  --passalgo=sha512# Use graphical installgraphicalfirstboot --disable# SELinux configurationselinux --disabled# Network informationnetwork  --bootproto=dhcp --device=ens33# Reboot after installationreboot# System timezonetimezone Asia/Shanghai# System bootloader configurationbootloader --location=none# Partition clearing informationclearpart --all# Disk partitioning informationpart /boot --fstype="xfs" --size=512part /home --fstype="xfs" --size=4096part swap --fstype="swap" --size=4096part / --fstype="xfs" --grow --size=1[root@localhost ftp]# cd ~  '切换到root的家目录'[root@localhost ~]# lsanaconda-ks.cfg       公共  视频  文档  音乐initial-setup-ks.cfg  模板  图片  下载  桌面[root@localhost ~]# vim anaconda-ks.cfg     '把里面的anaconda.ks.cfg文件内的'#version=DEVEL# System authorization informationauth --enableshadow --passalgo=sha512# Use CDROM installation mediacdrom# Use graphical installgraphical# Run the Setup Agent on first bootfirstboot --enableignoredisk --only-use=sda# Keyboard layoutskeyboard --vckeymap=cn --xlayouts='cn'# System languagelang zh_CN.UTF-8# Network informationnetwork  --bootproto=dhcp --device=ens33 --ipv6=auto --activatenetwork  --hostname=localhost.localdomain# Root passwordrootpw --iscrypted $6$lZy/ZqchdBxv/dZ0$RUyTDADN9e2H0hJlb9J757GyZ0nxWhPKY1sDdyCtvBR2/Asw/CPCAFFIfJB.kO7qbicMQx1LeoP53Xq/YXJeC0# System servicesservices --enabled="chronyd"# System timezonetimezone Asia/Shanghai --isUtcuser --name=gsy --password=$6$4r65p5GBvUZhGlnz$Cs.RsqZdbDij5eQeIxWRi3f4VERzZFsp1TSkgaURI3d0Beafr8TT//iBETmpgEsW//yoHoqfvL9k2BwmGQlx51 --iscrypted --gecos="gsy"# X Window System configuration informationxconfig  --startxonboot# System bootloader configurationbootloader --location=mbr --boot-drive=sdaautopart --type=lvmbootloader --location=mbr --boot-drive=sdaautopart --type=lvm# Partition clearing informationclearpart --none --initlabel%packages@^gnome-desktop-environment@base@core@desktop-debugging@dial-up@directory-client@fonts@gnome-desktop@guest-agents@guest-desktop-agents@input-methods@internet-browser@java-platform@multimedia@network-file-system-client@networkmanager-submodules@print-client@x11chrony%end%addon com_redhat_kdump --disable --reserve-mb='auto'%end%anacondapwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notemptypwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyokpwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty%end~     [root@localhost ~]# vim /var/ftp/ks.cfg%packages@^gnome-desktop-environment@base@core@desktop-debugging@dial-up@directory-client@fonts@gnome-desktop@guest-agents@guest-desktop-agents@input-methods@internet-browser@java-platform@multimedia@network-file-system-client@networkmanager-submodules@print-client@x11chrony%end[root@localhost ~]# cd /var/lib/tftpboot/[root@localhost tftpboot]# lsinitrd.img  pxelinux.0  pxelinux.cfg  vmlinuz[root@localhost tftpboot]# cd pxelinux.cfg[root@localhost pxelinux.cfg]# lsdefault[root@localhost pxelinux.cfg]# vim defaultlabel auto        kernel vmlinuz        append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg[root@localhost pxelinux.cfg]# systemctl restart dhcpd[root@localhost pxelinux.cfg]# systemctl restart tftp[root@localhost pxelinux.cfg]# systemctl restart vsftpd

再次验证

选择第四个,然后回车

六 : 总结:PXE+kickstart 批量网络装机的搭建服务器

1.首先先关掉防火墙

两条命令
systemctl stop firewalld.servicesetenforce 0

2.配置双网卡

3.运行DHCP服务(端口号:给客户机分配地址,引导安装文件)

增加两条命令
subnet 192.168.100.0 netmask 255.255.255.0 {  range 192.168.100.1 192.168.100.200;  option routers 192.168.100.100;   '在局域网络配置装机服务时,把网关指向自己'  option domain-name-servers 8.8.8.8;  next-server 192.168.100.100;  '指定FTP服务器'  filename "pxelinux.0";    '指定要下载的引导程序文件目录'} 

4.运行vsftpd服务(tcp21和20端口,存放映像文件)

安装vsftpd软件包,在其数据文件中/var/ftp/目录中新建centos7目录,这个新建目录就是镜像文件包,可以使用挂载,也可以直接把文件包整个拷在里面

5.运行tftpd服务(udp端口号69,引导程序在TFTPd上)

安装tftp-server软件包,配置内核文件vmlinuz,初始化镜像initrd.img,程序引导文件pxelinux.0(pxelinux.0依赖于syslinux软件),pxelinux.cfg目录

配置tftpd服务的配置文件/etc/xinetd.d/tftp

disable 改为no    '开启'
配置tftpd的/var/lib/tftpboot站点数据目录:包含initrd.img、vmlinuz、pxelinux.0、pxelinux.cfg目录、

initrd.img和vmlinuz文件来源于镜像文件:把镜像文件下的images/pxeboot/目录下的两个initrd.img、vmlinuz文件拷贝到/var/lib/tftpboot目录下

pxelinux.0文件:需要先安装syslinux软件,在其/usr/share/syslinux目录下,把pxelinux.0文件直接复制到var/lib/tftpboot/目录下

pxelinux.cfg目录为新创建的目录,然后再var/lib/tftpboot/pxelinux.cfg/目录下新建default文件

​ pxelinux.cfg/default文件配置

default auto    '默认共享'prompt 1    '启动时间'label auto        kernel vmlinuz  '内核'        append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg        追加      进程 初始化文件    方法   定位                         kickstart  位置label linux text    '文本模式安装'        kernel vmlinuz        append text initrd=initrd.img method=ftp://192.168.100.100/centos7label linux rescue  '进入救援模式'        kernel vmlinuz        append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7

然后开启所有服务

systemctl start dhcpd   '开启dhcpd'systemctl start vsftpd  '开启vsftpd'systemctl start tftp        '开启tftp'

6.配置KICKstart

先安装system-config-kickstart 系统配置kickstart软件

然后再图形化界面配置

  • 安装方法FTP 服务器ftp://192.168.100.100/

    目录centos7

  • 引导装载程序选开启

  • 分区设置,/boot512M /home 4096M swap 4096M / 剩余的所有都给他

  • 添加网卡ens33

  • 禁用防火墙

  • 安装后脚本使用解释程序/bin/bash

然后保存在vsftpd服务的/var/ftp/目录下

脚本可以把~/anaconda.cfg中的数据%pac

kages到%end 复制到/var/ftp/ks.cfg中

此时再次重启即可

文件 服务 配置 目录 程序 网卡 服务器 镜像 软件 系统 位置 内核 地址 网络 客户 模式 运行 客户机 软件包 准备 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 高校有几个服务器机房 甘肃铝合金存储服务器机箱云主机 学习计算机网络技术的书籍 java软件开发机试题目 数据库设计的例题及答案 百度网盘接入服务器 租服务器怎么防护 少先队网络安全教育 环世界用什么软件开发的 传感器网络技术研究 网络安全与信息化委员会官网 静安区工业软件开发费用 迅雷软件开发薪资待遇 网络安全开题报告的实施方案 网络安全管理规定包括什么 杭州运维服务管理软件开发 做为中学生如何保证网络安全 数据库子查询心得体会 加工厂信息软件开发 国处数据库排名 湖北应用软件开发报价 泉州市政法委网络安全宣传周 福州市快搜网络技术有限公司 射洪县网络安全工作 管理软件开发工程师工作内容 网络散布谣言罪网络安全 苏州软件开发技术公司 武安软件开发公司 不是每个人都能从事软件开发 钱宝网服务器
0