DNS域名解析与Web服务

一、DNS 域名解析

1、概念:

(1) DNS:

DNS(Domain Name System)是一种用于将可读的域名(如www.baidu.com)转换为计算机可理解的IP地址(如192.168.1.1)的分布式命名系统,它使用户能够通过的域名访问网站而不是记住复杂的IP地址。

(2) 计算机种类的名称:主机名、全称域名

● 主机名与全称域名的比较:

① 主机名(Hostname):

主机名是计算机或设备在本地网络内的名称,通常用于在局域网中唯一标识设备,它通常是一个相对简单的名称,不包含完整的域名结构;

② 全称域名(Fully Qualified Domain Name,FQDN):

全称域名是一个完整的、全球唯一的域名标识符,,它包括主机名、子域名、二级域名、顶级域名等,例如 "www.baidu.com"FQDN 主要用于将可读的域名映射到IP地址,以便在全球互联网上找到特定的计算机或服务器。

(3) DNS 工作流程:

① 域名查询请求:

在Web浏览器或其他网络应用程序中输入一个域名时,计算机首先会将该请求发送给本地 DNS 服务器。

② 本机 DNS 解析器查询:

本机DNS解析器会首先检查自己的缓存,则解析器会直接返回IP地址 ;如果没有缓存或缓存过期,本地DNS解析器会向本地DNS服务器发送DNS查询请求。

③ 本地 DNS 服务器查询:

本地 DNS 服务器由本地的互联网服务提供商提供,当本地 DNS 服务器接收到查询请求后,会检查自己的缓存,看是否有该域名的解析结果。如果有,它会返回IP地址给本机 DNS 解析器;如果没有缓存或缓存过期,它将启动DNS解析过程。

④ DNS解析过程:

本地DNS服务器首先向根域DNS服务器发送查询请求,询问它关于顶级域(如.com、.org)的信息,然后继续向二级域DNS服务器发送查询请求,直到获取到最终的目标域名的IP地址。

2、DNS 服务器的配置:

(1) 安装 DNS 服务器:

yum install -y bind

bind(Berkeley Internet Name Domain)是一款广泛使用的开源DNS服务器软件,允许在 Linux 系统上配置和运行DNS服务器。

(2) 配置 DNS 服务器:

vim /etc/named.conf

这个配置文件包括了DNS服务器的设置、区域配置、日志设置等。

options {

        listen-on port 53 { 监听服务器的 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";

        secroots-file "/var/named/data/named.secroots";

        recursing-file "/var/named/data/named.recursing";

        allow-query { any; };

① listen-on port 53 { 监听服务器的 IP; };

listen-on 主要关注DNS服务器监听的接口和端口,以确定它在哪些网络接口上等待查询请求:

● port 53 表示 DNS 服务器将监听标准 DNS 服务端口,即 53 端口。

● { 监听服务器的 IP; } 指定了允许的监听 IP 地址,这个用于限制 DNS 服务器只接受特定接口上的DNS查询请求。

② allow-query { any; };

allow-query 主要关注DNS服务器允许哪些客户端发送查询请求,以确定查询请求的源IP地址范围:

{ any; } 表示允许任何 IP 地址的客户端进行查询,意味着所有客户端都可以向该 DNS 服务器发送查询请求。

DNS域名解析与Web服务_第1张图片

(3) DNS 区域文件配置:

vim /etc/named.rfc1912.zones

这个文件用于私有网络或内部域的DNS配置,这些区域的配置包括域名、区域类型、文件路径等。

① 配置示例:

● 正向区域:配置用于将域名解析为IP地址的正向区域

zone "example.com" IN {

        type master;

        file "example.com.zone";

};

● 反向区域:配置用于将IP地址解析为域名的反向区域

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

        type master;

        file "192.168.1.zone";

};

② 本实验配置:

zone "48.cn" IN {

        type master;

        file "48.cn.zone";

        allow-update { none; };

};

● file "48.cn.zone":48.cn.zone 是区域数据文件的文件名,区域数据文件是DNS服务器用来存储特定DNS区域(Zone)中的域名记录的文本文件,这些文件包含了将域名映射到IP地址以及其他DNS信息的记录。

DNS域名解析与Web服务_第2张图片

(4) 编辑区域数据文件:

在 /var/named 下将一个空的区域数据文件命名为 48.cn.zone

cd /var/named

cp -p named.empty 48.cn.zone

vim 48.cn.zone

$TTL 3H

@  IN  SOA  @  root.48.cn. (

                 0 ; serial

                1D ; refresh

                1H ; retry

                1W ; expire

                3H ) ; minimum

      NS  @

      A 192.168.48.100

www  IN  A  192.168.48.100

● root.48.cn:指定当前区域的管理员为 root,根域名为 48.cn;

● A 192.168.48.100 ;www IN A 192.168.48.100:

将192.168.48.100这个ip地址与根域名和子域名相关联。

DNS域名解析与Web服务_第3张图片

(5) 启动 DNS 服务器:

systemctl start named

systemctl enable named

systemctl stop firewalld

● 客户端测试:

客户端配置DNS服务器:

DNS域名解析与Web服务_第4张图片

关闭防火墙,ping 域名:

DNS域名解析与Web服务_第5张图片

二、Web 服务

1、概念:

Web(World Wide Web)是一种信息传递系统,它基于互联网(Internet)技术,允许用户在全球范围内访问和浏览文本、图像、音频、视频等多种类型的数据。

常见的 web 服务器:apache、nginx、tomcat

2、web 站点的建立:

(1) 安装 apache:

yum install -y apache

systemctl start apache

systemctl enable apache

apache 的默认页面:

DNS域名解析与Web服务_第6张图片

(2) 配置 apache 服务:

① 编写网站源码文件:

mkdir /www/48 -p:递归创建网站根目录

配置主页文件,当访问 www.48.cn 时,页面显示48,而不是 apache 默认页面

vim /www/48/index.html

② 编写网站配置文件:

vim /etc/httpd/conf.d/48.conf

DocumentRoot /www/48

ServerName www.48.cn

● DocumentRoot:网站根目录;ServerName:网站配置的域名

Require all granted

:定义网页配置规则的应用路径

● Require all granted:指定这个目录的访问权限,"all"表示允许所有用户访问这个目录。

DNS域名解析与Web服务_第7张图片

(3) 测试网页访问效果(关闭防火墙和 selinux):

systemctl restart httpd

systemctl stop firewalld

setenforce 0

客户机访问 www.48.cn:

DNS域名解析与Web服务_第8张图片

(4) 防火墙和 Selinux 启动的配置:

开启防火墙和SELinux有助于提高 Linux 系统的安全性,减少潜在的风险和威胁。

① 防火墙配置:

systemctl start firewalld

firewall-cmd --add-service=http --permanent

firewall-cmd --add-service=dns --permanent

● firewall-cmd: 这是 Firewalld 的命令行工具,用于管理防火墙规则;

● --add-service=http: 告诉Firewalld要添加一个名为"http"的服务,通常对应HTTP协议(端口80)的通信 ;

● --add-service=dns: 添加一个名为"dns"的服务,通常对应DNS协议(端口53)的通信;

● --permanent: 将这个规则永久保存到防火墙配置中,以便在系统重启后保留。

DNS域名解析与Web服务_第9张图片

② selinux 配置:

chcon -t httpd_sys_content_t /www -R

● chcon:change context,是一个用于更改文件或目录的SELinux安全上下文的命令;

● -t httpd_sys_content_t:"httpd_sys_content_t" 是一个SELinux安全上下文类型,通常用于将文件或目录标记为Apache HTTP服务器(httpd)的内容。这表明"/www"及其内容将被视为Web服务器的内容,以便Apache可以访问这些文件;

● -R:表示递归地为目录及其子目录设置相同的安全上下文。

查看网页访问效果:

DNS域名解析与Web服务_第10张图片

你可能感兴趣的:(Linux,前端,dns,apache,http,web)