如何用 DHCP + DNS + Web 实现一个网络架构

为什么?为什么?为什么在浏览器里输入www.baidu.com就可以访问百度搜索,而输入pan.baidu.com就可以访问百度网盘,它是怎么实现的?
实验原理简介
在Internet中,计算机之间通过ip地址访问。当我们将PC连接到互联网时,上游的DHCP服务器会分给PC一个ip地址,同时也会告诉它DNS服务器的ip地址,当访问www.baidu.com时,PC将www.baidu.com这个网址发送给DNS服务器,然后DNS服务器将它查询到的web服务器ip地址返回给PC,最后通过访问这个ip地址访问到web服务器,从而得到网站内容。
实验过程简介
通过使用VMware Workstation模拟上面的环境,搭建三台服务器,分别是DHCP、DNS、Web服务器,系统使用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 实现一个网络架构的更多相关文章
- 无线安全: 通过伪AP进行DHCP+DNS劫持的钓鱼攻击
有了之前学习802.11的数据帧格式.芯片硬件参数学习的基础后,我们接下来继续学习无线安全中黑客是怎样进行流量劫持攻击的 相关学习资料 http://www.freebuf.com/articles/ ...
- Linux就这个范儿 第12章 一个网络一个世界
Linux就这个范儿 第12章 一个网络一个世界 与Linux有缘相识还得从一项开发任务说起.十八年前,我在Nucleus OS上开发无线网桥AP,需要加入STP生成树协议(SpanningTree ...
- Linux基础二(修改ip地址、修改网关、修改DNS服务器、重新启动网络配置)
网络的初始化 .ip地址的修改(临时生效) 使用ifconfig命令 ifconfig 网卡名 ip地址 netmask 子网掩码 [root@localhost /]# ifconfig eth1 ...
- 如何理解AWS 网络,如何创建一个多层安全网络架构
目录 一.要求 网络架构图 网络各组件关系 二.操作步骤 2.1.网络设置 2.2.安全设置 2.3.创建实例 三.费用 3.1.NAT 网关费用 一.要求 创建一个三层网络架构,服务器只能通过跳板机 ...
- jmeter 建立一个网络服务的测试计划
如何创建一个 测试计划 测试一个网络服务. 你会 创建5个用户发送请求到一页. 同时,你会告诉用户运行测试两次. 的总数 请求用户请求(5)x(1)x(重复2次)= 10 HTTP请求. 来 建立测试 ...
- 如何用 Parse 和 Swift 搭建一个像 Instagram 那样的应用?
[编者按]本篇文章作者是Reinder de Vries,既是一名企业家,也是优秀的程序员,发表多篇应用程序的博客.本篇文章中,作者主要介绍了如何基于Parse特点,打造一款类似Instagram的应 ...
- 思科恶意加密TLS流检测论文记录——由于样本不均衡,其实做得并不好,神马99.9的准确率都是浮云啊,之所以思科使用DNS和http一个重要假设是DGA和HTTP C&C(正常http会有图片等)。一开始思科使用的逻辑回归,后面17年文章是随机森林。
论文记录:Identifying Encrypted Malware Traffic with Contextual Flow Data from:https://songcoming.github. ...
- 网关、子网掩码、DHCP, DNS
都跟ip地址相关,IP地址构成:网络地址+主机地址 子网掩码可以确定网络地址,例如某IP:192.168.1.102 子网掩码:255.255.255.0, 那么网络地址就是192.168.1,主机地 ...
- Android开发之使用Web Service进行网络编程
使用Web Service进行网络编程 Android应用通常都是执行在手机平台上.手机系统的硬件资源是有限的,无论是存储能力还是计算能力都有限.在Android系统上开发.执行一些单用户.小型应用是 ...
随机推荐
- DSCP 标
DSCP差分服务代码点(Differentiated Services Code Point).它在每个数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特,通过编码值来区分优 ...
- PAT-2019年冬季考试-甲级 7-2 Block Reversing (25分) (链表转置)
7-2 Block Reversing (25分) Given a singly linked list L. Let us consider every K nodes as a block ( ...
- win10专业版激活步骤
1.右键开始图标,选择[windows powershell(管理员)],或者命令提示符管理员: 2.打开命令窗口,复制这个命令slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T ...
- SDKMAN一个基于命令行界面的SDK用户环境管理程序
1.背景 使用过Python开发的朋友,应该了解到Python2和Python3语法的差异,有时候从网上下载了基于不同解释器的代码,要来回切换版本, 使用起来不是很方便,有时候甚至很麻烦.于是有人发明 ...
- LwIP应用开发笔记之六:LwIP无操作系统TCP客户端
上一篇我们基于LwIP协议栈的RAW API实现了一个TCP服务器的简单应用,接下来一节我们来实现一个TCP客户端的简单应用. 1.TCP简述 TCP(Transmission Control Pro ...
- eclipse 中的注释 快捷键 多行注释快捷键 单行注释快捷键
本文链接:https://blog.csdn.net/a0701302/article/details/76177244 Eclipse 中的两种注释方法: (1)多行注释 (2)单行注释 一. 多行 ...
- 为什么重写equals时一定要重写hashcode
我们开发时写一个类,默认继承Object类,Object类的equals方法是比较是否指向同一个对象(地址是否相同), Object类 的hashcode方法返回的对象内存地址的值, 一个类只重写了e ...
- 最常见的Java面试题及答案汇总(六)
异常 74. throw 和 throws 的区别? throws是用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理.而throw则是 ...
- git中配置的.gitignore不生效的解决办法
通常我们希望放进仓库的代码保持纯净,即不要包含项目开发工具生成的文件,或者项目编译后的临时文件.但是,当我们使用git status查看工作区状态的时候,总会提示一些文件未被track.于是,我们想让 ...
- mybatis一级二级缓存
一级缓存分析 不需要任何配置 ,mybatis本身带有 一级缓存是SqlSession范围的缓存,当调用SqlSession的修改,添加,删除,commit(),close()等方法时,就会清空一级缓 ...