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

Linux14 NAT网络配置原理 查看网络ip和网关 修改ip地址 指定ip方法 主机名与hosts映射 主机名解析过程

目录

一 NAT网络配置原理

linux-查看虚拟机的ip地址:ifconfig

windows-查看主机ip地址:win+r cmd 进入命令行 输入 ipconfig

ping测试主机之间网络联通性---在主机ping虚拟机ip

ping测试主机之间网络联通性---在虚拟机ping主机ip

二 查看网络IP和网关

1 查看虚拟网络编辑器和修改IP地址

2 查看网关

三 linux网络环境配置

1 方法一 自动获取--可以避免ip冲突,但是每次都不一样

2 方法二 指定ip

四 设置主机名和hosts映射

1 设置主机名

​编辑2 设置hosts映射

Windows下ping虚拟机hostname实现步骤

Linux虚拟机中ping Windows hostname实现步骤

五 主机名解析过程分析(hosts和DNS是啥,二者的关系是啥)

1 hosts是什么

2 DNS 

3 应用实例分析主机名解析完整流程


一 NAT网络配置原理

假设我的电脑现在在一个教室里,我的电脑安装了虚拟机,在xshell登录root,发现可以ping通www.baidu.com,用图形化界面也可以打开浏览器访问百度,这说明虚拟机可以上网,也就是虚拟机可以访问外网(也叫互联网)。

ping指令结束CTRL+ c

为什么虚拟机可以访问到外网?-------网络配置原理

linux-查看虚拟机的ip地址:ifconfig

windows-查看主机ip地址:win+r cmd 进入命令行 输入 ipconfig

ping测试主机之间网络联通性---在主机ping虚拟机ip

发现可以ping通

ping测试主机之间网络联通性---在虚拟机ping主机ip

发现卡住了,因为Windows的防火墙起作用了

如何关闭防火墙 https://jingyan.baidu.com/article/19192ad8f3132ca43f570739.html

关闭Windows防火墙后,立马就可以ping通如下图所示

 虚拟机和主机之间互相可以ping通因为虚拟机和主机之间在同一网段,互相之间是可以连接的,虚拟机和主机之间可以互相通信

查看主机真正上网的ip,无限网卡ip

无限网卡可以和教室的局域网的公用网关连接

为何虚拟机可以访问外网的解释:虚拟机和主机可以连接,主机有真正可以访问外网的无线网卡,无限网卡和主机连接,无限网卡可以访问局域网网卡,局域网网卡可以访问外网,最终实现虚拟机对外网的访问,具体如下图所示(简略图,路由器等等都省了)

一开始安装centos的时候如下图有个网络连接模式就是选择的NAT模式

注:Linux虚拟机的ip是不固定的即自动分配,也可以指定ip,让这个ip不变,具体内容见下

二 查看网络IP和网关

1 查看虚拟网络编辑器和修改IP地址

如果修改这里的子网IP,那么重启系统之后虚拟机的ip和vmnet8的ip也会改变

2 查看网关

三 linux网络环境配置

1 方法一 自动获取--可以避免ip冲突,但是每次都不一样

说明:登录后,通过界面来设置自动获取ip,特点:linux启动后会自动获取IP,缺点是每次自动获取的ip地址可能不一样,这也就不能做服务器。工作的时候需要将某个机器当作服务器,必须固定ip来保持网络通讯

查看linux虚拟机ip的获取方式步骤如下

 可以看出目前是自动获取ip的,会自动分配不冲突的ip

2 方法二 指定ip

说明:直接修改配置文件来指定ip,并可以连接到外网(程序员推荐)

编辑 vim /etc/sysconfig/network-scripts/ifcfg-ens33       ens33是网络设备,类似于网卡,通过ifcfg-ens33  这个文件来配置

要求:将Linux测ip地址配置为静态的,比如:ip地址为192.168.200.130

注意,这里怕出错,最好拍个快照,以防万一

步骤:xshell登录root连接虚拟机,输入vim /etc/sysconfig/network-scripts/ifcfg-ens33可以看到下图,按下i进入编辑模式

添加的代码如下

IPADDR=192.168.200.130
GATEWAY=192.168.200.2
DNS1=192.168.200.2

BOOTPROTO自动分配dhcp也要修改为static

按下esc键 输入:wq保存退出

在vm中打开如下界面修改虚拟机ip为静态

现在修改vmnet8的ip使之与虚拟机ip处于同一网段,修改完要点击确定和应用

由于ip已经修改,所以xshell会自动断开

重启网络服务或者重启系统后生效

service network restart、 reboot

在VMware终端输入reboot重启,重启后登录root,打开终端,输入ifconfig查看ip是否更改成功

在主机命令行ipconfig 

发现ip都已经修改成功

再互相ping一下

 

 

这里用虚拟机终端ping主机的时候也要打开防火墙才行

以上实现了虚拟机和vmnet8两个ip固定,且二者可以互相连接,同时虚拟机也可以连接到外网 

四 设置主机名和hosts映射

1 设置主机名

(1)前面在ping或者连接linux系统的时候,都是通过ip来实现的。为了方便记忆,可以给linux系统设置主机名,也可以根据需要修改主机名

(2)指令hostname:查看主机名

 

(3)修改文件在/etc/hostname  指令为 vim  /etc/hostname

(4)修改后,重启生效

2 设置hosts映射

思考:如何通过主机名能够找到(比如ping)某个linux系统

翻译:原来是ping ip  连接虚拟机   现在如何实现ping 主机名  连接虚拟机

比如在windows终端中输入ping yyds100看看能不能ping通

上图表示虚拟机ip是可以ping通的,但是虚拟机hostname无法ping通 

 后面学习大数据的时候肯定要用主机名来建立集群,所以必须实现ping通hostname

Windows下ping虚拟机hostname实现步骤

Windows中在C:\Windows\System32\drivers\etc\hosts文件指定即可

打开后新增一句话如下所示,保存。注意这里需要管理员权限,直接将hosts文件拖到桌面,修改保存之后再拖回到etc目录下即可,关于管理员权限的直接点击继续

以上就完成了虚拟机ip192.168.200.130和hostname yyds100之间的映射

在Windows命令行再次ping yyds100尝试看看能不能通,发现通了,而且返回了对应的ip地址 

Linux虚拟机中ping Windows hostname实现步骤

首先保证防火墙关闭

然后尝试在xshell 中 ping windows 的vmnet8的ip,发现可以ping通

查看Windows主机名:此电脑--属性--设备名称

也可以在命令行输入ipconfig/all查看

在xshell中输入指令vim /etc/hosts

 加入语句如下,退出vim保存,注意这里数字不能用右侧小键盘的数字输入

现在ping Windows的hostname就可以ping通了,如下图所示

五 主机名解析过程分析(hosts和DNS是啥,二者的关系是啥)

1 hosts是什么

Hosts一个文本文件,用来记录IP和Hostname(主机名)的映射关系

2 DNS 

DNS就是Domain Name System的缩写,翻译就是域名系统

是互联网上作为域名和IP地址相互映射的一个分布式数据库,不是一台服务器,是很多服务器,且分级

简而言之,就是域名和ip的映射

3 应用实例分析主机名解析完整流程

用户在浏览器输入了www.baidu.com回车之后看到百度的首页,这个过程的完整解析见下

(1)浏览器先检查 浏览器缓存 中有没有该域名解析IP地址,如果有 就先调用这个IP完成解析

如果没有就检查 DNS解析器缓存,如果有直接返回IP完成解析。

这两个缓存可以理解为 本地解析器缓存

(2)一般来说,当电脑第一次成功访问某一网站后,在一定时间内浏览器或操作系统会缓存他的IP地址,也就是DNS解析记录,如在cmd窗口中输入

ipconfig /displaydns //查看当前操作系统中的DNS域名解析缓存/本地解析器缓存

ipconfig /flushdns //手动清理dns缓存

(3)如果本地解析器缓存没有找到对应映射,检查系统中hosts文件中有没有配置对应的域名IP映射,如果有,则完成解析并返回

(4)如果本地DNS解析器缓存和hosts文件中都没有找到对应的IP,则到域名服务DNS进行解析

相关文章:

  • SPDK Vhost在线恢复:让I/O飞一会儿
  • 如何判断一个低代码平台是否专业?
  • 达利欧《原则》读书思考笔记
  • C语言动态内存管理、柔性数组(超详细版)
  • 【USB设备设计】-- CDC 设备开发(虚拟串口设备)
  • 用ARM进行汇编语言编程(3)逻辑移位和轮换,条件与分支
  • maltab datenum函数与正则表达式巧用:逐日数据转为逐月数据、日序转月序
  • PTA JAVA02 基础语法1
  • C++ 语言学习 day06 string , 异常
  • Linux命令`ll`的结果解析
  • 查题校园公众号查题系统
  • git分布式版本控制系统
  • C++ Color the ball
  • mysql的基础操作语句
  • Cookie/Session
  • DOM的那些事
  • ES6简单总结(搭配简单的讲解和小案例)
  • es的写入过程
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • java2019面试题北京
  • JavaScript 基本功--面试宝典
  • Laravel Mix运行时关于es2015报错解决方案
  • magento2项目上线注意事项
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Object.assign方法不能实现深复制
  • SOFAMosn配置模型
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • 机器学习学习笔记一
  • 基于游标的分页接口实现
  • 聊聊flink的BlobWriter
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 用简单代码看卷积组块发展
  • $(function(){})与(function($){....})(jQuery)的区别
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (02)Hive SQL编译成MapReduce任务的过程
  • (39)STM32——FLASH闪存
  • (4)STL算法之比较
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (三)docker:Dockerfile构建容器运行jar包
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (一)Java算法:二分查找
  • (转)创业的注意事项
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .NET CORE 第一节 创建基本的 asp.net core
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net 发送邮件
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • /proc/stat文件详解(翻译)
  • @ModelAttribute注解使用
  • @RestControllerAdvice异常统一处理类失效原因
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...