当前位置: 首页 > news >正文

Linux综合练习(dns,dhcp,nfs,web)

Linux综合练习(dns,dhcp,nfs,web)

一、实验需求

1、实验拓扑

在这里插入图片描述

2、实验配置参数
主机名IP地址网关网卡模式
appsrvexample.com192.168.100.10192.168.100.254NAT
storagesrv.example.com192.168.100.20192.168.100.254NAT
toutersrv.example.com192.168.100.254192.168.100.254NAT
192.168.0.254192.168.0.254仅主机
client.example.comDHCP获取仅主机
3、实验需求
  1. APPSRV

    • DNS

      • 部署主 DNS 服务器
      • 为 example.com 域提供域名解析
    • DHCP

      • 为 client 客户端网络分配地址,地址池范围为:192.168.0.110-192.168.0.190/24

      • 域名解析服务器:按照实际需求配置DNS服务器地址选项

      • 按照实际需求配置网关地址选项

    • WEB

      • DocumentRoot 为 /luoqi
      • 要求通过 http://www.example.com 能够成功访问该站点,内容为 welcome to luoqi
  2. STORAGESRV

    • NFS
      • 共享 /webdata 目录
      • 用于存储 appsrv 主机的 web 数据
      • 仅允许 appsrv 主机访问该共享
  3. ROUTERSRV

    • ROUTE
      • 开启路由转发,为当前实验环境提供路由功能
    • DHCP
      • 安装 DHCP 中继
      • 允许客户端通过中继服务获取网络地址
4、实验验证
  1. 在 storagesrv 使用 nslookup 命令解析 www.example.com ,并截图
  2. 在 client 中的网卡的配置文件,并截图
  3. 在 client 中执行 ip a show ens33 命令,并截图
  4. 在 appsrv 中执行 df -Th 命令,并截图
  5. 在 storagesrv 中执行 cat /etc/exports ,并截图
  6. 在 storagesrv 中使用命令 curl http://www.example.com ,并截图

二、实验步骤

前提:

关闭防火墙和selinux

systemctl stop firewalld.service
systemctl disable firewalld.servicevim /etc/selinux/configSELINUX=disabled
1、DHCP
  1. 按照需求配置好主机名和网络配置参数

  2. 在 APPSRV 上配置 DHCP 服务器

    [root@appsrv ~] yum -y install dhcp
    [root@appsrv ~] cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    [root@appsrv ~] vim /etc/dhcp/dhcpd.confsubnet 192.168.100.0 netmask 255.255.255.0 {}# A slightly different configuration for an internal subnet.subnet 192.168.0.0 netmask 255.255.255.0 {range 192.168.0.110 192.168.0.190;#  option domain-name-servers ns1.internal.example.org;#  option domain-name "internal.example.org";option routers 192.168.0.254;#  option broadcast-address 10.5.5.31;default-lease-time 600;max-lease-time 7200;}[root@appsrv ~] systemctl restart dhcpd
    [root@appsrv ~] systemctl enable dhcpd
    
  3. 在 ROUTERSRV 上配置 DHCP 中继器

    [root@toutersrv ~] vim /etc/sysctl.confnet.ipv4.ip_forward = 1dhcrelay 192.168.100.10
    
  4. 修改 client 网卡配置文件

    [root@client ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO=dhcp
    
2、DNS
  1. 在 APPSRV 上配置 DNS主服务器

    [root@appsrv ~] yum -y install bind-chroot
    [root@appsrv ~] vim /etc/named.conflisten-on port 53 { any; };listen-on-v6 port 53 { any; };allow-query     { any; };[root@appsrv ~] vim /etc/named.rfc1912.zoneszone "example.com" IN {type master;file "yyh.com";allow-update { none; };};zone "100.168.192.in-addr.arpa" IN {type master;file "com.yyh";allow-update { none; };};[root@appsrv ~] cd /var/named/
    [root@appsrv named] cp -p named.localhost yyh.com
    [root@appsrv named] cp -p named.empty com.yyh
    [root@appsrv named] vim yyh.com$TTL 1D@       IN SOA  appsrv.example.com. root.example.com. (2025082301      ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      appsrv.example.com.appsrv  IN      A       192.168.100.10[root@appsrv named] vim com.yyh$TTL 3H@       IN SOA  appsrv.example.com. root.example.com. (2025082301      ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      appsrv.example.com.10      IN      PTR     appsrc.example.com.[root@appsrv ~] systemctl restart named
    [root@appsrv ~] systemctl enable named
    
  2. 在 STORAGESRV 上修改网卡配置文件

    [root@storagesrv ~] vim /etc/sysconfig/network-scripts/ifcfg-ens33DNS1=192.168.100.10[root@storagesrv ~] systemctl restart network
    
3、NFS
  1. 在 STORAGESRV 上配置 NFS 服务器

    [root@storagesrv ~] yum -y install nfs-utlis rpcbind
    [root@storagesrv ~] mkdir /webdata
    [root@storagesrv ~] chmod 0+w /webdata/
    [root@storagesrv ~] vim /etc/exports/webdata 192.168.100.10/24(rw)[root@storagesrv ~] systemctl restart rpcbind
    [root@storagesrv ~] systemctl enable rpcbind
    [root@storagesrv ~] systemctl restart nfs-server
    [root@storagesrv ~] systemctl enable nfs-server
    
  2. 在 APPSRV 上挂载

    [root@appsrv ~] mkdir /luoqi
    [root@appsrv ~] vim /etc/fstab192.168.100.20:/webdata /luoqi nfs defaults,rw 0 0[root@appsrv ~] mount -a
    
4、WEB
  1. 在 APPSRV 上配置虚拟主机

    [root@appsrv ~] echo welcome to luoqi > /luoqi/index.html
    [root@appsrv ~] yum -y install httpd
    [root@appsrv ~] cp -p /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/
    [root@appsrv ~] vim /etc/httpd/conf.d/httpd-vhosts.conf<VirtualHost 192.168.100.10:80>DocumentRoot "/luoqi"ServerName www.example.com<Directory "/luoqi">AllowOverride None# Allow open access:Require all granted</Directory></VirtualHost>[root@appsrv ~] vim /var/named/yyh.comwww     IN      A       192.168.100.10[root@appsrv ~] vim /etc/sysconfig/network-scripts/ifcfg-ens33DNS1=192.168.100.10systemctl restart httpd
    systemctl restart named
    systemctl restart network
    
5、验证
  1. 在 storagesrv 使用 nslookup 命令解析 www.example.com ,并截图

    在这里插入图片描述

  2. 在 client 中的网卡的配置文件,并截图

    在这里插入图片描述

  3. 在 client 中执行 ip a show ens33 命令,并截图

    在这里插入图片描述

  4. 在 appsrv 中执行 df -Th 命令,并截图

  5. 在 storagesrv 中执行 cat /etc/exports ,并截图

    在这里插入图片描述

  6. 在 storagesrv 中使用命令 curl http://www.example.com ,并截图

    在这里插入图片描述

http://www.dtcms.com/a/348204.html

相关文章:

  • Spring Boot 中 @Controller与 @RestController的区别及 404 错误解析
  • 【嵌入式汇编基础】-数据处理指令(二)
  • VSCode+Qt+CMake详细地讲解
  • VSCode无权访问扩展市场
  • QT面试题总结(持续更新)
  • Java的IO流和IO流的Buffer包装类
  • Postman参数类型、功能、用途及 后端接口接收详解【接口调试工具】
  • 单链表:数据结构中的高效指针艺术
  • Shell脚本-until应用案例
  • C/C++数据结构之循环链表
  • Dify 部署+deepseek+python调用(win11+dockerdesktop)
  • 大数据、hadoop、爬虫、spark项目开发设计之基于数据挖掘的交通流量分析研究
  • 【运维进阶】case、for、while、until语句大合集
  • rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(十七)设置主题
  • CF757F 题解
  • SO_REUSEADDR
  • RuoYi-Vue3项目中Swagger接口测试404,端口问题解析排查
  • 【力扣】2623. 记忆函数——函数转换
  • 硬件抽象层 (HAL, Hardware Abstraction Layer)的简单使用示例
  • 邮箱创建时间打标与自动删除功能设计思路
  • UML时序图中opt,alt,switch-case的问题
  • 用户和组笔记
  • pion/webrtc v4.1.4 版本发布:关键特性与性能优化全面解析
  • 网络协议UDP、TCP
  • maven私服架构
  • Axure RP 9 交互原型设计(Mac 中文)
  • 【实习总结】快速上手Git:关键命令整理
  • 目标检测数据集 第007期-基于yolo标注格式的茶叶病害检测数据集(含免费分享)
  • 深度剖析Spring AI源码(一):蓝图初探,项目结构与设计哲学
  • 【嵌入式开发 Linux 常用命令系列 8 -- git checkout 解冲突详细介绍】