HRCE实验

1.实验要求

配置一个基于nginx的web服务器要求如下:

1、该web服务器使用主机名www.example.com来访问

2、该主机名由本地提供的DNS服务进行解析,并且提供反向解析

3、该DNS服务器应该还有一个从服务器

4、该web服务器访问应使用端口9093

5、该web服务器的内容页面应存放在/u01/www/目录下

6、该web服务器需要从Windows主机直接访问 9093 防火墙放行

7、系统上的防火墙和SELinux服务必须正常运行

8、该web服务器在系统重启后,依然可以正常访问。

2.实验过程

yum install -y bind bind-utils nginx policycoreutils-python-utils

systemctl start firewalld && systemctl enable firewalld

setenforce 1

getenforce

vim /etc/named.conf

options {

listen-on port 53 { 127.0.0.1; 192.168.1.100; }; # 监听主服务器IP

listen-on-v6 port 53 { ::1; };

directory "/var/named";

dump-file "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

allow-query { localhost; 192.168.1.0/24; }; # 允许内网客户端查询

recursion yes; # 内网场景允许递归查询

dnssec-enable yes;

dnssec-validation yes;

bindkeys-file "/etc/named.root.key";

managed-keys-directory "/var/named/dynamic";

pid-file "/run/named/named.pid";

session-keyfile "/run/named/session.key";

};

logging {

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

正向解析:www.example.com → 192.168.1.100(需求1、2)

zone "example.com" IN {

type master; # 主DNS服务器(需求3)

file "example.com.zone"; # 正向解析文件

allow-transfer { 192.168.1.101; }; # 允许从服务器同步

};

反向解析:192.168.1.100 → www.example.com(需求2)

zone "1.168.192.in-addr.arpa" IN {

type master;

file "192.168.1.rev.zone"; # 反向解析文件

allow-transfer { 192.168.1.101; };

};

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

vim /var/named/example.com.zone

$TTL 86400

@ IN SOA www.example.com. admin.example.com. (

2026012601 ; 序列号

3600 ; 刷新时间(从服务器同步间隔)

1800 ; 重试时间

604800 ; 过期时间

86400 ; 最小TTL

)

@ IN NS www.example.com. # 主DNS服务器

www IN A 192.168.1.100 ; 正向解析核心记录

vim /var/named/192.168.1.rev.zone

$TTL 86400

@ IN SOA www.example.com. admin.example.com. (

2026012601

3600

1800

604800

86400

)

@ IN NS www.example.com.

100 IN PTR www.example.com. # 反向解析核心记录(192.168.1.100 → www.example.com

chown named:named /var/named/example.com.zone chown named:named /var/named/192.168.1.rev.zone chmod 640 /var/named/example.com.zone chmod 640 /var/named/192.168.1.rev.zone

systemctl enable --now named

systemctl status named

vim /etc/named.conf

options {

listen-on port 53 { 127.0.0.1; 192.168.1.101; };

allow-query { localhost; 192.168.1.0/24; };

recursion yes;

};

正向解析(从服务器)

zone "example.com" IN {

type slave; # 从DNS服务器(需求3)

file "slaves/example.com.zone"; # 同步文件存放路径

masters { 192.168.1.100; }; # 指向主DNS服务器

};

反向解析(从服务器)

zone "1.168.192.in-addr.arpa" IN {

type slave;

file "slaves/192.168.1.rev.zone";

masters { 192.168.1.100; };

};

systemctl enable --now named

ls /var/named/slaves/

mkdir -p /u01/www

echo "<h1>Welcome to www.example.com:9093</h1>" > /u01/www/index.html

chown -R nginx:nginx /u01/www

chmod -R 755 /u01/www

vim /etc/nginx/conf.d/example.conf

server {

listen 9093; # 监听9093端口(需求4)

server_name www.example.com; # 绑定主机名(需求1)

root /u01/www; # 网页根目录(需求5)

index index.html index.htm;

日志配置(可选)

access_log /var/log/nginx/example_access.log;

error_log /var/log/nginx/example_error.log;

location / {

try_files uri uri/ =404;

}

}

nginx -t

systemctl enable --now nginx

semanage fcontext -a -t httpd_sys_content_t "/u01/www(/.*)?"

restorecon -Rv /u01/www

semanage port -a -t http_port_t -p tcp 9093

getenforce

firewall-cmd --permanent --add-port=53/tcp

firewall-cmd --permanent --add-port=53/udp

firewall-cmd --permanent --add-port=9093/tcp

firewall-cmd --permanent --add-port=22/tcp

firewall-cmd --reload

firewall-cmd --list-ports

systemctl enable named nginx firewalld

systemctl list-unit-files | grep -E "named|nginx|firewalld"

nslookup www.example.com

nslookup 192.168.1.100

reboot

systemctl status named nginx firewalld

3.实验结果

相关推荐
Miracle&2 小时前
在Linux VirtualBox中安装系统失败
linux·运维·服务器
ShoreKiten2 小时前
ctfshow-web316
运维·服务器·前端
网硕互联的小客服2 小时前
WIN系统和liunx系统如何构建自动化安全运维(DevSecOps)流程?
运维·自动化
hweiyu002 小时前
Linux 命令:ar
linux·运维
切糕师学AI2 小时前
DevOps是什么?
运维·devops
江畔何人初3 小时前
理解容器挂载点
linux·运维·云原生
YMWM_3 小时前
cursor连接Ubuntu远程
linux·运维·ubuntu
Python-AI Xenon3 小时前
RHEL/CentOS 7.9环境中离线安装Telnet服务完整指南
linux·运维·telnet·rhel7.9
Trouvaille ~3 小时前
【Linux】进程信号(三):信号捕捉与操作系统运行原理
linux·运维·服务器·c++·操作系统·信号·中断