type
status
date
slug
summary
tags
icon
password
category
一、Linux系统入门
1. Linux系统概述
- Linux特点:免费、开源、多用户、多任务、支持多线程和多CPU。常用于嵌入式设备、超级计算机、家庭、企业和政府。
- 使用案例:如巴西、俄罗斯、印度、中国、葡萄牙、西班牙等政府部门广泛采用Linux。
2. Linux与Windows的比较
- 界面:Windows界面统一,Linux界面因发行版不同而不同。
- 驱动:Windows驱动丰富但依赖厂商,Linux驱动由社区开发,部分硬件厂商支持开源驱动。
- 使用:Windows易上手,Linux需掌握命令行。
- 学习:Windows构造复杂,更新频繁;Linux系统稳定,知识传承性好,学习相对容易。
3. 常见的Linux发行版
- RHEL (Red Hat Enterprise Linux):企业级Linux系统,广泛应用于航空、银行、电信等行业,稳定性强。
- CentOS:基于RHEL的开源免费版本,与RHEL软件包兼容,适合运维。
- Fedora:红帽公司研发的桌面版Linux系统,作为RHEL的“试验田”,每6个月发布新版本。
- Debian:历史悠久,稳定安全,免费支持,适用于多种硬件架构。
- Ubuntu:基于Debian开发,发布周期为6个月,用户数量高,提供桌面版和服务器版。
4. Linux系统构成
- 内核:由Linus Torvalds开发并维护,1991年发布,标志为企鹅Tux。
- 主要应用:网络服务器、企业内部服务器、软件开发环境、桌面环境。
5. Linux目录结构
- 根目录
/
:树型结构,包括常见的子目录如/root
,/bin
,/etc
,/home
,/usr
,/lib
等。
6. 开源精神与Linux
- 优势:低风险、低成本、高品质、更透明。
- 开源许可:
- GNU GPL:要求开源、免费,适用于大多数Linux软件。
- BSD:允许商业发布。
- Apache:支持商业软件,提供专利许可。
- MIT:限制最少,商业软件常用。
7. Linux发展史
- 1984年:GNU计划启动。
- 1991年:Linus Torvalds开发Linux内核。
- 1994年:Red Hat发布红帽系统。
- 2021年:Linux内核版本已发展到5.10。
8. CentOS系统安装
- 需要虚拟机软件(如VMware)和Linux操作系统(如CentOS 7)。
9. VMware Tools安装
- 通过命令行解压并安装VMware Tools,以实现虚拟机与主机间的文件传输功能。
二、必须掌握的Linux命令
1. Shell的作用
- 系统内核与硬件:内核管理硬件,用户不能直接操作硬件,需要通过系统调用接口。
- Shell:充当用户与内核间的翻译官,通过终端输入命令,调用服务程序完成工作。Bash是常见的Shell解释器,支持自动补全、环境变量和批处理脚本。
2. 执行命令的必备知识
- 命令格式:
命令名称 [命令参数] [命令对象]
。如创建用户、查看文件。
- 参数的作用:调整命令行为,如
man --help
显示帮助信息。
- 快捷键:
Tab
补全,Ctrl+C
终止进程,Ctrl+D
结束输入,Ctrl+L
清屏。
3. 常用系统工作命令
- echo:输出字符串或变量的值。
- date:显示/设置系统时间,
date +%Y-%m-%d
显示当前日期。
- reboot:重启系统。
- timedatectl:设置系统时间。
4. 系统状态检测命令
- ifconfig:显示网络配置和状态。
- uname:查看系统内核版本和架构,
uname -a
。
- uptime:查看系统负载信息。
- free:显示内存使用情况。
- ping:测试主机网络连通性。
- netstat:显示网络连接和接口状态。
- history:查看历史命令。
5. 查找定位文件命令
- pwd:显示当前工作目录。
- cd:切换工作目录。
- ls:列出目录内容,
ls -a
显示所有文件。
- find:按条件查找文件,如
find / -name "filename"
。
- locate:按名称快速查找文件。
- which:查找命令的位置。
- tree:以树状结构显示目录内容。
6. 文本文件编辑命令
- cat:查看短文本文件,
cat -n
显示行号。
- more:查看长文本文件。
- head:查看文件前N行。
- tail:查看文件后N行,
tail -f
持续刷新内容。
- grep:按行提取文本内容,
grep -i "keyword"
忽略大小写搜索。
- diff:比较文件差异。
- wc:统计行数、单词数和字节数。
7. 文件目录管理命令
- touch:创建空白文件或修改时间。
- mkdir:创建目录,
mkdir -p
创建嵌套目录。
- cp:复制文件或目录,
cp -r
复制目录。
- mv:剪切或重命名文件。
- rm:删除文件或目录,
rm -rf
强制删除。
- tar:压缩/解压文件,
tar -czvf
打包,tar -xzvf
解压。
8. 复习题要点
- 常用Shell:Bash解释器。
- 命令参数:使命令适应具体需求。
- 删除文件:使用
rm -f
避免确认提示。
- 查看长文件内容:使用
more
命令。
- 解压缩文件:使用
tar -xzvf backup.tar.gz
。
三、管道符、重定向与环境变量
1. 输入输出重定向
标准输出重定向
- 定义:将命令的输出重定向到文件中,而不是输出到屏幕。
- 用法:
>
:将标准输出重定向到文件(覆盖原有内容)。- 例如:
echo "Hello World" > output.txt
效果:将 "Hello World" 写入到output.txt
文件中,若文件已存在,内容将被覆盖。
标准输入重定向
- 定义:将文件内容作为命令的输入,而不是从键盘输入。
- 用法:
<
:将文件作为命令的输入。- 例如:
sort < input.txt
效果:将input.txt
文件中的内容传递给sort
命令进行排序。
错误输出重定向
- 定义:将命令的错误信息重定向到文件,而不是输出到屏幕。
- 用法:
2>
:将错误输出重定向到文件(覆盖原有内容)。- 例如:
command 2> error.log
效果:如果command
执行出错,错误信息将被写入error.log
文件。
追加输出重定向
- 定义:将命令的输出追加到文件末尾,而不是覆盖原有内容。
- 用法:
>>
:追加标准输出到文件。- 例如:
echo "Another Line" >> output.txt
效果:在output.txt
文件末尾添加 "Another Line"。
同时重定向标准输出和错误输出
- 用法:
&>
或2>&1
:将标准输出和错误输出同时重定向到一个文件。- 例如:
command &> combined.log
效果:将command
的标准输出和错误信息都写入combined.log
文件。
2. 管道符命令
定义:将一个命令的输出作为下一个命令的输入。
- 用法:
|
:管道符连接两个命令,将前一个命令的输出作为后一个命令的输入。- 例如:
cat file.txt | grep "keyword"
效果:cat
命令读取file.txt
内容,输出给grep
命令,grep
只输出包含 "keyword" 的行。
多重管道使用
- 用法:
- 可以在一个命令链中使用多个管道符。
- 例如:
ps aux | grep "process_name" | wc -l
效果:列出所有进程,并过滤包含process_name
的进程,最后统计进程数量。
类比:
- 管道符类似流水线作业:第一个命令生成原料,第二个命令加工,第三个命令输出成品。
- 例如:
cat data.txt | tr 'a-z' 'A-Z' | sort | uniq
效果:cat
命令读取data.txt
,tr
命令将所有字母转换为大写,sort
命令对内容排序,uniq
命令去除重复行。
3. 命令行的通配符
定义:通配符用于匹配文件名或字符,简化命令输入。
- 常用通配符:
:匹配零个或多个字符。
?
:匹配一个任意字符。[a-z]
:匹配特定范围的字符。
- 用法:
- 例如:
ls *.txt
效果:列出当前目录下所有以.txt
结尾的文件。 - 例如:
rm file?.txt
效果:删除文件名中第二个字符可以为任意字符的.txt
文件(如file1.txt
,fileA.txt
等)。
组合通配符使用
- 用法:
- 例如:
ls [A-Z]*.log
效果:列出所有以大写字母开头且以.log
结尾的文件。
4. 常用转义字符
定义:转义字符用于处理特殊字符或保持字符串的原始含义。
- 常用转义字符:
\
:将特殊字符转义为普通字符。' '
:将字符串中的所有字符视为普通文本。" "
:保留字符串中的变量和特殊符号。` `
:执行括号中的命令并返回结果。
- 用法:
- 例如:
echo \$PATH
效果:输出$PATH
字符串,而不是环境变量的值。 - 例如:
echo "Your home directory is $HOME"
效果:输出字符串并解析$HOME
环境变量。 - 例如:
files=$(ls)
效果:将ls
命令的输出结果存入变量files
。
5. 环境变量
定义:环境变量存储与系统运行相关的配置,如路径、用户名等。
- 常用环境变量:
$PATH
:存储可执行文件的目录路径。$HOME
:当前用户的主目录。$USER
:当前登录的用户名。
- 用法:
- 例如:
echo $PATH
效果:输出系统中包含可执行命令的所有路径。 - 例如:
export PATH=$PATH:/custom/path
效果:将/custom/path
添加到$PATH
中,使得该目录下的可执行文件也可以直接运行。
自定义环境变量
- 用法:
- 例如:
export MY_VAR="Hello World"
效果:定义一个名为MY_VAR
的环境变量,并赋值为 "Hello World"。 - 例如:
echo $MY_VAR
效果:输出变量MY_VAR
的值。
6. 复习题要点
- 重定向命令:
ls >> output.txt
将ls
命令的输出追加到output.txt
文件中。
- 管道符的作用:
命令A | 命令B
让命令A
的输出成为命令B
的输入。
- 通配符使用:
可匹配零个或多个字符,例如
ls *.txt
匹配所有.txt
文件。
- 转义字符作用:
"
双引号避免命令中带有空格的参数被误解析。
四、Vim编辑器
1. Vim文本编辑器概述
- 定义:Vim是Vi编辑器的增强版,支持代码高亮、自动修正等功能。Vim是Linux系统中默认安装的文本编辑器,适用于编写和修改文本文件以及配置文件。
- 发布:Vim发布于1991年,全称为“Vi Improved”。
2. Vim的三种模式
- 输入模式(Insert Mode):正常输入文本。
- 命令模式(Command Mode):控制光标移动,执行复制、粘贴、删除、查找等操作。
- 末行模式(Last Line Mode):执行保存、退出、查找替换等命令。
- 模式切换:在Vim中,按
Esc
键可以从输入模式切换到命令模式,输入:
可以进入末行模式。例如,在命令模式下按i
键进入输入模式。
3. 命令模式常用命令
- 删除行:
dd
删除当前行,5dd
删除从当前行开始的5行。
- 复制行:
yy
复制当前行,5yy
复制从当前行开始的5行。
- 粘贴:
p
将之前删除或复制的内容粘贴到光标之后。
- 撤销:
u
撤销上一步操作。
- 查找:使用
/关键词
可以从上至下查找,?关键词
可以从下至上查找。
4. 末行模式常用命令
- 保存:
:w
保存当前文档。
- 退出:
:q
退出Vim,:q!
强制退出(不保存)。
- 保存并退出:
:wq
或:wq!
(强制保存)。
- 显示/隐藏行号:
:set nu
显示行号,:set nonu
取消显示行号。
- 跳转到特定行:
:数字
跳转到指定行号。
- 替换文本:
:s/one/two/
替换当前行的第一个one
为two
。:%s/one/two/g
替换全文中的所有one
为two
。
5. Vim编辑器使用实例
- 编写文档:
- 进入Vim编辑器:
vim filename
- 切换到输入模式:按
i
开始输入内容。 - 保存并退出:按
Esc
,再输入:wq
。
- 修改配置文件:
- 例如修改主机名称:
vim /etc/hostname
,编辑后使用:wq!
保存并退出。 - 修改网卡配置:
vim /etc/sysconfig/network-scripts/ifcfg-ens160
,配置完成后保存退出。
6. Vim中的配置文件修改步骤
- 配置主机名称:
- 进入
vim /etc/hostname
。 - 修改主机名称后,保存并退出。
- 使用
hostname
命令检查修改是否成功。
- 配置网卡信息:
- 进入
vim /etc/sysconfig/network-scripts/ifcfg-ens160
,修改网卡参数(如 IP 地址、网关、DNS 等)。 - 保存并退出,重启网络服务后测试连接。
- 配置软件仓库:
- 创建
.repo
文件:vim /etc/yum.repos.d/rhel8.repo
。 - 配置仓库参数并保存。
- 检查仓库可用性:
dnf install httpd -y
。
7. 计划任务服务(crond和at命令)
- 一次性任务:使用
at
命令执行一次性任务,如at 23:30
设置在晚上11:30重启服务。 - 查看任务:
at -l
;删除任务:atrm 任务编号
。
- 长期性任务:使用
crontab
创建周期性任务,如每周一凌晨3:25备份文件。 - 语法:
分 时 日 月 周 命令
。 - 例如:
25 3 * * 1 tar -czf /backup/backup.tar.gz /home/wwwroot/
。
8. 复习题要点
- Vim的三种模式:命令模式、输入模式和末行模式。
- 模式切换:按
Esc
进入命令模式,输入:
进入末行模式。
- 计划任务命令:长期计划任务使用
crond
,格式为分 时 日 月 周 命令
。
五、用户身份与文件权限
1. 用户身份与能力
- Linux多用户系统:不同用户有不同权限。系统管理员(
UID=0
)为root
,权限最高。
- 用户分类:
- 管理员(UID=0):最高权限用户,即
root
。 - 系统用户(UID 1-999):用于运行系统服务,限制权限,防止提权攻击。
- 普通用户(UID 1000起):管理员创建用于日常操作的用户。
- 用户组:
- 基本用户组:每个用户默认有一个同名的基本用户组。
- 扩展用户组:用户可以加入多个扩展用户组,继承额外权限。
2. 用户管理命令
- useradd:创建新用户。示例:
useradd -d /home/user -s /bin/bash username
效果:为用户username
创建主目录/home/user
并使用/bin/bash
作为默认Shell。
- usermod:修改用户属性。示例:
usermod -g newgroup username
效果:将username
的主组修改为newgroup
。
- userdel:删除用户。示例:
userdel -r username
效果:删除用户username
及其家目录。
- passwd:修改用户密码。示例:
passwd username
效果:设置用户username
的新密码。
3. 文件权限与归属
- 权限类型:
- r(读):查看文件内容或列出目录。
- w(写):修改文件内容或在目录中创建/删除文件。
- x(执行):执行文件或进入目录。
- 权限表示法:
- 字符表示:例如
rwxr-xr--
。 - 数字表示:
r=4
,w=2
,x=1
,例如rwxr-xr--
对应755
。
- 权限分配:
- 文件所有者、所属组、其他用户分别具有不同权限。
示例:
chmod 755 file.txt
:文件所有者有读、写、执行权限,组用户和其他用户有读、执行权限。
ls -l file.txt
:查看权限显示如rwxr-xr--
。
4. 特殊权限(SUID、SGID、SBIT)
- SUID(Set User ID):使执行该文件的用户临时拥有文件所有者的权限。示例:
chmod u+s file
或chmod 4755 file
。效果:当用户执行该文件时,临时获得文件所有者的权限。通常用于二进制可执行文件。
- SGID(Set Group ID):使执行该文件的用户临时获得文件所属组的权限;或在目录中,新创建的文件继承目录的组。示例:
chmod g+s file
或chmod 2755 file
。效果:文件或目录内新建文件继承原有组。
- SBIT(Sticky Bit):用于目录中,确保只有文件所有者可以删除文件。示例:
chmod o+t directory
或chmod 1755 directory
。效果:用户只能删除自己在目录中创建的文件。
SUID、SGID、SBIT 大写表示:
- 当文件缺少执行权限,但已设置特殊权限时,权限位会显示大写的
S
或T
。例如: rwsr-xr-x
:SUID权限,文件所有者有执行权限。r-Sr-xr-x
:SUID权限,但文件所有者无执行权限。rwxr-Sr-x
:SGID权限,但组用户无执行权限。rwxr-xr-t
:SBIT权限,其他用户只能删除自己文件。
5. 特殊权限的数字表示法
- 特殊权限位:
- SUID:
4
。 - SGID:
2
。 - SBIT:
1
。
- 结合普通权限表示法:格式:特殊权限位 + 所有者权限 + 组权限 + 其他用户权限。
- 示例:
chmod 4755 file
表示文件具有 SUID 权限,权限为rwsr-xr-x
。 - 示例:
chmod 2755 file
表示文件具有 SGID 权限,权限为rwxr-sr-x
。
例子:
chmod 4755 /usr/bin/passwd
:设置 SUID 权限,允许普通用户运行passwd
程序时临时获得root
权限。
chmod 2750 /data
:设置 SGID 权限,新建文件继承组。
6. 文件的隐藏属性
- chattr:修改文件的隐藏属性。示例:
chattr +i file.txt
设置文件为不可修改。
- lsattr:查看文件的隐藏属性。示例:
lsattr file.txt
。
常用隐藏属性:
- +i:文件不可修改、删除。
- +a:只能追加内容,不能删除或修改现有内容。
7. 文件访问控制列表(ACL)
- setfacl:为单个文件或目录设置更精细的权限。示例:
setfacl -m u:username:r-- file.txt
赋予username
对file.txt
的只读权限。
- getfacl:查看文件的ACL权限。示例:
getfacl file.txt
。
例子:
setfacl -m g:developers:rw /project
:为developers
组赋予/project
目录的读写权限。
setfacl -b file.txt
:删除file.txt
的所有ACL规则。
8. su命令与sudo服务
- su:切换用户身份,默认切换为
root
用户。示例:su - user
切换为user
用户。
- sudo:以管理员权限执行命令。示例:
sudo command
。/etc/sudoers 文件用于配置允许使用sudo
的用户及命令。 - 示例:添加
user ALL=(ALL) ALL
允许user
执行所有命令。
第6章 存储结构与管理硬盘
1. 文件存储结构
- Linux文件系统起点:所有文件从根目录
/
开始。没有Windows的C、D、E盘符,所有目录结构像倒树状。
- 常见目录与作用:
/boot
: 启动文件/dev
: 存放设备文件/etc
: 配置文件/home
: 用户主目录/lib
: 函数库/var
: 存放变化的文件(如日志)/tmp
: 临时目录
2. 物理设备命名规则
- 设备命名:
- IDE设备:
/dev/hd[a-d]
- SCSI/SATA设备:
/dev/sd[a-z]
- 分区编号:
- 主分区/扩展分区:编号1到4
- 逻辑分区:编号从5开始
- 分区示例:
/dev/sda
:第一个硬盘/dev/sda1
:第一个硬盘的主分区1/dev/sda5
:逻辑分区
3. 文件系统与数据资料
- 常见文件系统:
- Ext3:日志文件系统,可在系统异常时自动修复,但修复时间长。
- Ext4:改进版,支持大存储容量和高效文件操作。
- XFS:高性能文件系统,支持大容量,恢复速度快。
4. 挂载硬件设备
- 挂载操作:
mount 文件系统 挂载目录
用于挂载硬件。- 示例:
- 挂载命令:
mount /dev/sda1 /mnt/disk1
- 查看挂载状态:
df -h
- 卸载设备:
umount /dev/sda1
5. 添加硬盘设备
- 步骤:
- 在虚拟机中添加新硬盘设备。
- 运行
fdisk
命令进行分区。 - 使用
mkfs
格式化分区。 - 使用
mount
挂载新分区并验证。
- 分区与挂载示例:
- 分区:
fdisk /dev/sdb
,新建分区。 - 格式化:
mkfs.ext4 /dev/sdb1
- 挂载:
mount /dev/sdb1 /mnt/newdisk
6. 添加交换分区
- 步骤:
- 使用
fdisk
创建分区。 - 通过
mkswap
格式化为交换分区。 - 使用
swapon
激活交换分区。 - 在
/etc/fstab
中添加条目,确保开机自动挂载。
- 示例:
- 格式化:
mkswap /dev/sdb2
- 启用交换分区:
swapon /dev/sdb2
- 持久化配置:编辑
/etc/fstab
,加入/dev/sdb2 swap swap defaults 0 0
7. 磁盘容量配额
- Quota设置:
- 通过
xfs_quota
或edquota
命令设置磁盘容量配额。 - 软限制:超过后有警告,但允许使用。
- 硬限制:超过后强制终止使用。
- 示例:
edquota -u 用户名
设置用户配额- 软限制与硬限制的区别:软限制有宽限期,硬限制是不可超越的上限。
8. 软硬链接
- 软链接(Symbolic Link):
- 类似Windows快捷方式,指向文件的路径。
- 硬链接(Hard Link):
- 指向文件数据块的另一个指针,创建出来与原文件完全一致。
- 创建命令:
- 创建软链接:
ln -s 原文件 链接文件
- 创建硬链接:
ln 原文件 链接文件
第7章 使用RAID与LVM磁盘阵列技术
1. RAID(独立冗余磁盘阵列)
- RAID概述:
- RAID通过硬件或软件将多块硬盘串联成一个大的卷组,以提高读写性能或数据冗余。
- 常见RAID级别对比:
- RAID 0:最少2块硬盘,追求速度和容量,但安全性低,任意一块硬盘损坏都会导致数据丢失。
- RAID 1:最少2块硬盘,追求安全性,数据完全镜像备份,只要一块硬盘正常,数据不丢失。
- RAID 5:最少3块硬盘,兼顾速度、容量和安全性,允许一块硬盘故障而不丢失数据。
- RAID 10:最少4块硬盘,结合RAID 1和RAID 0的优点,提供高速度和高安全性。
2. RAID技术部署
- 创建RAID磁盘阵列:
- 使用
mdadm
命令创建和管理RAID。 - 常用命令:
mdadm -C /dev/md0 -l 5 -n 3 /dev/sda /dev/sdb /dev/sdc
:创建RAID 5阵列,使用3块硬盘。mdadm -D /dev/md0
:查看RAID阵列的详细信息。
- 修复RAID磁盘阵列:
- 当硬盘损坏时,使用
mdadm -f /dev/sdX
模拟硬盘故障,之后移除并更换新硬盘。 - 通过
mdadm --add /dev/md0 /dev/sdX
添加新硬盘恢复RAID。
3. LVM(逻辑卷管理器)
- LVM概述:
- LVM通过在硬盘分区和文件系统之间添加逻辑层,使用户可以动态调整存储资源。
- 逻辑卷可以在创建后动态扩展或缩小,不影响数据。
- LVM核心概念:
- 物理卷(PV):硬盘或分区等物理设备。
- 卷组(VG):由多个物理卷组成的逻辑存储池。
- 逻辑卷(LV):从卷组中分配的存储空间,可以扩展或缩小。
- LVM常用命令:
- 物理卷管理:
pvcreate /dev/sdb
:创建物理卷。pvdisplay
:显示物理卷信息。- 卷组管理:
vgcreate myvg /dev/sdb /dev/sdc
:创建卷组。vgextend myvg /dev/sdd
:扩展卷组。- 逻辑卷管理:
lvcreate -L 150M -n mylv myvg
:创建逻辑卷。lvextend -L +140M /dev/myvg/mylv
:扩展逻辑卷。
4. LVM部署与管理
- 部署逻辑卷的步骤:
- 创建物理卷:
pvcreate /dev/sdb
- 创建卷组:
vgcreate myvg /dev/sdb /dev/sdc
- 创建逻辑卷:
lvcreate -L 150M -n mylv myvg
- 格式化并挂载逻辑卷:
mkfs.ext4 /dev/myvg/mylv
,然后挂载到/mnt/mydir
。
- 扩展和缩小逻辑卷:
- 扩展:使用
lvextend
扩展逻辑卷,然后运行resize2fs
同步文件系统大小。 - 缩小:先检查文件系统的完整性,再使用
lvreduce
缩小逻辑卷。
- 逻辑卷快照:
- 使用
lvcreate -s -L 100M -n snap /dev/myvg/mylv
创建快照卷,快照卷只可使用一次,使用后会自动删除。
- 删除逻辑卷:
- 取消挂载:
umount /mnt/mydir
- 删除逻辑卷:
lvremove /dev/myvg/mylv
- 删除卷组:
vgremove myvg
- 删除物理卷:
pvremove /dev/sdb
复习题(例子):
- RAID技术的主要作用:提升读写速度并提供数据冗余备份。
- RAID 0与RAID 5的安全性对比:RAID 5更安全,因为有冗余校验功能。
- RAID 10的故障容忍:最多允许50%的硬盘损坏,但不能是同一RAID 1组内的硬盘。
- LVM的底层结构:物理卷是LVM的最底层,卷组由物理卷组成。
第九章 使用SSH服务管理远程主机
1. 配置网络服务
- 配置网卡参数
- 使用
nmtui
命令配置网卡: - 运行
nmtui
→ 选择要配置的网卡 → 手动设置IPv4。 - 示例IP配置:服务器IP为192.168.10.10,客户端为192.168.10.20。
- 保存并退出。
- 使用
nmcli
管理网络会话 nmcli
是命令行工具,管理NetworkManager
服务。- 支持动态网络配置和网络连接管理,适用于多种工作场景。
2. 远程控制服务(SSH)
- SSH基础配置
- SSH协议:用于安全远程登录,sshd服务提供SSH协议支持。
- sshd服务配置文件重要参数:
Port 22
:默认端口。PermitRootLogin yes
:允许root登录。PasswordAuthentication yes
:允许密码验证。MaxAuthTries 6
:最大密码尝试次数。
- 远程登录操作
- 基于密码的登录:输入远程主机账号和密码,登录成功。
- 基于密钥的登录:
- 在客户端生成密钥对。
- 将公钥传输到服务器并配置服务器只允许密钥登录。
- 登录时无需输入密码。
- 使用
scp
进行文件传输 - 格式:
scp [参数] 本地文件 远程账户@远程IP:远程目录
- 示例:
scp /root/out.txt root@192.168.10.20:/home
- 常用参数:
r
:传输文件夹。P
:指定sshd端口。
3. 日志管理
- 常见日志文件路径
/var/log/boot.log
:开机自检日志。/var/log/secure
:系统安全相关日志。/var/log/messages
:系统及服务的运行和报错日志。
- 日志文件分类
- 系统日志:记录内核和系统运行情况。
- 用户日志:记录用户登录、退出等信息。
- 程序日志:记录服务运行状态及相关事件。
- 使用
journalctl
命令查看日志 - 常用参数:
k
:查看内核日志。b
:查看启动日志。u
:查看特定服务日志。-since
:查看特定时间后的日志。
第十章 使用BIND提供域名解析服务
1. DNS域名解析服务
- DNS的基本概念
- 作用:DNS(域名系统)将用户输入的域名转换为IP地址,方便用户访问互联网资源。
- 架构:DNS采用分布式数据库架构,使用层次化的目录树结构来管理域名与IP的对应关系。
- 常见的域名后缀:
.com
、.gov
、.edu
、.net
、.org
、.cn
等。- DNS的工作方式:
- 正向解析:将域名转换为IP地址(最常用)。
- 反向解析:将IP地址转换为域名。
- 服务器类型:
- 主服务器:负责维护域名和IP地址的对应关系。
- 从服务器:从主服务器同步数据,提供冗余和负载均衡。
- 缓存服务器:存储经常查询的域名信息,加快重复查询速度。
- 查询方式:
- 递归查询:DNS服务器在接收到请求时,必须返回一个准确的结果。
- 迭代查询:DNS服务器不直接返回结果,而是指向下一个DNS服务器,直到查询完成。
2. 安装BIND服务程序
- BIND概述:
- *BIND(Berkeley Internet Name Domain)**是全球范围内最常用的DNS服务器程序,提供稳定和高效的域名解析服务。
- chroot机制:为了安全性,建议安装BIND时使用
chroot
扩展包,这可以限制BIND程序只能访问自身的配置文件,防止系统受到更大范围的影响。
- BIND的关键配置文件:
- 主配置文件:
/etc/named.conf
,定义了BIND的全局配置参数。 - 区域配置文件:
/etc/named.rfc1912.zones
,保存域名与IP地址对应关系文件的位置。 - 数据文件目录:
/var/named
,保存实际的域名和IP地址对应关系的数据文件。
3. 配置正向和反向解析
- 正向解析:
- 作用:将域名转换为IP地址。
- 配置文件:
- 区域配置文件(
/etc/named.rfc1912.zones
): - 数据文件(
/var/named/linuxprobe.com.zone
):
- 反向解析:
- 作用:将IP地址转换为域名,常用于对垃圾邮件进行处理。
- 配置文件:
- 区域配置文件(
/etc/named.rfc1912.zones
): - 数据文件(
/var/named/192.168.10.zone
):
4. 部署从服务器
- 作用:从服务器用于提升DNS服务的冗余和查询速度,防止主服务器宕机导致服务不可用。
- 配置步骤:
- 主服务器配置:允许从服务器进行数据更新。
- 从服务器配置:从服务器从主服务器同步数据。
5. 安全的加密传输
- TSIG加密机制:
- TSIG用于保证DNS服务器之间传输数据的安全性,防止数据在传输过程中被篡改或拦截。
- 密钥生成:
- 主服务器配置:
- 从服务器配置:
6. 部署缓存服务器
- 作用:缓存服务器存储频繁查询的域名信息,加快域名解析速度。
- 配置:
- 主配置文件:
- 验证效果:将客户端的DNS服务器设置为缓存服务器的IP地址(如
192.168.10.10
),测试解析效果。
7. 分离解析技术
- 作用:通过DNS分离解析技术,不同地理区域的用户可以从不同的服务器获取相同数据,提高访问效率。
- 配置:
- 主配置文件:
- 数据文件:针对不同地区配置不同的IP地址。
第11章:使用DHCP动态管理主机地址
主要内容总结
- 动态主机配置协议 (DHCP) 概述:
- DHCP(Dynamic Host Configuration Protocol)用于自动管理局域网中的IP地址及其他网络参数,例如子网掩码、网关地址和DNS地址。
- 举例:在企业局域网中,DHCP服务器可以自动为员工的电脑分配IP地址,不需要手动配置,每个连接的设备都会自动获得网络配置。
- DHCP 关键术语:
- 地址池: 用于动态分配给客户端的IP地址范围。
- 举例:设定地址池为
192.168.10.50 - 192.168.10.150
,则这些IP地址可以动态分配给局域网中的设备。 - 作用域: 一个完整的IP地址段,DHCP根据作用域管理IP分配。
- 举例:设置一个作用域为
192.168.10.0/24
,那么DHCP会管理整个192.168.10.x
网段。 - 租约: DHCP客户端使用动态分配的IP地址的时间。
- 举例:默认租约时间为
21600
秒(6小时),租约到期后,如果设备仍在使用,租约会被更新,否则IP地址会被回收。
- DHCPd 服务的部署:
- DHCPd 是Linux系统中的DHCP服务程序,配置简单,但功能强大。
- 举例:配置文件中可以设定IP地址范围、子网掩码、DNS和网关:上面的配置表示:局域网的网段为
192.168.10.0/24
,IP地址池为192.168.10.50 - 192.168.10.150
,网关地址为192.168.10.1
,DNS服务器也为192.168.10.1
,默认租约为6小时,最大租约为12小时。
- 自动管理IP地址:
- DHCP服务器可以自动为客户端分配IP地址、子网掩码、网关地址等,租约到期后,自动回收IP地址。
- 举例:当新的设备(如笔记本电脑)连接到网络时,DHCP服务器会自动分配一个IP地址(如
192.168.10.60
),并提供子网掩码(255.255.255.0
)和网关(192.168.10.1
)。
- 分配固定IP地址:
- 通过“预约”功能确保特定设备每次都获得相同的IP地址。
- 举例:如果某台服务器的MAC地址为
00:1A:2B:3C:4D:5E
,我们可以在配置文件中绑定该MAC地址到固定IP:这样,该设备每次连接都会分配到192.168.10.100
的固定IP。
- 复习题要点:
- DHCP主要用途: 自动为局域网设备分配IP地址及其他网络参数。
- 举例:在一个100台设备的网络中,使用DHCP可以大大简化IP管理工作。
- DHCP能分配的网络资源: 包括IP地址、子网掩码、网关地址和DNS地址等。
- 地址池 vs. 作用域: 地址池是可以实际分配给客户端的IP范围,作用域是管理整个网段的IP分布。
- 租约作用: 控制IP地址的使用时间,到期自动回收,避免IP浪费。
- 固定IP分配: 通过绑定主机的MAC地址,确保该主机总是获取到固定的IP地址。
- 举例:为公司服务器绑定固定IP
192.168.10.100
,使其每次重启后都能自动获得相同的IP地址。
- 作者:BUZZ
- 链接:https://blog.buzzchat.top//article/baos
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。