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进行解析