1. 🌐 配置静态IP地址 (使用 nmtui 命令进入图形界面)
Linux-1: IP地址设为 10.10.70.11/24,DNS服务器设为 127.0.0.1
Linux-2: IP地址设为 10.10.70.12/24,DNS服务器设为 10.10.70.11
Linux-3: IP地址设为 10.10.70.13/24,DNS服务器设为 10.10.70.11
📝 模块二:第一题 (1) Linux DNS 服务配置
【任务要求】 在Linux-1服务器中安装配置 bind服务,负责区域“netdj.net”内主机解析,四台主机分别为dns.netdj.net、mydb.netdj.net、www.netdj.net、samba.netdj.net、data.netdj.net,做好正反向DNS服务解析,禁止172.16.10.0/24网段的主机访问此DNS服务器。
1. 🏷️ 配置各服务器主机名
【Linux-1】: hostnamectl set-hostname dns.netdj.net
【Linux-2】: hostnamectl set-hostname mydb.netdj.net
【Linux-3】: hostnamectl set-hostname www.netdj.net
(配置后可输入 bash 刷新终端显示)
2. 📦 安装 DNS 核心组件
【Linux-1】: yum install -y bind bind-utils
3. ⚙️ 修改 DNS 主配置文件
【Linux-1】: 执行 vi /etc/named.conf
修改点 1(监听与访问控制):
options {
listen-on port 53 { any; };
...
allow-query { !172.16.10.0/24; any; };
...
};
修改点 2(在文件末尾添加正反向区域声明):
zone "netdj.net" IN {
type master;
file "netdj.net.zone";
};
zone "70.10.10.in-addr.arpa" IN {
type master;
file "70.10.10.arpa";
};
4. 📝 编写正向解析与反向解析文件
正向解析【Linux-1】: 执行 vi /var/named/netdj.net.zone,输入:
$TTL 1D
@ IN SOA dns.netdj.net. root.netdj.net. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS dns.netdj.net.
dns IN A 10.10.70.11
mydb IN A 10.10.70.12
www IN A 10.10.70.13
samba IN A 10.10.70.11
data IN A 10.10.70.11
反向解析【Linux-1】: 执行 vi /var/named/70.10.10.arpa,输入:
$TTL 1D
@ IN SOA dns.netdj.net. root.netdj.net. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS dns.netdj.net.
11 IN PTR dns.netdj.net.
11 IN PTR samba.netdj.net.
11 IN PTR data.netdj.net.
12 IN PTR mydb.netdj.net.
13 IN PTR www.netdj.net.
5. 🚀 启动服务并设置开机自启
【Linux-1】:
systemctl start named (启动服务)
systemctl enable named (设置开机自启)
systemctl status named (检查运行状态)
服务跑起来之后,按照标准的工程流程,我们必须在客户端(比如 Linux-2 或 Linux-3)上验证一下 DNS 解析是否真正生效。
【当前操作服务器:Linux-2 和 Linux-3】 请分别在这两台机器的终端里执行以下命令来安装工具:
yum install -y bind-utils
安装完成之后,我们就可以进行验证了。
我们前面提到,测试正向解析(域名转 IP)可以直接输入 nslookup www.netdj.net。那么,如果我们要测试反向解析是否成功(也就是验证 DNS 能不能把 IP 10.10.70.13 成功转换回对应的域名)
📝 模块二:第一题 (2)-(5) Linux Squid 代理服务配置
【任务要求】
(2) 安装Squid,更改代理监听端口为8090,指定DNS服务器为Linux-1的IP。
(3) 设置缓存机制ufs,缓存目录/cache,容量5GB,L1及L2目录数量分别为16和256。
(4) 设置禁止访问.mp4、.avi扩展名后缀的资源。
(5) 设置身份认证,认证方式为基础认证,认证程序进程数为5个,账户信息:proxy_user,密码:user_proxy,存储位置:/squid/squid_user。
📝 模块二:第一题 (2)-(5) Linux Squid 代理服务配置 (最终修正版)
1. 📦 安装服务与工具
【Linux-1】:
yum install -y squid httpd-tools
2. 🔐 创建身份认证密码文件
【Linux-1】:
mkdir -p /squid
htpasswd -c /squid/squid_user proxy_user (回车后连续两次输入密码 user_proxy)
3. 📂 处理缓存目录权限与 SELinux (重要排错)
【Linux-1】:
setenforce 0 (临时关闭 SELinux)
sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config (永久宽容模式)
mkdir -p /cache (创建缓存目录)
chown squid:squid /cache (赋予 squid 用户目录权限)
4. ⚙️ 修改 Squid 主配置文件
【Linux-1】: 执行 vi /etc/squid/squid.conf,修改与添加以下内容(注意顺序):
Plaintext
# 修改端口并指定 DNS
http_port 8090
dns_nameservers 10.10.70.11
# 设置缓存
cache_dir ufs /cache 5120 16 256
# 禁止访问 .mp4 和 .avi
acl block_media urlpath_regex -i \.mp4$ \.avi$
http_access deny block_media
# 设置基础身份认证 (放行规则必须写在 http_access deny all 之前)
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /squid/squid_user
auth_param basic children 5
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
5. 🛡️ 防火墙放行并启动服务
【Linux-1】:
firewall-cmd --permanent --add-port=8090/tcp
firewall-cmd --reload
systemctl start squid
systemctl enable squid
📝 模块二:第二题 Linux NFS 服务器配置
【任务要求】 配置 Linux-1 为 NFS 服务器,共享目录 /home 和 /var/tmp,并根据不同用户设置读写与 root 权限。
1. 🛡️ 防火墙放行服务
【Linux-1】:
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload
2. 📦 挂载镜像与安装服务
yum install -y nfs-utils
3. ⚙️ 修改 NFS 核心配置文件
【Linux-1】: 执行 vi /etc/exports,添加以下内容:
/home 10.10.70.0/24(rw,sync) *(ro,sync)
/var/tmp *(rw,sync,no_root_squash)
4. 🚀 启动服务并设置开机自启
【Linux-1】:
systemctl start nfs-server
systemctl enable nfs-server
📝 模块二:第三题 Linux MariaDB 服务器配置
【任务要求】 配置 Linux-2 (mydb.netdj.net) 为数据库服务器,创建 userdb 数据库与 userinfo 数据表。插入特定用户数据,修改表结构,并完成数据的 SQL 导出与 TXT 文本导入操作。
1. 🛡️ 防火墙放行服务
【Linux-2】:
firewall-cmd --permanent --add-service=mysql
firewall-cmd --reload
2. 📦 安装与服务启停
【Linux-2】:
yum install -y mariadb-server
systemctl start mariadb
systemctl enable mariadb
3. 🗄️ 数据库与表结构配置
【Linux-2】: 终端执行 mysql -u root 进入数据库,依次执行:
SQL
CREATE DATABASE userdb;
USE userdb;
CREATE TABLE userinfo (
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(10),
birthday datetime,
sex char(5),
password char(200)
);
4. ✍️ 插入与修改数据
【MariaDB 交互终端】: 插入两名用户,并使用 MD5() 函数满足赛题中“密码以密文显示”的要求:
SQL
INSERT INTO userinfo VALUES (1, 'myuser1', '1995-07-01', '男', MD5('myuser1'));
INSERT INTO userinfo VALUES (2, 'myuser2', '1995-09-01', '女', MD5('myuser2'));
修改 myuser2 的出生日期为 1996-10-25:
SQL
UPDATE userinfo SET birthday='1996-10-25' WHERE name='myuser2';
添加 age 新字段,并更新这两名用户的年龄为 21 和 22:
SQL
ALTER TABLE userinfo ADD age int;
UPDATE userinfo SET age=21 WHERE id=1;
UPDATE userinfo SET age=22 WHERE id=2;
5. 🔄 数据的导出与导入
【Linux-2 终端】: 退出数据库 (exit;),创建备份目录并使用 mysqldump 导出指定的 .sql 文件:
Bash
mkdir -p /var/databak
mysqldump -u root userdb userinfo > /var/databak/mysql.sql
【Linux-2 终端】: 创建赛题要求的 mysql.txt 文本文件并写入两行新记录:
Bash
echo "3,myuser3,1999-7-1,女,myuser3,17" > /var/databak/mysql.txt
echo "4,myuser4,1999-12-10,男,myuser4,17" >> /var/databak/mysql.txt
【Linux-2 终端】: 重新进入数据库 (mysql -u root) 并导入这份文本数据:
SQL
USE userdb;
LOAD DATA INFILE '/var/databak/mysql.txt' INTO TABLE userinfo FIELDS TERMINATED BY ',';
exit;
📝 模块二:第四题 Linux Apache 配置
【任务要求】 在 Linux-3 (www.netdj.net) 安装 httpd 服务,建立 www.netdj.net 虚拟主机,设置网站主页内容,并生成自签名证书以实现强制的 SSL 加密访问。
1. 📦 安装服务
【Linux-3】: 安装 Apache 核心服务与 SSL 扩展模块:
Bash
yum install -y httpd mod_ssl
2. 🌐 准备网站主目录与首页
【Linux-3】:
Bash
mkdir -p /www/netdj
echo "Welcome CCF website" > /www/netdj/netdj.html
3. 🔐 生成 SSL 证书
【Linux-3】: 使用 openssl 生成指定域名的私钥和证书存入配置目录:
Bash
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/conf.d/server.key -out /etc/httpd/conf.d/server.crt -subj "/CN=www.netdj.net"
4. ⚙️ 配置虚拟主机
【Linux-3】: 编辑专属配置文件:
Bash
vi /etc/httpd/conf.d/netdj.conf
写入以下内容监听 443 端口并挂载证书:
Apache
<VirtualHost *:443>
ServerName www.netdj.net
DocumentRoot /www/netdj
DirectoryIndex netdj.html
SSLEngine on
SSLCertificateFile /etc/httpd/conf.d/server.crt
SSLCertificateKeyFile /etc/httpd/conf.d/server.key
</VirtualHost>
5. 🚀 启动与开机自启
【Linux-3】:
Bash
systemctl restart httpd
systemctl enable httpd
这道题圆满拿下!接下来,我们要进军第五题:Linux Samba 服务配置。Samba 主要是用来在 Linux 和 Windows 之间实现文件共享的。
📝 模块二:第五题 Linux Samba 服务配置
【任务要求】
在 Linux-1 安装 Samba 服务,建立系统用户并设置为 Samba 用户,配置特定目录的共享权限。
1. 📦 安装服务与准备账号
【Linux-1】: 安装 Samba 核心软件包,并创建系统用户:
Bash
yum install -y samba
useradd user4
useradd user5
useradd user6
2. 🔑 设置 Samba 独立密码
【Linux-1】: 将系统用户添加至 Samba 密码库(按提示盲打输入密码):
Bash
smbpasswd -a user4
smbpasswd -a user5
smbpasswd -a user6
3. 📂 创建共享目录与底层权限
【Linux-1】: 创建指定的物理目录,并开放底层读写权限(防止被系统拦截):
Bash
mkdir -p /opt/finance_share
chmod 777 /opt/finance_share
4. ⚙️ 配置共享规则
【Linux-1】: 编辑 Samba 主配置文件:
Bash
vi /etc/samba/smb.conf
在文件最末尾追加以下共享规则,限制访问人员并开启写入权限:
Ini, TOML
[finance_share]
path = /opt/finance_share
writable = yes
valid users = user4,user5,user6
5. 🚀 启动与开机自启
【Linux-1】:
Bash
systemctl restart smb
systemctl enable smb
到目前为止,模块二中的 MariaDB 数据库、Apache 加密网站,以及 Samba 文件共享 咱们都已经非常顺利地全部拿下了!🎉 你的思路非常清晰,命令掌握得也很扎实。
1. 准备工作 🛠️
安装管理软件 RAID 的必备工具:
Bash
yum install -y mdadm
2. 配置前三块硬盘 (sda, sdb, sdc) 💾
要求:将前三块硬盘分别设置为一个占满全部空间的主分区。
依次对 /dev/sda、/dev/sdb、/dev/sdc 执行以下交互操作:
Bash
fdisk /dev/sda
# 交互输入:
# n -> p -> 回车 -> 回车 -> 回车 -> w
(对 sdb 和 sdc 重复上述命令和按键)
3. 配置第四块硬盘 (sdd) 🗃️
要求:划分为两个 500MB 的逻辑分区。
逻辑分区必须建立在扩展分区之上:
Bash
fdisk /dev/sdd
# 交互输入:
# n -> e -> 回车 -> 回车 -> 回车 (建满扩展分区)
# n -> 回车 -> +500M (建第一个逻辑分区 sdd5)
# n -> 回车 -> +500M (建第二个逻辑分区 sdd6)
# w (保存并退出)
4. 创建 RAID 10 阵列 🧱
要求:使用前三块硬盘的主分区和第四块硬盘的第一个逻辑分区,创建名为 /dev/md10 的阵列。
Bash
mdadm -C /dev/md10 -l 10 -n 4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd5
# 提示 Continue creating array? 时输入 y
5. 从 RAID 阵列中划分 1G 空间 🔪
要求:将 /dev/md10 分出一个大小为 1G 的空间。
Bash
fdisk /dev/md10
# 交互输入:
# n -> p -> 回车 -> 回车 -> +1G -> w
(注意:这一步划分出来的分区名称通常会自动命名为 /dev/md10p1)
6. 格式化并启用 Swap 分区 🔄
要求:将刚才划分出的 1G 空间格式化为 swap 分区并投入使用。
Bash
# 格式化为 swap 文件系统
mkswap /dev/md10p1
# 启用该 swap 分区
swapon /dev/md10p1
# (可选) 检查 swap 是否成功增加
free -h