【实战】DNS建设案例:

0.需求

目前我们在node2节点中已经有FTP服务器、NFS服务器, 同时大家需要在node1中部署一个tomcat服务器。 请对三个服务设置对应得域名,并基于DNS进行内网解析,从而实现基于域名访问,要求DNS服务器架设至node3, 配置后, 不管是在node1还是node2都可以基于此DNS进行访问

NFS服务器域名: nfs.itcast.local
FTP服务器域名: ftp.itcast.local
tomcat服务器域名: www.itcast.local


FTP服务器要求:
    1- 禁锢FTP目录: /export/ftp
    2- 禁止匿名用户访问,可以使用系统中任意存在用户访问即可
    3- 不管在服务器还是在windows中, 都可以直接使用域名的方式访问到ftp服务器
            windows中,建议使用filezilla.exe  软件来连接

NFS服务器:
    共享目录: /export/nfs

    要求 node1在挂载这个目录的时候,请使用域名方式进行挂载即可(测试 临时挂载即可)

1.准备工作

我们在进行这个综合案例的时候,需要准备3台主机,分别是node1,node2,node3 而node3的话,我们需要对node1克隆就可以得到了,开启这三台Linux主机就可以进行下一个步骤了

2.进行标准化的服务器配置

因为node1和node2的之前配置过了免密ssh登录,以及用主机名可以ping通,因此我们只需要对node3进行修改就可以了

ip: 192.168.149.129
主机名: node3.itcast.cn
hosts文件: 增加对node3的解析
免密配置:增加对node3的免密

1.修改ip

我们需要打开 vim /etc/NetworkManager/system-connections/ens33.nmconnection这个文件,然后把主机修改为129网段就可以了,随后,我们重启这个服务,并把网卡也重启一下,是配置生效在这里插入图片描述 这个是重启这个服务项 在这里插入图片描述 这个就是重启网卡这个服务了 在这里插入图片描述 最后我们查询一下,是否成功了呢 在这里插入图片描述 发现这修改是生效的

2.修改主机名

hostnamectl set-hostname node3

在这里插入图片描述

3.修改hosts文件

需要打开/etc/hosts文件然后输入以下内容

vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.149.128 node1 node1.itcast.cn
192.168.149.129 node3 node3.itcast.cn
192.168.149.130 node2 node2.itcast.cn

在这里插入图片描述

我们发现,这个也是显然成功的,hosts也是修改成功的·

4.免密配置

  • 1.生成公钥和私钥
ssh-keygen -f ~/.ssh/id_rsa -P '' -q
  • 2.分发公钥
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
  • node3测试一下

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

写到这一步,其实node3的相关配置就已经搞定了

3.实操流程

node1: 部署tomcat

node2:NFS 和 FTP

node3:DNS


新克隆的node3节点:
ip: 192.168.88.103
主机名: node3.itcast.cn
hosts文件: 增加对node3的解析
免密配置:增加对node3的免密

可选:
    安装vim
    安装EPEL库

4.在node1和node2中安装相关服务

1.node1上面安装相关软件

1.先在node1上面安装jdk软件包

tar -xzf jdk-26_linux-x64_bin.tar.gz -C /opt/

在这里插入图片描述 在这里插入图片描述

1.环境变量配置

打开/etc/profile文件,然后在里面追加以下内容


export JAVA_HOME=/opt/jdk-26.0.2
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH

在这里插入图片描述 然后我们保存文件,就可以

2.任意目录测试一下

输入以下内容进行测试

java -version
javac

在这里插入图片描述 我发现这个也是配置ok的,任意目录下都是可以正常访问的

2.最后安装tomcat服务器

1,从官网下载阿帕奇的tar的包

从下载的地方并把他上传到指定路径并解压 在这里插入图片描述

2.解压这个包

tar -xzf apache-tomcat-9.0.97.tar.gz -C /export/software

在这里插入图片描述

3.运行这个软件,并在浏览器查看

cd /export/software/bin
./startup.sh

然后浏览器输入node1对应的ip地址看一下是否ok 在这里插入图片描述 出现这个页面,显然是阿帕奇正常运行了

2.在node2安装相关软件

1.安装NFS

  • 服务端:
dnf install nfs-utils

在这里插入图片描述

  • 客户端:
dnf install nfs-utils

在这里插入图片描述

1.开启服务
systemctl enable nfs-server
systemctl start nfs-server

在这里插入图片描述

2.开放端口
执行开放端口:
firewall-cmd --add-service=nfs --permanent  # 核心, 有了这个, NFS即可使用共享操作
firewall-cmd --reload

在这里插入图片描述

3.创建共享目录
mkdir /export/nfs #这个需要在node1和node2中同时创建
4.修改配置文件
vi  /etc/exports

#文件内需要填写的内容
/export/nfs *(rw,sync,no_root_squash)

#填完之后,我们保存文件,并重启这个nfs服务即可

在这里插入图片描述

5.验证是否成功共享
#输入以下内容即可查看是否成功共享

服务端执行: 查看服务端NFS共享信息
showmount -e   (早期版本兼容)

exportfs

在这里插入图片描述

6.挂载使用
mount -t nfs 192.168.149.130:/export/software /export/software

在这里插入图片描述

7.验证
#经过验证是可以共享文件的

在这里插入图片描述 在这里插入图片描述

3安装ftp软件

1.创建文件夹
mkdir /etc/ftp #客户端与服务端都要创建这个文件夹

在这里插入图片描述

2.安装软件
  • 服务端的软件安装

dnf install vsftpd -y

在这里插入图片描述

  • 客户端软件安装
dns install lftp -y

在这里插入图片描述

3.修改配置
vi /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
local_root=/export/ftp

#修改完配置文件,之后我们重启服务即可了

在这里插入图片描述

4.启动并配置 vsftpd 服务
systemctl start vsftpd
systemctl enable vsftpd

在这里插入图片描述

5.配置防⽕墙
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

在这里插入图片描述

6.连接FTP服务器
#在node2上面新增一个账户
 useradd ftp_user
 passwd ftp_user

在这里插入图片描述

lftp ftp://ftp_user:123456@192.168.149.130

在这里插入图片描述 我们做到这里,其实node1和node2都已经搞定了,只剩下给node3配dns了,并且我们给node1和node2配的都是没有任何问题的,可以正常的使用

5.在node3中配置dns服务器

注意这里其实和上一个博客内容重复了,我只把不一样的写出来 首先呢,下载方式一样,操作流程一样,只不过是文件内容修改的不一样 前提是我们需要的根域名是itcast.local,其下的域名是www.itcast.local;nfs.itcast.local;ftp.itcast.local; 因此我们在正向文件,反向文件声明都要修改,以及正方向文件内容也要改

1.修改named.conf这个文件

在这里插入图片描述 在这里插入图片描述

2.修改vi /etc/named.rfc1912.zones

向文件尾部追加俩条记录

zone "itcast.local" IN {
    type master;
    file "/var/named/itcast.local.db";
    allow-update { none; };
};
zone "149.168.192.in-addr.arpa" IN {
    type master;
    file "/var/named/192.168.149.rev";
    allow-update { none; };
};

在这里插入图片描述

3.修改/var/named/itcast.local.db


$TTL 86400
@    IN    SOA   ns1.itcast.local. admin.itcast.local. (
                  2024011701 ; Serial
                  3600       ; Refresh
                  1800       ; Retry
                  1209600    ; Expire
                  86400 )    ; Minimum TTL

     IN    NS    ns1.itcast.local.
ns1    IN    A     192.168.149.129
nfs    IN    A     192.168.149.130
ftp    IN    A     192.168.149.130
www    IN    A     192.168.149.128
@      IN    A     192.168.149.128

在这里插入图片描述

4.修改/var/named/192.168.149.rev文件

$TTL 86400
@    IN    SOA   ns1.itcast.local. admin.itcast.local. (
                  2024011701 ; Serial
                  3600       ; Refresh
                  1800       ; Retry
                  1209600    ; Expire
                  86400 )    ; Minimum TTL

     IN    NS    ns1.itcast.local.
129    IN    PTR   dns
130    IN    PTR   nfs
130    IN    PTR   ftp
128    IN    PTR   www
128    IN    PTR   @

在这里插入图片描述

5.检测

# 配置文件语法检查
named-checkconf /etc/named.conf


如果报了错误, 一般都是由于配置文件丢失内容导致语法结构不对, 请检查配置文件
/etc/named.conf  【大概率是该文件的问题】
/etc/named.rfc1912.zones

在这里插入图片描述

# 区域文件语法检查
named-checkzone internal.local /var/named/internal.local.db
named-checkzone 88.168.192.in-addr.arpa /var/named/192.168.88.rev

在这里插入图片描述 在这里插入图片描述

6.启动服务以及开放端口

systemctl start named  -- 立即启动
systemctl enable named  -- 开启自动启动
systemctl status named  -- 查看状态

在这里插入图片描述

firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-port=53/tcp --permanent
firewall-cmd --reload


或者:
firewall-cmd --zone=public --add-service=dns --permanent
firewall-cmd --reload

# 查看规则信息:
firewall-cmd --list-all

在这里插入图片描述

6.测试操作

把node1和node2的dns记录第一条改成node3的IP地址就可以了 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

6.总结

这个案例综合性的把之前学到的各种服务器都运用到了,综合度确实高,把之前学到的nfs,ftp,dns都用上了,同时也加深了对于这些内容的认识,其实我觉得,这些东西要多练习,即使会,但是还是要练习,有时候确实会多练习几遍明白一些东西,比如这次,其实我没有想到只有域名解析功能的dns可以如此组合,把node1和node2的ip放在node3里面,这样就可以通过访问其设定的域名来访问对应的服务了. 在 node3 部署 BIND 做内网 DNS,统一解析 Tomcat (www)、NFS 和 FTP (nfs/ftp),实现了全集群基于 itcast.local 域名的服务访问,打通了 Web、存储与文件传输三大基础服务。 核心注意点: 1. NFS 挂载要用域名 (nfs.itcast.local),别只用 IP。 2. FTP 禁锢目录需配 allow_writeable_chroot=YES。 3. DNS 指向要写进网卡配置,防止重启失效。 4. JDK/FTP 仅限内网实验,生产环境建议换 LTS JDK 和 SFTP。