运维面试题-程序员宅基地

NETWORK
1 请描述 TCP/IP 协议中主机与主机之间通信的三要素
参考答案
IP 地址(IP address)
子网掩码(subnet mask)
IP 路由(IP router)
2 请描述 IP 地址的分类及每一类的范围
参考答案
A 类 1-26
B 类 128-191
C 类 192-223
D 类 224-239 组播(多播)
E 类 240-254 科研
3 请描述 A、B、C 三类 IP 地址的默认子网掩码
参考答案
A 类 255.0.0.0
B 类 255.255.0.0
C 类 255.255.255.0
4 请描述预留给企业的私有网络使用的私有 IP 有哪三段
参考答案
A 类 10.0.0.1-10.255.255.254
B 类 172.16.0.1-172.16.31.254
C 类 192.168.0.1-192.168.255.254
5 组建一个企业网络按照 TCP/IP 五层参考模型的标准,每个层次需要选购
哪些相应层次的设备
参考答案
应用层 计算机
传输层 防火墙
网络层 路由器
数据链路层 交换机
物理层 网卡
6 请分别描述 T568A、 T568B 的线序
参考答案
T568A:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕
T568B:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕
7 请简要描述交换机的工作原理
参考答案
初始状态
根据源 MAC 地址学习
除源端口外的端口广播未知数据帧
接收方回应
交换机实现单播通信
8 MAC 地址的长度,组成及单播、组播、广播地址的表示方式
参考答案
MAC 地址长度 48 位,前 24 位代表厂商,后 24 位代表网卡编号,MAC 地址的第 8 位为 0 时表示该 MAC 地址为单播地
址,为 1 时表示组播地址,48 位都为 1 表示广播地址。
9 请简要描述网络层有哪些常见协议
参考答案
ARP 协议
RARP 协议
代理 ARP
ICMP 协议
10 什么是 TTL,作用并简要描述 TTL 的原理
参考答案
TTL 是数据生命周期
作用:避免数据在网络中无限循环转发
原理:当网络中的数据包每经过一个路由器 TTL 值减 1,当 TTL 值为 0 时,数据包丢弃。
11 请描述 SMTP 及 POP3 分别是什么协议、作用及端口号
参考答案
SMTP:简单邮件传输协议,用于发送和接收邮件,端口号 25。
POP3:邮局协议版本 3,用于客户端接收邮件,端口号 110。
12 请描述 http 及 https 分别是什么协议、作用及端口号
参考答案
HTTP:超文本传输协议,用于传输 Internet 浏览器使用的普通文本、超文本、音频和视频等数据,端口号为 TCP
的 80。
HTTPS:安全超文本传输协议,基于 HTTP 开发,提供加密,可以确保消息的私有性和完整性,端口号为 443 工作区
子系统。
CISCO
1 ISL 和 802.1Q 有哪些异同
参考答案
相同点:都是显式标记,即帧被显式标记了 VLAN 的信息。
不同点:IEEE 802.1Q 是公有的标记方式,ISL 是 Cisco 私有的。ISL 采用外部标记的方法,802.1Q 采用内部标记
的方法,ISL 标记的长度为 30 字节,802.1Q 标记的长度为 4 字节。
2 RIP 的最大跳数是
A. 15
B. 16
C. 12
D. 18
参考答案
最大路数为 A 选项。
这是因为,RIP 度量值为跳数 ,最大跳数为 15 跳,16 跳为不可达。
3 三层交换机的作用
参考答案
三层交换机是具有网络层功能的交换机,三层交换=二层交换+三层转发,使用三层交换技术实现 VLAN 间通信。
4 请描述基于 CEF 的快速转发有哪两个信息表
参考答案
转发信息库(FIB):FIB 类似于路由表,包含路由表中转发息的镜像。当网络的拓扑发生变化时,路由表将被更新,
而 FIB 也将随之变化,这些信息是根据路由表中的信息得到的。
邻接关系表:存储第 2 层编址信息,对于每个 FIB 条目,邻接关系表中都包含相应的第 2 层地址。
5 什么是 STP 及作用
参考答案
STP :生成树协议
作用:逻辑上断开环路,防止广播风暴的产生。当线路故障,阻塞接口被激活,恢复通信,起备份线路的作用。
6 什么是 HSRP 及作用
参考答案
HSRP:热备份路由选择协议
作用:确保了当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明地恢复,以此为 IP 网络提供冗余性。
通过使用同一个虚拟 IP 地址和虚拟 MAC 地址,LAN 网段上的两台或者多台路由器可以作为一台虚拟路由器对外提供
服务。
7 交换机端口有哪 5 种 STP 状态
参考答案
转发(Forwarding)
学习(Learning)
侦听(Listening)
阻塞(Blocking)
禁用(Disabled)
8 请描述访问控制列表有哪三种类型
参考答案
标准访问控制列表
扩展访问控制列表
命名访问控制列表
9 请描述扩展访问控制的作用及列表号
参考答案
作用:
可以根据源 IP 地址,目的 IP 地址,指定协议,端口等过滤数据包。
扩展访问控制列表号:
100-199
10 请简要描述访问控制列表的处理过程
参考答案
如果匹配第一条规则,则不再往下检查,路由器将决定该数据包允许通过或拒绝通过。
如果不匹配第一条规则,则依次往下检查,直到有任何一条规则匹配。
如果最后没有任何一条规则匹配,则路由器根据默认的规则将丢弃该数据包。
11 请简要描述 NAT 的作用
参考答案
通过将内部网络的私有 IP 地址翻译成全球唯一的公网 IP 地址,使内部网络可以连接到互联网等外部网络上。
12 请描述 NAT 的优点及缺点
参考答案
优点:
节省公有合法 IP 地址
处理地址重叠
增强灵活性
安全性
缺点:
延迟增大
配置和维护的复杂性
不支持某些应用,可以通过静态 NAT 映射来避免
13 请描述 NAT 三种实现方式的区别
参考答案
静态转换的对应关系一对一且不变,并且没有节约公用 IP,只隐藏了主机的真实地址。
动态转换虽然在一定情况下节约了公用 IP,但当内部网络同时访问 Internet 的主机数大于合法地址池中的 IP 数量
时就不适用了。
端口多路复用可以使所有内部网络主机共享一个合法的外部 IP 地址,从而最大限度地节约 IP 地址资源。
SYSTEM
1 什么是绝对路径?什么是相对路径?
参考答案
绝对路径:以 / 开始的完整路径
相对路径:以当前工作目录为参照的路径
2 常见通配符的含义。
在命令行环境中,通配符 * 、?、[n-m] 、{n,m} 各自的含义是什么?
参考答案

  • :匹配任意个数的任意字符
    ? :匹配任意单个字符
    [n-m] :匹配从 n 到 m 这个连续范围内的任意单个字符
    {n,m} :匹配字符串 n 或 m
    3 Linux 中管道“|”的作用?
    参考答案
    将前一个命令的输出结果,交由后面命令处理,当做后面命令的参数
    4 简述 find 命令的格式及常见用法。
    参考答案
    命令格式:find [查找范围] [查找条件]
    常见的查找条件设置:
    -type:按文件类型查找
    -name:按文件名称查找
    -size:按文件大小查找
    -mtime:按内容修改的时间
    5 vim 编辑器的工作模式及切换。
    vim 编辑器包括哪几种模式,各自的作用是什么,如何切换?
    参考答案
    主要包括三种工作模式:
    命令模式:启动 vim 编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、
    粘贴文件内容等相关操作。
    输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入
    模式时,vim 编辑器的最后一行会出现“—插入 --”的状态提示信息。
    末行模式:该模式中可以设置 vim 编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处
    于末行模式时,vim 编辑器的最后一行会出现冒号“:”提示符。
    6 YUM 简介。
    什么是 YUM,其作用是什么,主要支持哪几种方式提供软件源?
    参考答案
    是一种基于“C/S”结构的 RPM 软件更新机制,所有的软件包由集中的软件仓库提供,能够自动分析并解决软件包
    之间的依赖关系。
    支持的软件源主要包括:
    本地文件夹:file://… …
    FTP 服务器:ftp://… …
    HTTP 服务器:http://
    2 客户端配置文件。
    在建立 .repo 仓库配置文件时,常见的配置条目如下所示,请补充各自的作用。
    [Server]:( )
    name:( )
    baseurl:( )
    enabled:( )
    gpgcheck:( )
    gpgkey:( )
    参考答案
    自定义源的名称,具有唯一性
    本软件源的描述字串
    指定 YUM 服务端的 URL 地址
    是否启用此频道
    是否验证待安装的 RPM 包
    用于 RPM 验证的密钥文件
    3 客户端配置文件路径与命名。
    为 RHEL6 服务器指定要使用的 YUM 源时,建立的配置文件一般应放在( )目录下,其扩展名应该是( )。
    参考答案
    /etc/yum.repos.d、.repo
    7 编译源码包过程介绍。
    采用源码包编译的方式安装软件包时,有哪些基本过程、各自的作用是什么?
    参考答案
    tar 解包:解压、释放安装包内的文件
    ./configure 配置:针对当前系统环境指定安装目录、选择功能等设置。
    make 编译:将源代码编译成二进制的可执行程序、库文件等数据。
    make install:将编译好的程序文件、配置文档等复制到对应的安装目录。
    8 Linux 目录结构介绍。
    Linux 系统的根目录下主要包括哪些文件夹,各自的作用是什么?
    参考答案
    /boot:存放 Linux 内核、引导配置等启动文件。
    /bin:存放最基本的用户命令,普通用户有权限执行。
    /dev:存放硬盘、键盘、鼠标、光驱等各种设备文件。
    /etc:存放各种配置文件、配置目录。
    /home:存放普通用户的默认工作文件夹(即宿主目录、家目录)。
    /root:Linux 系统管理员(超级用户)root 的宿主目录。
    /sbin:存放最基本的管理命令,一般管理员用户才有权限执行。
    /usr:存放额外安装的应用程序、源码编译文件、文档等各种用户资料。
    /var:存放日志文件、用户邮箱目录、进程运行数据等变化的文档。
    /tmp:存放系统运行过程中使用的一些临时文件。
    9 find 命令的扩展。
    在 Linux 中 find 常见的选项都有哪些?都有什么作用?
    参考答案
    -type:按文件类型查找
    -name:按文件名称查找
    -size:按文件大小查找
    -mtime:按内容修改的时间
    -iname:根据名称查找,忽略大小写
    -uid:根据 uid 查找,属于这个用户的文件
    -gid :根据 gid 查找,属于这个组的文件
    -user :根据用户名查找,查找属于这个用户的
    -group :根据组名查找,查找属于这个组的
    -nouser :查找这个文件不属于任何用户的
    -nogroup :查找这个文件不属于任何组的
    -maxdepth :限制目录查找的深度
    -inum :根据文件 i 节点编号查找
    10 简述 autofs 服务。
    作用、主要配置文件、配置要点?
    参考答案
    1)autofs 的作用:
    autofs 即触发挂载,它是一种看守程序。如果检测到用户正试图访问一个尚未挂载的文件系统,它就会自动检测该
    文件系统,如果存在,那么 autofs 会自动将其挂载。另一方面,如果它检测到某个已挂载的文件系统在一段时间
    内没有被使用,那么 autofs 会自动将其卸载。因此一旦运行了 autofs 后,用户就不再需要手动完成文件系统的挂
    载和卸载。
    2)autofs 的配置文件:/etc/auto.master 与/etc/auto.misc
    11 简述 LVM 的含义及特点。
    LVM 的含义及优势?/boot 是否可建立在 LVM 卷上,为什么?
    参考答案
    1)LVM:用来整合磁盘空间和文件系统的一种逻辑机制,通过将多个物理分区/磁盘从逻辑上组合成一个更大的整
    体,从这个整体中划分出不同的逻辑分区,用来创建文件系统。
    2)LVM 的主要优势如下所述:
    逻辑分区的大小可以根据需要扩大和缩减,因此生产系统上的文件系统也可以在线改变大小(在卷组容量范围内),
    不会导致系统中断
    物理存储空间(硬盘、分区)由 LVM 统一组织为卷组,可以方便的加入或移走分区,以扩大或减小卷组的容量,充
    分利用硬盘空间
    文件系统建立在 LVM 逻辑卷之上,可以跨越分区、跨越磁盘,方便使用
    3)/boot 不能建立在 LVM 之上,因为/boot/目录下存放着引导程序,而 Linux 启动不支持从 LVM 卷上读取引导程序。
    12 简述 RAID 的含义及特点。
    RAID 的含义及优势?RAID0、RAID1、RAID5 分别指什么、各自的特点?
    参考答案
    1)RAID:廉价冗余磁盘阵列,指通过硬件/软件技术将多个较小/低速的磁盘整合成一个大磁盘使用的一种存储技
    术,其不仅可存储数据,还可以实现一定程度的冗余保障,具有“速度快、安全性高”的优势。
    2)RAID0、RAID1、RAID5 的含义及特点如下:
    RAID0:条带模式,由两个或两个以上的磁盘组成,同一份文档分散在不同的磁盘中,并行写入,提高写效率。
    RAID1:镜像模式,由至少两个磁盘组成,同一份文件被分别写入到不同的磁盘中,每份磁盘数据一样,实现容错,
    提高读效率。
    RAID5:分布式奇偶校验的独立磁盘模式,结合 RAID0 和 RAID1 的好处,同时避免它们的缺点。由至少 3 块以上大
    小相同的磁盘组成,实现冗余。
    13 RHEL6.x 系统包括哪几种运行级别。
    各自的特点是什么?
    参考答案
    默认包括 7 种运行级别:
    0:关机
    1:单用户模式
    2:字符界面的多用户模式(不支持网络)
    3:字符界面的完整多用户模式
    4:未分配使用
    5:图形界面的多用户模式
    6:重启
    14 请描述 RHEL6.x 系统的引导过程?
    参考答案
    加载 BIOS,检查硬件信息
    读取并执行第一个开机设备内 MBR
    运行 grub 引导加载 kernel
    内核启动/sbin/init 程序
    init 系统初始化
    确定默认的运行级别
    触发 runlevel 事件,运行/etc/rc.d/rc
    最后执行/etc/rc.d/rc.local
    加载终端或 X-Window 接口
    15 SSH 协议简介。
    OpenSSH 服务器使用的协议、默认端口、主配置文件分别是什么?SSH 与 Telnet 应用的区别在哪里?
    参考答案
    OpenSSH 使用 TCP 协议,默认端口是 22,主配置文件/etc/ssh/sshd_config。
    SSH 的英文全称是 Secure SHell,即安全外壳。SSH 会把传输过程中的数据加密,且支持压缩以提高传输速度;而
    Telnet 在网络上以明文传送口令和数据,安全级别低,容易受到攻击。
    16 Linux 常见的系统日志文件都有哪些,各自的用途?
    参考答案
    /var/log/messages 内核及公共消息日志
    /var/log/cron 计划任务日志
    /var/log/dmesg 系统引导日志
    /var/log/maillog 邮件系统日志
    /var/log/secure 记录与访问限制相关日志
    17 常见的 linux 开机设置文件。
    /etc/fstab 与/etc/initab、/etc/rc.local 三个配置文件的作用?
    参考答案
    /etc/fstab:实现开机自动挂载设备的配置文件
    /etc/initab:定义开机进入默认级别的配置文件
    /etc/rc.local:定义开机自定义任务的配置文件
    18 FTP 协议简介。
    FTP 服务器在传输层使用的协议、默认端口、FTP 主目录绝对路径?
    参考答案
    FTP 服务器在传输层使用的协议是 tcp
    默认的端口号为 21
    FTP 主目录为/var/ftp
    19,suid,sgid,sticky bit 的作用?
    suid, 以属主的身份运行程序
    sgid, 在目录中创建的文件继承所在目录的属主
    sticky bit 用户只能修改,删除自己的文件
    20.解释下什么是 GPL,GNU,自由软件?
    GPL:(通用公共许可证):一种授权,任何人有权取得、修改、重新发布自由软件的权力。
    GNU:(革奴计划):目标是创建一套完全自由、开放的的操作系统。
    自由软件:是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。主要许可证有 GPL 和 BSD 许可证两
    种。
    21.如何选择 Linux 操作系统版本?
    一般来讲,桌面用户首选 Ubuntu;服务器首选 RHEL 或 CentOS,两者中首选 CentOS。
    根据具体要求:
    ①安全性要求较高,则选择 Debian 或者 FreeBSD。
    ②需要使用数据库高级服务和电子邮件网络应用的用户可以选择 SUSE。
    ③想要新技术新功能功能可以选择 Feddora,Feddora 是 RHEL 和 CentOS 的一个测试版和预发布版本。
    ④根据现有状况,绝大多数互联网公司选择 CentOS。现在比较常用的是 6 系列,现在市场占有大概一半左右。另外
    的原因是 CentOS 更侧重服务器领域,并且无版权约束。
    22.初学者在 Linux 系统的开机启动项如何选择?
    建议选择五个开机启动项:
    ①.crond: 该服务用于周期地执行系统及用户配置的计划任务。有要周期性执行的任务计划需要开启,此服务是
    生产场景必须要用的一个软件。
    ②.iptables: iptables 包过滤防火墙,有外网 IP 时,考虑开启。
    ③.network: 启动系统时,若想激活/关闭启动时的各个网络接口,则应(必须)考虑开启。
    ④.sshd: 远程连接 Linux 服务器时需要用到这个服务程序,所以必须要开启,否则将无法远程连接到 Linux 服务
    器。
    ⑤.rsyslog: 是操作系统提供的一种机制,系统的守护程序通常会使用 rsyslog 将各种信息收集写入到系统日志
    文件中,CentOS6 以前此服务的名字为 syslog。
    ⑥.sysstat: 是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于 Linux 系统性能数据很有帮助,
    比如 CPU 使用率、硬盘和网络吞吐数据等,这些数据的分析,有利于判断系统运行是否正常,所以它是提高系统运
    行效率、安全运行服务的助手。
    23.请描述 Linux 系统优化的 12 个步骤。
    ⑴登录系统:不使用 root 登录,通过 sudo 授权管理,使用普通用户登录。
    ⑵禁止 SSH 远程:更改默认的远程连接 SSH 服务及禁止 root 远程连接。
    ⑶时间同步:定时自动更新服务器时间。
    ⑷配置 yum 更新源,从国内更新下载安装 rpm 包。
    ⑸关闭 selinux 及 iptables(iptables 工作场景如有 wan ip,一般要打开,高并发除外)
    ⑹调整文件描述符数量,进程及文件的打开都会消耗文件描述符。
    ⑺定时自动清理/var/spool/clientmquene/目录垃圾文件,防止节点被占满(c6.4 默认没有 sendmail,因此可以
    不配。)
    ⑻精简开机启动服务(crond、sshd、network、rsyslog)
    ⑼Linux 内核参数优化/etc/sysctl.conf,执行 sysct -p 生效。
    更改字符集,支持中文,但是还是建议使用英文,防止乱码问题出现。
    ⑾锁定关键系统文件(chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 处理以上
    内容后,把 chatter 改名,就更安全了。
    ⑿清空/etc/issue,去除系统及内核版本登陆前的屏幕显示。
    24.描述 Linux 运行级别 0-6 的各自含义
    0:关机模式
    1:单用户模式<==破解 root 密码
    2:无网络支持的多用户模式
    3:有网络支持的多用户模式(文本模式,工作中最常用的模式)
    4:保留,未使用
    5:有网络支持的 X-windows 支持多用户模式(桌面)
    6: 重新引导系统,即重启
    25.描述 Linux 系统从开机到登陆界面的启动过程
    ⑴开机 BIOS 自检,加载硬盘。
    ⑵读取 MBR,MBR 引导。
    ⑶grub 引导菜单(Boot Loader)。
    ⑷加载内核 kernel。
    ⑸启动 init 进程,依据 inittab 文件设定运行级别
    ⑹init 进程,执行 rc.sysinit 文件。
    ⑺启动内核模块,执行不同级别的脚本程序。
    ⑻执行/etc/rc.d/rc.local
    ⑼启动 mingetty,进入系统登陆界面。
    26.描述 Linux 下软链接和硬链接的区别
    在 Linux 系统中,链接分为两种,一种是硬链接(Hard link),另一种称为符号链接或软链接(Symbolic Link)。
    ①默认不带参数的情况下,ln 创建的是硬链接,带-s 参数的 ln 命令创建的是软链接。
    ②硬链接文件与源文件的 inode 节点号相同,而软链接文件的 inode 节点号,与源文件不同,
    ③ln 命令不能对目录创建硬链接,但可以创建软链接。对目录的软链接会经常使用到。
    ④删除软链接文件,对源文件和硬链接文件无任何影响。
    ⑤删除文件的硬链接文件,对源文件及软链接文件无任何影响。
    ⑥删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)。
    ⑦同时删除源文件及其硬链接文件,整个文件才会被真正的删除。
    ⑧很多硬件设备的快照功能,使用的就是类似硬链接的原理。
    ⑨软链接可以跨文件系统,硬链接不可以跨文件系统。
    27.生产场景如何对 linux 系统进行合理规划分区?
    分区的根本原则是简单、易用、方便批量管理。根据服务器角色定位建议如下:
    ①单机服务器:如 8G 内存,300G 硬盘
    分区: /boot 100-200M,swap 16G,内存大小 8G*2,/ 80G,/var 20G(也可不分),/data 180G(存放 web 及
    db 数据)
    优点:数据盘和系统盘分开,有利于出问题时维护。
    RAID 方案:视数据及性能要求,一般可采用 raid5 折中。
    ②负载均衡器(如 LVS 等)
    分区:/boot 100-200M,swap 内存的 1-2 倍,/ ,
    优点:简单方便,只做转发数据量很少。
    RAID 方案:数据量小,重要性高,可采用 RAID1
    ③负载均衡下的 RS server
    分区: /boot 100-200M,swap 内存的 1-2 倍,/
    优点:简单方便,因为有多机,对数据要求低。
    RAID 方案:数据量大,重要性不高,有性能要求,数据要求低,可采用 RAID0
    ④数据库服务器 mysql 及 oracle 如 16/32G 内存
    分区:/boot 100-200M,swap 16G,内存的 1 倍,/ 100G,/data 剩余(存放 db 数据)
    优点:数据盘和系统盘分开,有利于出问题时维护,及保持数据完整。
    RAID 方案:视数据及性能要求主库可采取 raid10/raid5,从库可采用 raid0 提高性能(读写分离的情况下。)
    ⑤存储服务器
    分区:/boot 100-200M,swap 内存的 1-2 倍,/ 100G,/data(存放数据)
    优点:此服务器不要分区太多。只做备份,性能要求低。容量要大。
    RAID 方案:可采取 sata 盘,raid5
    ⑥共享存储服务器(如 NFS)
    分区:/boot 100-200M,swap 内存的 1-2 倍,/ 100G,/data(存放数据)
    优点:此服务器不要分区太多。NFS 共享比存储多的要求就是性能要求。
    RAID 方案:视性能及访问要求可以 raid5,raid10,甚至 raid0(要有高可用或双写方案)
    ⑦监控服务器 cacti,nagios
    分区:/boot 100-200M,swap 内存的 1-2 倍,/
    优点:重要性一般,数据要求也一般。
    RAID 方案:单盘或双盘 raid1 即可。三盘就 RAID5,看容量要求加盘即可。
    28.描述 Linux 下文件删除的原理
    Linux 系统是通过 link 的数量来控制文件删除的,只有当一个文件不存在任何 link 的时候,这个文件才会被删除。
    一般来说每个文件两个 link 计数器来控制 i_count 和 i_nlink。当一个文件被一个程序占用的时候 i_count 就加 1。
    当文件的硬链接多一个的时候 i_nlink 也加 1。删除一个文件,就是让这个文件,没有进程占用,同时 i_link 数量
    为 0。
    29.请简单描述 VI 编辑器的使用
    ①vi 编辑器是 linux 系统下最最基本和最常用的标准文本编辑器。
    ②vi 编辑器有三种工作模式:普通模式、编辑模式、命令模式。
    ③普通模式下的键盘输入任何字符都是当作命令来执行的,也可以输入命令进行光标的移动,字符、单词、行的复
    制、粘帖以及删除等操作。
    ④编辑模式主要用于文本的输入。在该模式下,用户输入的任何字符都被作为文件的内容保存起来。
    ⑤命令模式下,用户可以对文件进行一些如字符串查找、替换、显示行号等操作还是必须要进入命令模式的。
    ⑥在普通模式下输入冒号即可进入命令模式,此时 vi 窗口的状态行会显示出冒号,等待用户输入命令。“i”插入
    模式,即可以进行编辑。用户输入完成后,按【Esc】之后编辑器又返回到普通模式下,在命令模式下,保存退出,
    可以使用的命令为 wq 和 x。前面加!表示强制退出,强制保存等。
    30.请简单说出用户管理的相关命令及用途
    #组管理命令
    groupadd #添加组
    groupdel #删除用户组
    groupmod #修改用户组
    groups #显示当前用户所属的用户组
    grpck #检查用户组及密码文件的完整性(etc/group 以及/etc/gshadow 文件)
    grpconv #通过/etc/group 和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则
    创建;
    grpunconv #通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除 gshadow 文件 。
    #用户管理命令
    useradd #添加用户
    adduser #添加用户
    passwd #为用户设置密码
    usermod #修改用户命令,可以通过 usermod 来修改登录名、用户的家目录等等
    pwcov #同步用户从/etc/passwd 到/etc/shadow
    pwck #pwck 是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整
    pwunconv #执行 pwunconv 指令可以关闭用户投影密码,它会把密码从 shadow 文件内,重回存到 passwd 文件里。
    finger #查看用户信息工具(危险命令,一般不用)
    id #查看用户的 UID、GID 及所归属的用户组
    chfn #更改用户信息工具
    su #用户切换工具
    31.请简述基础正则表达式 grep 高级参数的使用
    常用参数:
    -v 排除匹配内容,
    -e 支持扩展的正则表达式,
    -i 忽略大小写,
    -o 输出匹配的内容(只是一块,不是行),
    –color=auto 匹配内容显示颜色,
    -n 在行首显示行号。
    特殊字符注意事项:
    ^(尖括号)word :表示搜索以 word 开头的内容。
    word$ 表示搜索以 word 结尾的内容。
    ^$ 表示的是空行,不是空格。
    . 代表且只能代表任意一个字符。非正则表达式其他功能(当前目录,加载文件)
    \ 转义字符,让有着特殊身份意义的字符,脱掉马甲,还原原型。例如.只表示原始小数点意义。
  • 表示重复 0 个或多个前面的一个字符。不代表所有。
    .* 表示匹配所有的字符。^.*表示以任意字符开头。
    [任意字符如 abc] 匹配字符集内任意一个字符[a-z]。
    [^abc] ^在中括号里面是非的意思,不包含之意。意思就是不包含 a 或 b 或 c 的行。
    {n,m} 表示重复 n 到 m 次前一个字符。{n}至少 n 次,多了不限。{n}N 次,{,m}至多 m 次,少了不限。
    注:使用 grep 或 sed 要对{}转义。即\{\}.egrep 就不需要转义了。
    32.请简述基础正则表达式 sed 高级参数的使用(计时 4 分钟)
    解答:
    -n 取消默认输出
    -p 打印
    -d 删除
    -e 允许多项编辑
    sed 取行,要特别注意 sed -n ‘s###g’ filename 的使用,sed 的( )的功能可以记住正则表达式的一部分,其中,
    \1 为第一个记住的模式即第一个小括号中的匹配内容,\2 第二记住的模式,即第二个小括号中的匹配内容,sed
    最多可以记住 9 个。
    实际字符的选取最好要唯一,正则表达式是贪婪的,总是尽可能的匹配更远的符合匹配的内容。另外注意字符串中
    的空格。
    33.请给出查看当前哪些用户在线的 Linux 命令
    w #显示目前系统登录用户
    who #显示目前已登录用户信息
    last #列出目前与过去登入系统的用户相关信息
    lastlog #检查某特定用户上次登录时间
    whoami #打印与当前生效的用户 ID 关联的用户名
    finger #用户信息查找程序
    id #显示指定用户或当前用户的用户与组信息
    34.请你描述下 crontab 的作用和语法,以及书写定时任务注意的要点。
    设置 crontab 后我们可以使得 Linux 主动执行的在固定的间隔时间,执行指定的系统指令或 shell script 脚本。
    生产环境可以用来日志分析或生产备份等。
    语法格式:
    crontab [ -u user ] file ===》-u 的意思就是指定用户
    crontab [ -u user ] { -l 显示文件内容| -r 全部删除 crontab 文件 | -e 编辑 crontab 文件| -i 删除 crontab
    文件前确认提示}
    举例:
    */5 10,12 * 3-8 * * /usr/sbin/ntpdate 10.0.0.155 >/dev/null 2>&1
    前五段是时间间隔的设定,单位分别是分钟、小时、日、月、周(尽量避免使用日月和周同时出现,以免造成系统
    误判)。
    第一个时间段 分钟 范围 0-59
    第二个时间段 小时 范围 0-23
    第三个世间段 日 范围 1-31
    第四个时间段 月 范围 1-12
    第五个时间段 周 范围 0-7
    *星号代表任何时间都接受命令
    ,逗号,表示隔开。代表分隔的时间都适用此命令。
  • 减号,两个时间段之间,代表在此时间段内执行定时任务。
    /n 斜线和 n(数字)表示每隔 n 段时间执行一次。
    注意要点分为:书写基本要领与书写注意事项
    7 个基本要领:
    第一、为定时任务规则加必要的注释
    第二、定时任务命令或程序最好写到脚本里执行
    第三、定时任务执行的脚本要规范路径,如:/server/scripts
    第四、执行 shell 脚本任务时前加/bin/sh
    执行定时任务时,如果是执行脚本,尽量在脚本前面带上/bin/sh 命名
    第五、定时任务结尾加 >/dev/null 2>&1
    第六、/dev/null 为特殊的字符设备文件,表示黑洞设备或空设备。
    第七、有关重定向的说明

或 1> 输出重定向:把前面输出的东西输入到后边的文件中,会删除文件原有内容。

或 1>> 追加重定向:把前面输出的东西追加到后边的文件中,不会删除文件原有内容。
<或<0 输入重定向:输入重定向用于改变命令的输入,指定输入内容,后跟文件名。
<<或<<0 输入重定向:后跟字符串,用来表示“输入结束”,也可用 ctrl+d 来结束输入。
2> 错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容。
2>> 错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容。
标准输入(stdin):代码为 0,使用<或<<。
标准输出(stdout):代码为 1,使用>或>>。正常的输出。
标准错误输出(sederr):代码为 2,使用 2>或 2>>。
特殊:
2>&1 就是把标准错误重定向到标准输出(>&)。
/dev/null 2>&1 等价于 1>/dev/null 2>/dev/null
35.请简述修改/etc/sudoers 配置文件的注意事项
①别名的名称可以包含大写字母。数字、下划线。如果是字母必须要大写,(别名为一群拥有相同属性的集合)。
②一个别名下面可以有多个成员,成员间通过半角(,)逗号隔开。成员必须有效实际存在。
别名成员受别名类型 Host_Alias、User_Alias、Runas_Alias、Cmnd_Alias 制约,定义什么类型的别名,就要有相
什么类型的成员匹配。
③用户组前面必须加%号。命令别名下的成员必须是文件或目录的绝对路径。
④指定切换用户要用()括号括起来,如果省略,则默认 root 用户,如果括号里是 ALL,则代表能切换到所有用户。
⑤命令路径要使用全路径。
⑥别名规则每行算一个规则,一行容不下时用\续行。另外超过一行,用反斜线换行。
⑦一般不建议先给 all 权限,后面排除。用什么权限,就给什么权限。(注意权限,语法)。
如果不需要密码直接运行命令的应该加 NOPASSWD 参数。
⑧禁止某类程序或命令执行,要在命令动作前面加上“!”号,并放在允许执行命令之后。
36.请描述如何实现 linux 系统集权分治的权限分级精细管理?
① 收集以及制定用户和权限的匹配信息,原则是给于最小权限,但是又能完成所承担的工作职责。
② 各个用户组设置对应权限,用什么给什么,精细到每一条指令上根据分组情况。
③ 创建规划权限分组的用户.添加相关用户组。并修改 etc/sudoers 配置文件。
④ 增加 sudo 的权限开放,确定相关用户加入如 soduers 权限列表,并详细设置所开放权限内容,并选择是否需要
密码的相关执行权限开放。(注意 ALL 权限,以及密码修改权限设置)。
⑤ 不建议先给 all 权限,后面排除。建议使用白名单。
⑥实战调试测试相关权限是否正确配置完成。
⑦编写操作说明,及相关注意事项。
⑧调试完毕,邮件周知所有相关人员系统权限设置生效,并附带操作说明及相关注意事项。
37.请写出下面 Linux SecureCRT 命令行快捷键命令的功能?
Ctrl + a 光标到开头
Ctrl + c 中断当前程序
Ctrl + d 退出当前窗口或当前用户
Ctrl + e 光标到结尾
Ctrl + l 清屏 相当与 clear
Ctrl + u 剪切、删除(光标以前的)内容
Ctrl + k 剪切、删除(光标以后的)内容
Ctrl + r 查找(最近用过的命令)
tab 所有路径以及补全命令
Ctrl+shift+c 命令行复制内容
Ctrl+shift+v 命令行粘贴内容
Ctrl + q 取消屏幕锁定
Ctrl + s 执行屏幕锁定
38.请描述服务器账户日志审计的 5 种解决方案。
⑴通过环境变量 syslog 对全部全部日志进行审计(信息量太大,不推荐)
⑵sudo 配合 syslog 服务,进行 sudo 操作日志进行审计(信息较少,效果不错)
⑶在 bash 解释器嵌入一个监视器,让所有用户使用修改过的 bash 程序,作为解释程序。
⑷齐治的堡垒机(商业产品)。
39.如果一台办公室内主机无法上网(打不开网站),请给出你的排查步骤?
①首先确定物理链路是否联通正常。
②查看本机 IP,路由,DNS 的设置情况是否达标。
③telnet 检查服务器的 WEB 有没有开启以及防火墙是否阻拦。
④ping 一下网关,进行最基础的检查,通了,表示能够到达服务器。
⑤测试到网关或路由器的通常情况,先测网关,然后再测路由器一级一级的测试。
⑥测试 ping 公网 ip 的通常情况(记住几个外部 IP),
⑦测试 DNS 的通畅。ping 出对应 IP。
⑧通过以上检查后,还在网管的路由器上进行检查。
40.描述 Linux shell 中单引号、双引号及不加引号的简单区别
单引号:所见即所得,即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就输出什么。
双引号:把双引号里面的内容给输出出来,如果内容中有命令、变量等,会先把,变来那个、命令解析出结果,然
后输出最终内容。
双引号内的命令或者变量写法’命令或变量’或$(命令或变量)
无引号:把内容输出出来,可能不会键含有空格的字符串,视为一个整体输出,如果内容中有命令、变量等,会先
把变量、命令解析出来,然后输出最终内容,如果字符串中带有空格等特殊字符,则不能完整输出,需要改加双引
号。一般连续的字符串,数字,路径等可以用,不过最好用双引号,替代之。
41.请简述 Linux 启动过程中几个重要配置文件的执行过程
Linux 登录后,配置执行顺序为(Debian Serials Capable):
/etc/environment -> /etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc ->
/etc/bashrc -> ~/.bash_logout
关于各个文件的作用说明:
(1)/etc/environment:此配置文件设置基本的 PATH 变量,及系统当前语言变量,虽然比较短,但却在系统启动
中占据举足轻重的作用,比如如下是我的系统中的内容:
(2)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从
/etc/profile.d 目录的配置文件中搜集 shell 的设置。
(3)/etc/bash.bashrc: 为每一个运行 bash shell 的用户执行此文件.当 bash shell 被打开时,该文件被读取。
(4)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的 shell 信息,当用户登录时,该文件仅仅执
行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc 文件。
(5)~/.bashrc: 该文件包含专用于你的 bash shell 的 bash 信息,当登录时以及每次打开新的 shell 时,该该文件
被读取。
(6)~/.bash_logout: 当每次退出系统(退出 bash shell)时,执行该文件. 另外,/etc/profile 中设定的变量(全
局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关
系。
(7)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash
运行的通常二者设置大致相同,所以通常前者会调用后者。
42.请描述下列路径的内容是做什么的?
/var/log/messages 系统日志文件
/var/log/secure 系统安全文件(显示登录信息的文件)
/var/spool/clientmqueue 例行性任务回执邮件存放文件
/proc/interrupts 当前系统中断报告文件
/etc/fstab 开机自动挂载磁盘的配置文件
/etc/profile 环境变量存放的文件
43.请给出 Linux 中 eth0 的 IP 地址和广播地址的指令,需使用 cut、awk、grep、
sed 指令。
第一种方法:使用 grep 和 cut 取值
第二种方法:使用 grep 和 awk(默认分隔符为空格)取值
第三种方法:使用 grep 和 awk(多分隔符)
第四种方法:使用 sed 和 awk
第五种方法:使用 grep 和 awk(多分隔符与加号+)
第六种方法:awk (分隔符及取行)
第七种方法:grep 网卡文件
第八种方法:head 取行 awk 分割
44.请输出你知道的 20 个 LINUX 命令及作用
cp 复制 -a(drp),-r 拷贝目录 -p 保持属性
mv 移动文件或目录
mkdir 创建目录 -p 递归创建目录 mkdir /a/b/c
touch 创建文件,
cd 切换目录(~当前用户家目录,-上一次的目录)
cat 查看文件内容 -n 显示行号
ls 查看目录下文件,-l 长格式,-d 查看目录**********
rm 删除文件或目录 -r 目录 -f 强制删除(慎用,mv,find)
find 查找文件或目录 -type 类型(f,d,l,c,b),-name 名字 -exec 执行动作*****
alias 查看及设置别名
unalias 取消别名
seq 打印序列 -s 指定分割符 -w 数字前面加 0 补齐位数
head 查看文件前 N 行,默认 10 行,-n 指定行数
tail 查看文件后 N 行,默认 10 行,-n 指定行数,-f 实时跟踪文件结尾的变化
sed linux 三剑客老二,文件增删改查,*****
pwd 打印当前工作目录
rmdir 删除空目录
echo 显示输出
xargs (配合 find,ls)等查找到的内容处理,-n 分组
tree -L 层数 -d 目录
rpm -q query 查询 -a all
uname -r 内核 -m32 位还是 64 位 -a 所有信息, -n 主机名(hostname)
hostname 主机名
whoami 查看当前用户
useradd 添加用户
passwd 改密码,–stdin 非交互设置密码
su 切换用户角色,-切换环境变量
Service
1 简述部署 Discuz!论坛的工作流程
参考答案
1)部署 LAMP 软件并启动相应服务;
2)创建网站数据库及数据库管理员账户及密码;
3)将 Discuz!压缩包中的 upload 下的内容解压到 httpd 站点根路径下,并调整好适当的权限;
4)最后,在浏览器输入网址后,进行第一次的初始化工作。
2 简要说明 PXE 安装系统流程
参考答案
客户端向 DHCP 服务器请求分配 IP 地址;
DHCP 服务器为客户端分配 IP 地址,告知 Boot server;
客户端向 Boot server 请求下载启动文件;
Boot server 向客户端提供启动文件;
客户端向文件共享服务器请求应答文件;
客户端根据应答文件信息,安装操作系统
3 简单描述虚拟化技术常见的虚拟网络类型
参考答案
桥接模式:Guest 与 Host 连接到同一个交换机上,通过桥接物理网卡,相当于直连到 Host 所在网络。
隔离模式:Guest 可访问同一虚拟交换机上的其他 Guest,但无法访问 Host 所在外部网络。
NAT 模式:Guest 的网关指向 Host 的 virtbr0 的 IP 地址,允许虚拟机共享真机的网络连接。
路由模式:由 Host 充当路由器,开启转发,需要额外设置外网与 Guest 之间互访的路由。
2 RHEL6 上实现 KVM 虚拟化需要安装哪些软件组
参考答案
Virtualization、Virtualization Client
Virtualization Tools、Virtualization Platform
4 简述 DNS 递归和迭代查询的作用
参考答案
对于一台 DNS 服务器来说:
若允许递归,则当客户端请求解析的域名非本 DNS 管辖时,本 DNS 会向其他 DNS 服务器代询;
若不允许递归,则当客户端请求解析的域名非本 DNS 管辖时,本 DNS 会放弃代询 —— 但是,如果目标地址位于已
知的某个授权子域,本 DNS 会告知客户端对应的子 DNS 服务器的地址信息(即迭代)。
5 为什么使用 LAMP?
答案: 因为 LAMP 具有 Web 资源丰富、轻量、快速开发等特点,与微软的.NET 架构相比,LAMP 具有通用、跨平
台、高性能、低价格优势、因此 LAMP 无论是性能、质量还是价格都是企业搭建网站的首选平台。
6 DNS 的解析过程?
答案:第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪
录项,则本地的域名服务器就直接把查询的结果返回。
第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发
给根域名服务器,然后根域名服务器再返回给本地域名服务器一个
所查询域(根的子域)的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求
的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的
域名服务器的地址。
第五步:重复第四步,直到找到正确的纪录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还
将结果返回给客户机。
7 DNS 的工作原理?
答案:域名解析有正向解析和反向解析之说,正向解析就是将域名转换成对应的 IP
地址的过程,它应用于在浏览器地址栏中输入网站域名时的情形;而反向解析是
将 IP 地址转换成对应域名的过程,但在访问网站时无须进行反向解析,即使在
浏览器地址栏中输入的是网站服务器 IP 地址,因为互联网主机的定位本身就是
通过 IP 地址进行的,只是在同一 IP 地址下映射多个域名时需要。另外反向解析
经常被一些后台程序使用,用户看不到。
除了正向、反向解析之外,还有一种称为“递归查询”的解析。“递归查询”
的基本含义就是在某个 DNS 服务器上查找不到相应的域名与 IP 地址对应关系时,
自动转到另外一台 DNS 服务器上进行查询。通常递归到的另一台 DNS 服务器对
应域的根 DNS 服务器。因为对于提供互联网域名解析的互联网服务商,无论从
性能上,还是从安全上来说,都不可能只有一台 DNS 服务器,而是由一台或者
两台根 DNS 服务器(两台根 DNS 服务器通常是镜像关系),然后再在下面配置
了多台子 DNS 服务器来均衡负载的(各子 DNS 服务器都是从根 DNS 服务器中
复制查询信息的),根 DNS 服务器一般不接受用户的直接查询,只接受子 DNS
服务器的递归查询,以确保整个域名服务器系统的可用性。
当用户访问某网站时,在输入了网站网址(其实就包括了域名)后,首先就
有一台首选子 DNS 服务器进行解析,如果在它的域名和 IP 地址映射表中查询到
相应的网站的 IP 地址,则立即可以访问,如果在当前子 DNS 服务器上没有查找
到相应域名所对应的 IP 地址,它就会自动把查询请求转到根 DNS 服务器上进行
查询。如果是相应域名服务商的域名,在根 DNS 服务器中是肯定可以查询到相
应域名 IP 地址的,如果访问的不是相应域名服务商域名下的网站,则会把相应
查询转到对应域名服务商的域名服务器上。
8 NTP 简介?
答案:
NTP(Network Time Protocol, 网络时间协议)是由 RFC 1305 定义的时间同步协议,用来
在分布式时间服务器和客户端之间进行时间同步,NTP 基于 UDP 保温进行传输,使用 UDP
端口号为 123。
使用 NTP 的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟
保持一致,从而使设备能够提供基于统一时间的多种应用。
对于运行 NTP 的本地系统,既可以接受来自其他时钟源的同步,又可以作为时钟源同步其
他的时钟,并且可以喝其他设备互相同步。
9 NTP 工作原理?
答案:
NTP 的基本工作原理如图 1-1 所示。Device A 和 Device B 通过网络相连,他们都有自己独
立的系统时钟,需要通过 NTP 实现各自系统时钟的自动同步。为便于理解,作如下假设:
在 Device A 和 Device B 的系统时钟同步之前,DeviceA 的时钟设定
为 10:00:00am,DeviceB 的时钟设定为 11:00:00am。
设备 B 作为 NTP 时间服务器,即设备 A 将使自己的时钟与设备 B
的时钟同步。
报文在设备 A 和设备 B 之间单向传输所需要的时间是 1 秒
图 1-1 NTP 原理图
系统时钟同步过程如下:
设备 A 发送一个 NTP 报文给设备 B,该报文带有它离开设备 A 时的
时间戳,该时间戳为 10:00:00am(T 1 )。
当此 NTP 报文到达设备 B 时,设备 B 加上自己的时间戳,该时间戳
为 11:00:01am(T 2 )。
当此 NTP 报文离开设备 B 时,设备 B 再加上自己的时间戳,改时间
戳为 11:00:02(T 3 )。
当设备 A 接收到该响应报文时,设备 A 的本地时间为
10:00:03am(T 4 )。
至此,设备 A 已经拥有足够的信息来计算两个重要的参数:
报文的往返时延 Delay=(T 4 -T 1 )-(T 3 -T 2 )=2 秒。
设备 A 相对设备 B 的时间差 offset=((T 2 -T 1 )+(T 3 -T 4 ))/2=1
小时。
这样,设备 A 就能够根据这些信息来设定自己的时钟,使之与设备 B 的时钟同步。
以上内容只是对 NTP 工作原理的一个粗略描述,更详细的资料可以参阅 RFC 1305。
10 NTP 的工作模式?
答案:
设备可以采用多种 NTP 工作模式进行时间同步:
客户端/服务端模式
对等体模式
广播模式
组播模式
11 JAVA 概述?
答案:
Tomcat 在严格意义上并不是一个真正的应用服务器,它只是一个可以支持运行 Serlvet/JSP
的 Web 容器,不过 Tomcat 也扩展了一些应用服务器的功能,如 JNDI,数据库连接池,用户事
务处理等等。Tomcat 是 Apache 组织下 Jakarta 项目下的一个子项目,目前 Tomcat 被非常广泛的
应用在中小规模的 Java Web 应用中。
Tomcat 是一种具有 JSP 环境的 Servlet 容器。Servlet 容器是代替用户管理和调用 Servlet
的运行时外壳。作为一个开放源代码的软件, Jakarta -Tomcat 有着自己独特的优势:
首先,它容易得到。事实上,任何人都可以从互联网上自由地下载这个软件。无论从
http://jakarta.Apache.org 还是从其他网站(Jakarta Tomcat 是 Apache 软件基金会
开发的一个开放源码的应用服务器)。
其次,对于开发人员,特别是 Java 开发人员,Tomcat 提供了全部的源代码,包括 Servlet
引擎、JSP 引擎、HTTP 服务器。无论是对哪一方面感兴趣的程序员,都可以从这些由世
界顶尖的程序员书写的代码中获得收益。
最后,由于源代码的开放及世界上许多程序员的卓有成效的工作, Tomcat 已经可以和
大部分的主流服务器一起工作,而且是以相当高的效率一起工作。如:以模块的形式被
载入 Apache,以 ISAPI 形式被载入 IIS 或 PWS,以 NSAPI 的形式被载入 Netscape
Enterprise Server。
由于 Java 的跨平台特性,基于 Java 的 Tomcat 也具有跨平台性。
12 什么是 VPN?
答案:
VPN(Virtual Private Network,虚拟私有网)
以共享的公共网络为基础,构建私有的专用网络
以虚拟的连接,而非以物理连接贯通网络
处于私有的管理策略之下,具有独立的地址和路由规

有所通,有所不通
描述了基于 IP 的 VPN 体系结构
13 VPN 的优势?
答案:
可以快速构建网络,减小布署周期
与私有网络一样提供安全性,可靠性和可管理性
可利用 Internet,无处不连通,处处可接入
简化用户侧的配置和维护工作
提高基础资源利用率
于客户可节约使用开销
于运营商可以有效利用基础设施,提供大量、多种业

14 什么是 DHCP,DHCP 工作原理?
答案:
DHCP(Dynamic Host Configure Protocol,动态主机配置协议),用于向网络中的计算机分配 IP 地址及一些 TCP/ip
配置信息。DHCP 提供了安全,可靠且简单的 TCP/IP 网络设置,避免了 TCP/ip 网络地址的冲突,同时大大降低了工
作负担。
DHCP 的 工作原理:客户机从服务器获取 IP 的四个租约过程,客户机请求 ip,服务器相应请求,客户机选择 ip,
服务器确定租约。

  1. 客户机请求 IP 地址 —— DHCP 客户机在网络中广播一个 DHCP DISCOVER 包,请求 ip 地址 ,DHCP Discover 包
    的源地址为 0.0.0.0 。目的地址为 255.255.255.255,该包 包含客户机的 MAC 和计算机名,使服务器能够确定
    是哪个客户机发送的请求。
  2. 服务器响应请求——当 DHCP 服务器接收到客户机请求 ip 地址的信息时,就在自己的库中查找是否有合法的 ip
    地址提供给客户机,如果有 ,将此 ip 标记,广播一个 DHCP offer 包。这个包中包含:客户机的的 MAC 地址;
    提供的合法 ip;子网掩码;租约期限;服务器标示;其他参数等。因为客户机没有 ip 地址,所以还是以广播
    方式发送的,源地址:0.0.0.0 目的地 255.255.255.255。
  3. 客户机选择 IP 地址——DHCP 客户机接收到第一个 DHCP offer 包中选择 ip 地址,并在次 广播一个 DHCP request
    包到所有服务器,该包中包含为客户机提供的 ip 配置的服务器的服务标示符(ip 地址),服务器查看标示符,
    以确定自己提供的 ip 地址是否被客户机选中,如果客户机接受 ip,则发出 ip 地址的 DHCP 服务器将该地址保
    留,就不能将该地址提供给另一个 DHCP。如果拒绝,提供给下一个 ip 租约请求。这个源地址仍然是 0.0.0.0 目
    的地 255.255.255.255。
  4. 服务器确认 IP 租约——DHCP 租约的最后一步,服务器确认租约,发送一个 DHCP ack/DHCP NACK 包。服务器收
    到 DHCP request 包后,以 dhcp ack 包向客户机广播出去,当客户机收到后,就配置了 ip 地址,完成初始化,
    就可以在 TCP/IP 网络上通信了。客户机收到 DHCP nack 包后会重新发送 DHCP discover 包。这次源地址是服
    务器的 ip 地址 目的地是 255.255.255.255。
    IP 的租约更新:当客户机重启和租期到达 50%时,就需要更新租约,直接想提供的服务器发送 DHCP request 包,要
    求更新租约。客户机无法和服务器取得联系时,继续使用现有 IP,一直等到 85%时,向所有的服务器发送广播 DHCP
    request 包请求更新,如果仍然无法联系,则客户机将开始新的 ip 租约过程 DHCP discover 包
    IP 的租约释放命令 :释放的 ipconfig /release 获取是 :ipconfig /renew 。
    配置 DHCP 服务的要求:服务器具有静态 IP ;在域环境下需要使用活动目录服务授权 DHCP 服务;建立作用域。(如
    果在安装时建立则默认为 6 天,之后创建为 8 天,无线为 2 小时)
    配置选项有服务器选项、作用域选项、保留选项。服务器选项:对所有作用域生效;作用与选项:对当前作用
    域生效;保留选项:对当前作用域中某台客户机生效。
    15 VNC 简介
    答案:VNC( Virtual Network Computing,虚拟网络计算机) 是一款由 AT&T 的欧洲研究实验室开发的远程控制
    软件,允许用户在网络的任何地方使用简单的程序来和一个特定的计算机进行交互。VNC 是基于 UNIX/Linux 操作系
    统的免费开源软件,远程控制能力强大,高效使用,其性能可以和 Windows 系统中的任何远程控制软件媲美。
    16 VNC 的工作流程
    答案:(1)VNC 服务器端启动服务
    (2)VNC 客户端连接到 VNC 服务器
    (3)VNC 服务器传送对话窗口至客户端,要求输入连接密码,以及存取的 VNC 服务器虚拟机桌面。
    (4)在客户端输入连接密码后,VNC 服务器验证客户端是否有存取权限
    (5)如果客户端通过 VNC 服务器的验证,客户端既要求 VNC 服务器显示桌面环境。
    (6)被控端将画面显示控制权交由 VNC 服务器负责
    (7)VNC 服务器将把被控的桌面环境利用 VNC 通信协议送至客户端,并且允许客户端控制 VNC 服务
    器的桌面环境和输入装置。
    17 NFS 简介,什么是 NFS
    答案: 简介:通过配置 NFS 服务器可以让客户端计算机挂载 NFS 服务器上的共享目录,文件就如同于客户机的本
    地硬盘上一样。
    什么是 NFS:
    搭建服务器的基本流程
    1 网络服务器成功连接的分析
    答案:
    (1) 网络:了解网络基础知识与所需服务的通信协议
    (2) 服务器本身:了解搭建网络服务器的目的以配合主机的安装规划
    (3) 服务器本身:了解操作系统的基本操作
    (4) 内部防火墙设置:管理系统的可共享资源
    (5) 服务器软件设置:学习设置技巧与开机是否自动执行
    (6) 细节权限设置:包括 SElinux 与文件权限
    2 常见的服务器设置案例分析
    答案:
    (1) 网络环境
    (2) 对外网络
    (3) 额外服务
    (4) 服务器管理
    (5) 防火墙管理
    (6) 账号管理
    (7) 后台分析
    Shell
    1 自定义 Shell 变量时,变量名有什么规则?
    参考答案
    可以包括数字、字母、下划线,不能以数字开头
    变量名区分大小写
    赋值时等号两边不要有空格
    尽量不要使用关键字和特殊字符
    给同一个变量多次赋值时,最后一次的赋值生效
    2 简述预定义变量KaTeX parse error: Can't use function '$' in math mode at position 2: 、$̲?、$0、$#、$*、$!的作… 保存当前运行进程的(PID)号
    $? 保存命令执行结果的(返回状态)
    $0 保存当前运行的(进程名)或(脚本名)
    $# 保存位置变量的(个数)
    $* 保存所有位置变量的(值)
    $! 保存后台(最后一个进程)的 PID 号
    3 简述三种定界符在变量赋值操作中的特点。
    参考答案
    双引号 " ":允许扩展,以 $ 引用其他变量
    单引号 ’ ':禁用扩展,即便 $ 也视为普通字符
    反撇号 :将命令的执行输出作为变量值
    4 列出常见的整数值比较操作,并说明各自作用。
    参考答案
    -eq 等于(Equal)
    -ne 不等于(Not Equal)
    -ge 大于或等于(Greater or Equal)
    -le 小于或等于(Lesser or Equal)
    -gt 大于(Greater Than)
    -lt 小于(Lesser Than)
    5 简述 Shell 环境常见的中断及退出控制指令。
    参考答案
    break:跳出当前所在的循环体,执行循环体后的语句。
    continue:跳过循环体内余下的语句,重新判断条件以便执行下一次循环。
    exit:退出脚本,默认返回值是 0。
    return:用在函数里 指定返回值。
    shift:用于迁移位置变量,将 $1~$9 依次向左顺序移动。
    6 正则表达式中的+、?、分别表示什么含义?
    参考答案
    这三个字符用来限制关键词的匹配次数,含义分别如下:
    +:最少匹配一次,比如 a+可匹配 a、aa、aaa 等
    ?:最多匹配一次,比如 a?可匹配零个或一个 a
    :匹配任意多次,比如 a可匹配零个或任意多个连续的 a
    7 简述 awk 工具常用的内置变量、各自的作用。
    参考答案
    FS:保存或设置字段分隔符
    $n:即$1、$2、$3……,表示指定分隔的第几个字段
    0 : 保 存 当 前 读 入 的 整 行 文 本 内 容 N F : 记 录 当 前 处 理 行 的 字 段 个 数 ( 列 数 ) N R : 记 录 当 前 已 读 入 行 的 数 量 ( 行 数 ) F N R : 保 存 当 前 处 理 行 在 原 文 本 内 的 序 号 ( 行 号 ) F I L E N A M E : 保 存 a w k 当 前 处 理 的 ( 文 件 名 ) E N V I R O N : 调 用 S h e l l 环 境 变 量 , 格 式 : E N V I R O N [ " 变 量 名 " ] 8 , 什 么 是 s h e l l ? 如 何 查 看 当 前 系 统 支 持 的 S h e l l ? 答 案 : 1 ) 实 现 某 种 功 能 的 , 有 执 行 权 限 的 文 件 2 ) c a t / e t c / s h e l l s 9 , 如 何 切 换 当 前 使 用 的 s h e l l 答 案 : b a s h 10 、 / b i n / b a s h 特 性 有 哪 些 答 案 : 特 性 : 提 供 命 令 补 全 , 命 令 编 辑 和 命 令 历 史 表 等 功 能 11 、 用 户 配 置 文 件 是 哪 几 个 ? 有 什 么 用 ? 答 案 : 1 )   / . b a s h r c   / . b a s h p r o f i l e 可 以 在 里 面 定 义 变 量 , 用 户 每 打 开 一 个 终 端 时 加 载 的 文 件 , 只 针 对 用 户 有 效 12 、 系 统 配 置 文 件 是 哪 几 个 ? 有 什 么 用 ? / e t c / p r o f i l e / e t c / b a s h r c 可 以 在 里 面 定 义 变 量 , 用 户 每 打 开 一 个 终 端 时 加 载 的 文 件 , 针 对 所 有 用 户 生 效 13 、 s h e l l 变 量 类 型 有 哪 些 ? 列 举 出 常 用 的 4 个 预 定 义 变 量 1 ) 1 、 自 定 义 变 量 2 、 系 统 环 境 变 量 3 、 预 定 义 变 量 4 、 位 置 变 量 2 ) 0:保存当前读入的整行文本内容 NF:记录当前处理行的字段个数(列数) NR:记录当前已读入行的数量(行数) FNR:保存当前处理行在原文本内的序号(行号) FILENAME:保存 awk 当前处理的(文件名) ENVIRON:调用 Shell 环境变量,格式:ENVIRON["变量名"] 8, 什么是 shell?如何查看当前系统支持的 Shell? 答案: 1) 实现某种功能的,有执行权限的文件 2)cat /etc/shells 9,如何切换当前使用的 shell 答案: bash 10、/bin/bash 特性有哪些 答案:特性:提供命令补全,命令编辑和命令历史表等功能 11、用户配置文件是哪几个?有什么用? 答案: 1)~/.bashrc ~/.bash_profile 可以在里面定义变量,用户每打开一个终端时加载的文件,只针对用户有效 12、系统配置文件是哪几个?有什么用? /etc/profile /etc/bashrc 可以在里面定义变量,用户每打开一个终端时加载的文件,针对所有用户生效 13、shell 变量类型有哪些?列举出常用的 4 个预定义变量 1)1、自定义变量 2、系统环境变量 3、预定义变量 4、位置变量 2) 0NFNRFNR在</
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wx25051/article/details/105434672

智能推荐

从零开始搭建Hadoop_创建一个hadoop项目-程序员宅基地

文章浏览阅读331次。第一部分:准备工作1 安装虚拟机2 安装centos73 安装JDK以上三步是准备工作,至此已经完成一台已安装JDK的主机第二部分:准备3台虚拟机以下所有工作最好都在root权限下操作1 克隆上面已经有一台虚拟机了,现在对master进行克隆,克隆出另外2台子机;1.1 进行克隆21.2 下一步1.3 下一步1.4 下一步1.5 根据子机需要,命名和安装路径1.6 ..._创建一个hadoop项目

心脏滴血漏洞HeartBleed CVE-2014-0160深入代码层面的分析_heartbleed代码分析-程序员宅基地

文章浏览阅读1.7k次。心脏滴血漏洞HeartBleed CVE-2014-0160 是由heartbeat功能引入的,本文从深入码层面的分析该漏洞产生的原因_heartbleed代码分析

java读取ofd文档内容_ofd电子文档内容分析工具(分析文档、签章和证书)-程序员宅基地

文章浏览阅读1.4k次。前言ofd是国家文档标准,其对标的文档格式是pdf。ofd文档是容器格式文件,ofd其实就是压缩包。将ofd文件后缀改为.zip,解压后可看到文件包含的内容。ofd文件分析工具下载:点我下载。ofd文件解压后,可以看到如下内容: 对于xml文件,可以用文本工具查看。但是对于印章文件(Seal.esl)、签名文件(SignedValue.dat)就无法查看其内容了。本人开发一款ofd内容查看器,..._signedvalue.dat

基于FPGA的数据采集系统(一)_基于fpga的信息采集-程序员宅基地

文章浏览阅读1.8w次,点赞29次,收藏313次。整体系统设计本设计主要是对ADC和DAC的使用,主要实现功能流程为:首先通过串口向FPGA发送控制信号,控制DAC芯片tlv5618进行DA装换,转换的数据存在ROM中,转换开始时读取ROM中数据进行读取转换。其次用按键控制adc128s052进行模数转换100次,模数转换数据存储到FIFO中,再从FIFO中读取数据通过串口输出显示在pc上。其整体系统框图如下:图1:FPGA数据采集系统框图从图中可以看出,该系统主要包括9个模块:串口接收模块、按键消抖模块、按键控制模块、ROM模块、D.._基于fpga的信息采集

微服务 spring cloud zuul com.netflix.zuul.exception.ZuulException GENERAL-程序员宅基地

文章浏览阅读2.5w次。1.背景错误信息:-- [http-nio-9904-exec-5] o.s.c.n.z.filters.post.SendErrorFilter : Error during filteringcom.netflix.zuul.exception.ZuulException: Forwarding error at org.springframework.cloud..._com.netflix.zuul.exception.zuulexception

邻接矩阵-建立图-程序员宅基地

文章浏览阅读358次。1.介绍图的相关概念  图是由顶点的有穷非空集和一个描述顶点之间关系-边(或者弧)的集合组成。通常,图中的数据元素被称为顶点,顶点间的关系用边表示,图通常用字母G表示,图的顶点通常用字母V表示,所以图可以定义为:  G=(V,E)其中,V(G)是图中顶点的有穷非空集合,E(G)是V(G)中顶点的边的有穷集合1.1 无向图:图中任意两个顶点构成的边是没有方向的1.2 有向图:图中..._给定一个邻接矩阵未必能够造出一个图

随便推点

MDT2012部署系列之11 WDS安装与配置-程序员宅基地

文章浏览阅读321次。(十二)、WDS服务器安装通过前面的测试我们会发现,每次安装的时候需要加域光盘映像,这是一个比较麻烦的事情,试想一个上万个的公司,你天天带着一个光盘与光驱去给别人装系统,这将是一个多么痛苦的事情啊,有什么方法可以解决这个问题了?答案是肯定的,下面我们就来简单说一下。WDS服务器,它是Windows自带的一个免费的基于系统本身角色的一个功能,它主要提供一种简单、安全的通过网络快速、远程将Window..._doc server2012上通过wds+mdt无人值守部署win11系统.doc

python--xlrd/xlwt/xlutils_xlutils模块可以读xlsx吗-程序员宅基地

文章浏览阅读219次。python–xlrd/xlwt/xlutilsxlrd只能读取,不能改,支持 xlsx和xls 格式xlwt只能改,不能读xlwt只能保存为.xls格式xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改xlrd打开文件import xlrdexcel=xlrd.open_workbook('E:/test.xlsx') 返回值为xlrd.book.Book对象,不能修改获取sheett_xlutils模块可以读xlsx吗

关于新版本selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘等问题_unresolved attribute reference 'find_element_by_id-程序员宅基地

文章浏览阅读8.2w次,点赞267次,收藏656次。运行Selenium出现'WebDriver' object has no attribute 'find_element_by_id'或AttributeError: 'WebDriver' object has no attribute 'find_element_by_xpath'等定位元素代码错误,是因为selenium更新到了新的版本,以前的一些语法经过改动。..............._unresolved attribute reference 'find_element_by_id' for class 'webdriver

DOM对象转换成jQuery对象转换与子页面获取父页面DOM对象-程序员宅基地

文章浏览阅读198次。一:模态窗口//父页面JSwindow.showModalDialog(ifrmehref, window, 'dialogWidth:550px;dialogHeight:150px;help:no;resizable:no;status:no');//子页面获取父页面DOM对象//window.showModalDialog的DOM对象var v=parentWin..._jquery获取父window下的dom对象

什么是算法?-程序员宅基地

文章浏览阅读1.7w次,点赞15次,收藏129次。算法(algorithm)是解决一系列问题的清晰指令,也就是,能对一定规范的输入,在有限的时间内获得所要求的输出。 简单来说,算法就是解决一个问题的具体方法和步骤。算法是程序的灵 魂。二、算法的特征1.可行性 算法中执行的任何计算步骤都可以分解为基本可执行的操作步,即每个计算步都可以在有限时间里完成(也称之为有效性) 算法的每一步都要有确切的意义,不能有二义性。例如“增加x的值”,并没有说增加多少,计算机就无法执行明确的运算。 _算法

【网络安全】网络安全的标准和规范_网络安全标准规范-程序员宅基地

文章浏览阅读1.5k次,点赞18次,收藏26次。网络安全的标准和规范是网络安全领域的重要组成部分。它们为网络安全提供了技术依据,规定了网络安全的技术要求和操作方式,帮助我们构建安全的网络环境。下面,我们将详细介绍一些主要的网络安全标准和规范,以及它们在实际操作中的应用。_网络安全标准规范