(1)Linux网络配置原理图
Linux虚拟机与www.baidu.com通信的基本流程如下:
- 用户在Linux虚拟机上(IP地址为192.168.2.131)的浏览器中输入www.baidu.com并按下回车键,发起对该网站的访问请求。
- 查找默认网关:虚拟机知道它需要通过默认网关NAT路由器(IP地址192.168.2.2)来访问外部网络。因此,它首先将HTTP请求封装在一个TCP包内,并指定目的地址为www.baidu.com的域名。
- DNS查询:由于www.baidu.com是一个域名而非IP地址,虚拟机发送DNS查询请求给vmnet8的DHCP服务器(IP地址为192.168.2.1)处理,并可能转发到本地主机的DNS缓存、无线网卡所连接的教室局域网内的DNS服务器,甚至更远的公共DNS服务器,以解析出www.baidu.com对应的IP地址。
- 获取IP地址并路由:DNS解析成功后,虚拟机获得了www.baidu.com的IP地址。此时,请求数据包会通过NAT处理的vmnet8迷你网络,再经由本地主机的无线网卡(IP地址192.168.101.8)进入教室局域网。
- 穿越多层网络:在教室局域网中,数据包会被转发到连接外部互联网的出口路由器(局域网的默认网关),通过一系列的路由,最终达到www.baidu.com所在的服务器。
- 响应与返回路径:当www.baidu.com服务器收到请求并处理后,它会将响应数据(例如网页内容)封装在TCP包中,通过互联网反向路由回到教室局域网,再经过无线网卡到达vmnet8,最后传输给发起请求的Linux虚拟机。
- 数据接收与显示:Linux虚拟机接收到响应数据包后,对其进行解封装,浏览器解析数据内容并渲染页面,最终用户看到www.baidu.com的主页。
想象一下,你的计算机(Windows主机)是一个房间,而Linux虚拟机是这个房间里的一台小电脑。为了让这台小电脑(虚拟机)能够上网,你需要通过某种方式把它连接到房间外的互联网世界。 VMware在这里扮演了一个“路由器”的角色,它在你的房间里创建了一个“迷你网络”(也就是VMnet8网络,IP范围是192.168.2.0/24)。这个迷你网络里有两个重要的设备: 1. DHCP服务器(地址192.168.2.1):这是Windows上显示的VMware Network Adapter VMnet8的地址。它的作用就像是一个分配电话号码的前台,负责给房间里的小电脑(虚拟机)分配一个能在迷你网络中使用的IP地址,比如你的Linux虚拟机得到了192.168.2.131。 2. NAT路由器(地址192.168.2.2):这是Linux虚拟机的默认网关。想象它是一个翻译员,站在房间门口,帮助房间内的小电脑与外界沟通。当你的虚拟机想要访问互联网上的任何网站或服务时,它会先把请求交给这个翻译员(NAT路由器),然后翻译员再把请求转译并发送到真正的互联网上。同样地,回来的信息也会经过这个翻译员回到你的虚拟机。 所以,你的Windows主机上的VMnet8适配器显示的是192.168.2.1,那是DHCP服务器的地址,负责给虚拟机分配IP;而Linux虚拟机的默认网关192.168.2.2是NAT路由器的地址,是虚拟机连接外部世界的必经之路。两者都是虚拟网络环境中的关键组件,但各自承担着不同的职责。 |
(2)查看网络 IP 和网关
① 查看虚拟网络编辑器和网关
② 查看 windows 环境的中 VMnet8 网络配置 (ipconfig 指令)
③ 查看 linux 的网络配置 ifconfig
(3)ping 测试主机之间网络连通性
ping 目的主机IP地址,测试当前服务器是否可以连接目的主机。
ping 域名,测试当前服务器是否可以连接域名对应的服务器。
(4)Linux 网络环境配置
① 自动获取IP地址。linux 启动后会自动获取 IP,缺点是每次自动获取的 ip 地址可
能不一样,所以无法当成服务器。
路径:应用程序/系统工具/设置/网络/有线连接/设置的图标
② 指定IP地址。直接修改配置文件来指定 IP地址。
编辑 vi /etc/sysconfig/network-scripts/ifcfg-ens33,将 ip 地址配置的静态的,比如 ip 地址为 192.168.116.135。
# ifcfg-ens33 文件说明: DEVICE=eth0 #接口名(设备,网卡) HWADDR=00:0C:2x:6x:0x:xx #MAC 地址 TYPE=Ethernet #网络类型(通常是 Ethemet) UUID=926a57ba-92c6-4231-bacb-f27e5e6a9f44 #随机 id #系统启动的时候网络接口是否有效(yes/no) ONBOOT=yes # IP 的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配 IP|BOOTP 协议|DHCP 协议) BOOTPROTO="dhcp" |
# 直接修改配置文件 BOOTPROTO="static" # 在配置文件中添加 # IP 地址 IPADDR=192.168.116.135 #网关 GATEWAY=192.168.116.2 #域名解析器 DNS1=192.168.116.2 |
重启网络服务或者重启系统生效service network restart 、reboot。
再次查看当前网络环境IPv4的配置,发现成功生效。
(5)设置主机名和host映射
① 设置主机名。指令hostname查看主机名。[root@localhost ~]# ,其中localhost就是当前的主机名。在 /etc/hostname 可以修改当前主机名称。修改后,重启生效。
② 设置host映射。建立IP地址和主机名之间的映射关系。当 ping 主机名 时,达到 ping ip地址 相同的效果。Windows,在 C:\Windows\System32\drivers\etc\hosts文件使用管理员权限添加一对映射。例如,127.0.0.1 localhost。Linux,在 /etc/hosts 文件中添加。
(hosts是一个文本文件,保存IP地址和主机名之间的映射关系。)
③ DNS 域名解析。DNS,全称Domain Name System,即域名系统。是一个分布式数据库,将域名与IP地址相互映射。使人更方便地用域名访问互联网资源,而不用使用IP地址。
1. 浏览器首先检查自身的缓存,看是否已存储了该域名对应的IP地址。如果找到,直接使用该IP完成域名解析。若浏览器缓存中没有,操作转向检查本地DNS解析器缓存,若存在有效记录,则直接返回IP地址完成解析。
2. 如果上述两个缓存层次均未找到匹配项,系统会继续检查hosts文件,这是一个位于本地的操作系统文件,用于静态定义域名到IP地址的映射。如果hosts文件中配置了相应的域名IP映射,则依据此映射完成解析。
3. 当本地解析器缓存及hosts文件均未能提供所需映射时,请求会被转发至DNS服务器进行解析。查询方式分为递归查询和迭代查询。
注意:
成功访问某网站后,一段时间内,浏览器和操作系统,通常会保留该网站的DNS解析记录于浏览器缓存和DNS缓存中。
ipconfig /displaydns显示当前DNS缓存中的域名解析记录。
ipconfig /flushdns手动清空DNS缓存,适用于需要刷新或解决缓存错误的情况。