为什么?为什么?为什么在浏览器里输入www.baidu.com就可以访问百度搜索,而输入pan.baidu.com就可以访问百度网盘,它是怎么实现的?


实验原理简介

Internet中,计算机之间通过ip地址访问。当我们将PC连接到互联网时,上游的DHCP服务器会分给PC一个ip地址,同时也会告诉它DNS服务器的ip地址,当访问www.baidu.com时,PCwww.baidu.com这个网址发送给DNS服务器,然后DNS服务器将它查询到的web服务器ip地址返回给PC,最后通过访问这个ip地址访问到web服务器,从而得到网站内容。


实验过程简介

通过使用VMware Workstation模拟上面的环境,搭建三台服务器,分别是DHCPDNSWeb服务器,系统使用Windows Server 2016,然后再使用一台Win10客户机对实验结果进行验证。


开始实验

虚拟机信息

网络全部设置为仅主机模式,并且关闭DHCP,避免与即将建立的DHCP服务器产生冲突。

设定主机名和IP地址

主机名 IP地址
DHCP-SERVER 192.168.100.11
DNS-SERVER 192.168.100.12
WEB-SERVER 192.168.100.13
WIN-CLIENT DHCP

服务配置

首先再服务器管理器内添加需要的角色和功能,然后打开对应服务的管理器进行服务配置。

配置 Web 服务器

  • 服务器管理器 → 管理 → 添加角色和功能 → 安装Web服务

  • 创建网站所需文件

C:\Users\Administrator>cd ..\..

C:\>mkdir web\baidu\search web\baidu\pan

C:\>echo "<h1>This is baidu search !</h1>" > web\baidu\search\index.html

C:\>echo "<h1>This is baidu pan !</h1>" > web\baidu\pan\index.html
  • 开始 → Windows管理工具 → IIS 管理器 → 添加网站

  • 添加的网站信息

Web服务配置完成

配置 DNS 服务器

  • 服务器管理器 → 管理 → 添加角色和功能 → 安装DNS服务

  • 开始 → Windows管理工具 → DNS 管理器 → 新建正向查找区域

  • 新建区域向导

  • 区域内新建主机

  • 主机记录新建完成

DNS服务配置完成

配置 DHCP 服务器

  • 服务器管理器 → 管理 → 添加角色和功能 → 安装DHCP服务

  • 开始 → Windows管理工具 → DHCP → 新建IPv4作用域

  • 新建作用域向导

DHCP服务配置完成


结果验证

打开WIN-CLIENT客户机,自动获取ip地址,然后访问网站。

  • 自动获取ip地址

  • 查看所有ip信息

ipconfig /renew         #重新获取ip地址

ipcomfig /all           #查看所有ip信息
  • 访问结果www.baidu.com

  • 访问结果pan.baidu.com

实现使用不同主机名访问不同网站。


一些想法

这篇是基于Windows Server的,以后或许还会写一篇Linux版的。

如何用 DHCP + DNS + Web 实现一个网络架构的更多相关文章

  1. 无线安全: 通过伪AP进行DHCP+DNS劫持的钓鱼攻击

    有了之前学习802.11的数据帧格式.芯片硬件参数学习的基础后,我们接下来继续学习无线安全中黑客是怎样进行流量劫持攻击的 相关学习资料 http://www.freebuf.com/articles/ ...

  2. Linux就这个范儿 第12章 一个网络一个世界

    Linux就这个范儿 第12章 一个网络一个世界 与Linux有缘相识还得从一项开发任务说起.十八年前,我在Nucleus  OS上开发无线网桥AP,需要加入STP生成树协议(SpanningTree ...

  3. Linux基础二(修改ip地址、修改网关、修改DNS服务器、重新启动网络配置)

    网络的初始化 .ip地址的修改(临时生效) 使用ifconfig命令 ifconfig 网卡名 ip地址 netmask 子网掩码 [root@localhost /]# ifconfig eth1 ...

  4. 如何理解AWS 网络,如何创建一个多层安全网络架构

    目录 一.要求 网络架构图 网络各组件关系 二.操作步骤 2.1.网络设置 2.2.安全设置 2.3.创建实例 三.费用 3.1.NAT 网关费用 一.要求 创建一个三层网络架构,服务器只能通过跳板机 ...

  5. jmeter 建立一个网络服务的测试计划

    如何创建一个 测试计划 测试一个网络服务. 你会 创建5个用户发送请求到一页. 同时,你会告诉用户运行测试两次. 的总数 请求用户请求(5)x(1)x(重复2次)= 10 HTTP请求. 来 建立测试 ...

  6. 如何用 Parse 和 Swift 搭建一个像 Instagram 那样的应用?

    [编者按]本篇文章作者是Reinder de Vries,既是一名企业家,也是优秀的程序员,发表多篇应用程序的博客.本篇文章中,作者主要介绍了如何基于Parse特点,打造一款类似Instagram的应 ...

  7. 思科恶意加密TLS流检测论文记录——由于样本不均衡,其实做得并不好,神马99.9的准确率都是浮云啊,之所以思科使用DNS和http一个重要假设是DGA和HTTP C&C(正常http会有图片等)。一开始思科使用的逻辑回归,后面17年文章是随机森林。

    论文记录:Identifying Encrypted Malware Traffic with Contextual Flow Data from:https://songcoming.github. ...

  8. 网关、子网掩码、DHCP, DNS

    都跟ip地址相关,IP地址构成:网络地址+主机地址 子网掩码可以确定网络地址,例如某IP:192.168.1.102 子网掩码:255.255.255.0, 那么网络地址就是192.168.1,主机地 ...

  9. Android开发之使用Web Service进行网络编程

    使用Web Service进行网络编程 Android应用通常都是执行在手机平台上.手机系统的硬件资源是有限的,无论是存储能力还是计算能力都有限.在Android系统上开发.执行一些单用户.小型应用是 ...

随机推荐

  1. linux安装redis时报collect2: fatal error: cannot find 'ld'和In file included from adlist.c:34:0:

    如题,看了下该ld命令所在文件: [root@centos redis-]# whereis ld ld: /usr/bin/ld.gold /usr/bin/ld /usr/bin/ld.bfd / ...

  2. cisco 交换机设置时区、时间、同步日志本地时间

    Core-Switch-1#show clockCore-Switch-1#show ntp statusCore-Switch-1#conf tCore-Switch-1(config)# cloc ...

  3. ubuntu 各压缩文件解压命令大全

    .tar 解包:tar xvf xxx.tar 打包:tar cvf xxx.tar DirName (注:tar是打包,不是压缩!) .gz 解压1:gunzip FileName.gz 解压2:g ...

  4. 如何将本地jar包放入本地maven仓库和远程私服仓库

    1.将本地jar包放入本地仓库.只需执行如下命令即可: mvn install:install-file -Dfile=D:/demo/fiber.jar -DgroupId=com.sure -Da ...

  5. bat文件重命名指定路径下文件

    ren "E:\产品\Planning\C1-Planning11\C1-Planning11\target\123" 456 此命令是将文件123重命名为456 注意:456是文 ...

  6. [ARM-Linux开发] 嵌入式 linux如何生成ko文件

    hello.c文件如下 驱动程序: #include <Linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件. #include <asm ...

  7. 【LOJ502】[LibreOJ β Round] ZQC 的截图 (随机化)

    真的是神仙题目啊-- 题目 LOJ502 官方题解 我认为官方题解比我讲得好. 分析 这是一道蒙特卡洛算法的好题 上面那个奇奇怪怪的词是从官方题解里看到的,意思大概就是随机化算法 -- ? 一句话题意 ...

  8. 2019最新版Java程序员零基础入门视频教程资料(全套)

    为了解决Java学习初学者在网上找视频难的事情,本人整理了一份2019年度最新版的Java学习视频教程.希望看到这份视频的你们都能找到一份称心的工作,技术上都能得到进一步的提升,好东西就要分享给你们, ...

  9. java 字符串转json,json转实体对象、json字符串转换成List、List转String、以及List排序等等...

    @RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST) @Resp ...

  10. BJFU—214基于链式存储结构的图书信息表的创建和输出

    #include<stdio.h>#include<stdlib.h>#define MAX 100 typedef struct bNode{ double no; char ...