Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT、桥接和Host-only]
Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT、桥接和Host-only]
作者:天齐
一、Windows和linux虚拟机之间联网实现SSH远程连接
假如我们要给主机名为mini1的虚拟机配置ip地址,需要以下几个步骤:
在linux上查看ip地址,如果linux服务器有ip地址,让它的ip地址和windows的ip地址在同一个网段,它们之间才能联网。在linux上查看ip地址的命令为“ifconfig”:
发现eth0网卡没有配置ip地址。所以我们要给它配置网卡。输入“setup”命令弹出配置界面:
选择“网络配置”。
选择“设备配置”。
选择“eth0”。表示linux系统中第0块以太网卡。
在上图中“Name”和“Device”两项保持默认,不要修改。
其中“Use DHCP”表示使用DHCP协议来获取ip地址,也就是自动获取ip地址。我们不要让它自动获取,因为有可能获取不到ip地址。
打开Windows的服务窗口:
因为VMware启动的时候会注册一个windows服务,而这个服务有可能没有启动,必须启动才能自动获取ip地址:
由于我们不使用自动获取ip的方式,按键盘上的空格键可以将DHCP后面的“*”号去掉。我们要自己指定ip地址。那么我们怎么指定ip地址呢?
这里就要说说几种网络模式,先说NAT网络模式。
VMware自己内部会创建一个虚拟的网络交换机,把我们创建的所有虚拟机统统都连到这个内部的虚拟交换机上面,然后再连出去。所以,你要实现linux虚拟机和windows之间联网,你就必须知道VMware内部的那个虚拟的交换机的ip地址网段。
下面是NAT网络模式的原理图:
在上图中,VMware中我们创建的所有的虚拟机都会被连到它的一个虚拟交换机上,这个虚拟交换机有一个网段,而我们创建的所有虚拟机都应该和这虚拟机交换机在同一个网段。而Windows也有一个虚拟网卡(这个虚拟网卡也是VMware创建的),即vmnet8,也是连到这个虚拟交换机的。也要保证这个vmnet8虚拟网卡和我们创建的所有的虚拟机的网卡都在同一个网段,这样,它们相互之间就能连通了。它们之间就相当于组成了一个内网。所以我们要配置虚拟机的ip地址,首先要知道VMware的虚拟交换机的ip地址是多少。
知道了VMware的虚拟交换机的网段和网关ip,接下来我们就可以配置我们的虚拟机的ip地址了。
我们可以为自己的虚拟机配置除了“192.168.71.2”(交换机的网关ip)和“192.168.71.255”(在TCP/IP协议里面,255不是用来表示一台机器的ip地址,而是用来表示整个网段里面的所有机器的,如果你将虚拟机的ip配置成255的话,别的机器是找不到的,所有发给255整个地址的数据都会发送给整个网段中所有的机器)以外的其他ip地址,比如我们可以设置为“192.168.71.11”:
然后是配置子网掩码,这里必须配置成“255.255.255.0”。何谓子网掩码?其实我们所说的那个网段“192.168.71.0”是由这个ip地址“192.168.71.11”和子网掩码“255.255.255.0”计算得来的。计算的方法就是,用“255.255.255.0”中的每一段数字去和ip地址“192.168.71.11”中的每一段数字做“与”操作。255与上任意数都等于这个任意数本身,用0与上任意数都等于0。所以要使虚拟交换机的网段是“192.168.71.0”这个网段,就必须将子网掩码配置成“255.255.255.0”。
然后是网关ip地址,这个配置成虚拟交换机的网关ip地址即可。
然后是配置主NS域名服务器的ip地址,这里我们配置成“8.8.8.8”即可。这是谷歌提供了一个公共的域名服务器。当然你也可以填写电线、移动、或者联通提供的DNS域名服务器。如果你不知道DNS是什么,你可以配置成和网关一样的ip地址。因为网关有一个功能,它可以到网络上找到真实的DNS域名服务器,这是TCP/IP协议在底层实现的功能。所以,只要你的网关能够连出去,你这台虚拟机就能够连出去。
DNS域名服务器可以配置多个,有主DNS服务器,还有次DNS服务器。
说明:ip地址其实是8位二进制的数字,最大就是8个1,也就是十进制的2的8次方,即256(从0到255)。
配置好ip地址之后,重启网卡:
srvice network restart
通过ifconfig命令再次查看ip地址,如果还是看不到ip地址的话,就使用reboot命令重启虚拟机。
如果没有生效,原因可能是你使用的是图形界面,需要在图形界面做如下修改:
然后在图形界面的桌面空白处点击鼠标右键,选择“Open in Terminal”打开命令行终端窗口:
使用“ifconfig”命令再次查看,就看到ip地址了:
测试linux虚拟机和windows之间的网络连通情况
在windows上打开一个命令行窗口,使用ping一下我们的linux虚拟机的ip地址:
如能够连通,我们就可能使用远程登录工具来连接我们的linux虚拟机了。
我们使用SecureCRT这个工具来远程连接linux虚拟机。该软件解压就可以使用了。
客户端和服务器端之间建立连接都是有协议的,比如浏览器要访问某个网站,需要通过http协议,这里我们要使用SecureCRT工具访问linux虚拟机,使用的是SSH2这个协议。
勾选“Open in a tab”的话,将来连接多个linux虚拟机的窗口都会以选项卡的方式展示在同一个窗口中,方便切换。
其中Hostname可以填写要连接的那台linux虚拟机的ip地址或者主机名,如果要填写主机名的话,需要在windows的一个hosts文件中添加该主机名和linux虚拟机ip之间的映射关系,否则windows在做域名解析的时候,识别不了这个主机名。
扩展知识:windows在做域名解析的时候,并不是先去找DNS服务器的,而是先找本地的一个配置文件,就是一个域名和ip的映射表,该文件就是“C:\Windows\System32\drivers\etc\hosts”:
打开这个hosts文件,将我们的linux虚拟机的ip地址和主机名的映射关系配置好:
然后测试一下,看windows能够识别linux的主机名:
接下来我们就可以使用SecureCRT工具来登录linux虚拟机了。
如果弹出如下窗口,表示询问是否缓存SSH加密的指纹信息,选择“Accept&Save”,表示同意并保存:
按照提示输入密码,并勾选保存密码,下次登录就不会再提示输入密码了:
二、vmware中的三种联网模式----nat--bridge--hostonly
假如你要把多台电脑彼此联网,怎么办呢?你需要去买一个路由器或者交换机。我们把路由器或者交换机都叫做网关,它是网络枢纽,或者说是网络的出口。
下面是局域网的机构图:
那么我们的多个linux虚拟机以及和我们的windows彼此之间怎么进行网络连通呢?
我们在使用VMware创建linux虚拟机的时候,是可以手动选择网络模式的:
有3种网络模式可供我们选择:桥接模式、NAT模式和仅主机模式。
1.NAT模式
我们创建的多个linux虚拟机的网卡的名称都叫做“eth0”,而NAT模式下,它有一个虚拟交换机,就是前面我们所说的VMware内部创建的一个虚拟交换机。所有的linux虚拟机都会连接到这个虚拟交换机。Windows也会通过VMnet8这块虚拟网卡连接到这个虚拟交换机。这个虚拟交换机的网段和网关ip(我们一般会把网关ip的最后一位数配置成1,这只是一个约定俗称的做法)都是可以修改的。只要知道了这个虚拟交换机的网段和网关ip,那么所有连到虚拟交换机的机器的网卡,只要都在一个网段就可以。
通过NAT模式,在windows的VMnet8这块网卡和所有的linux虚拟机的网卡之间就组成了一个虚拟的网络。而这个虚拟的网络对我们的windows的本地连接是没有任何干扰的,因为它们是两个完全不同的网络。这个虚拟网络就相当于一个内网,而我们windows的本地连接就相当于是外网。
而且在这种NAT模式下,VMware还有一个功能,就是可以让这个内网中的所有机器都能够访问外网。也就是说,只要你的windows机器能连上外网,VMware就能让这个内网中的集机器也能连上外网。因为VMware能够做一个地址转发,NAT本身就地址转发的意思。当内网中的linux虚拟机连上外网之后,外网看到的地址都是windows的本地连接的地址。
下面是我们的笔记本上的linux虚拟机通过NAT模式连接外网的配置:
第1步:检查VMware的虚拟交换机的网段和网关IP
从下图可以看出,VMware的虚拟交换机所处的网段是“192.168.71.0”,网关IP地址为“192.168.71.2”:
第2步:将linux虚拟机的网络模式配置成NAT模式
第3步:检查Windows上的虚拟网卡VMnet8的ip地址
从下图可以看到,我们的VMnet8这块虚拟网卡的ip地址为“192.168.71.1”
第4步:检查要连接外网的linux虚拟机的网络配置情况
注意,linux虚拟机的ip地址、windows上的VMnet8虚拟网卡、都要和VMware的虚拟交换机位于同一个网段,而且保证ip地址不能有相同。
第5步:以上几个关键部分配置好了之后,使用如下命令重启linux虚拟机的网卡:
service network restart
第6步:使用ping命令测试是否能够连接外网
总结:linux虚拟机要想连接外网的话,需要注意的几个关键点。
(1)连接外网的那台虚拟机的网卡必须使用NAT网络模式(在VMware中设置); (2)必须确定VMware的虚拟交换机的网段和网关ip; 比如我们的VMware的虚拟交换机的网段为"192.168.71.0",网关ip为"192.168.71.2"。 (3)必须保证linux虚拟机的ip地址、Windows的VMnet8这个虚拟网卡的ip地址、上面说的虚拟交换机的ip、这3者都在同一个网段; 比如我们的Windows笔记本的VMnet8虚拟网卡的ip地址为"192.168.71.1",它和VMware虚拟机的网关都在"192.168.71.0"这个网段内。 (4)linux虚拟机的eth0网卡的网关(需要修改"/etc/sysconfig/network-scripts/ifcfg-eth0"文件)要设置成和VMware虚拟交换机的网关一样,
或者设置成谷歌的公共DNS,也就是8.8.8.8。子网掩码必须是"255.255.255.0"。 比如我们的linux虚拟机的eth0网卡的网关设置为了"192.168.71.2",和VMware虚拟交换机的网关一样。
(5)保证我们的Windows电脑必须能够连接外网,因为linux虚拟机是通过Windows来连接外网的。
2.桥接模式
在桥接模式下,我们的所有的linux虚拟机不再是连接到一个虚拟的交换机,而是直接连接到我们windows电脑的本地连接所连接的那个真实的物理交换机。所以,我们所有的linux虚拟机的ip地址都要和那个真实的物理交换机的ip地址在同一个网段。
我们不建议大家使用这种网络模式,因为你换一个环境,需要重新配置网络,比如你原来在教室里面,你的电脑连接的是教室的交换机,你回到家里面,家里的交换机的ip和教室里面的ip肯定不是一个网段。所以你每换一个环境,都需要重新配置ip地址,很不方便。
但是桥接也有一个好处,比如说老师的笔记本上的所有的虚拟机都配置成桥接模式,那么我的所有的虚拟机的网段就和你们(学生)的电脑都在同一个网段,你们就可以直接ping我的虚拟机了。我在我的虚拟机上部署一个服务,你们就可以直接访问了。比如我在我的linux虚拟机上搞了一个hadoop集群,而且我们的虚拟机都配置成了桥接模式,那么你们都可以直接访问了。如果我使用NAT模式的话,你们就访问不了。因为我和你们的电脑不在同一个网段。
桥接模式的ip配置非常简单,就是将所有虚拟机的ip都配置成真实交换机的网段,而windows电脑则什么都不用修改。
3.Host-only模式
这种模式和NAT极为相似,它内部也有一个
所有的linux虚拟机统统连到Windows上的VMnet1这块虚拟网卡上,这样的话,所有虚拟机的网关都指向VMnet1这个网关。这样windows电脑和所有的虚拟机之间也组成了一个内网,在这个内网里面彼此之间可以互相访问。
那么Host-only模式和NAT模式有什么区别呢?
区别是,VMware不会对VMnet1这个网卡提供地址转换服务,所以,在Host-only模式下,所有的linux虚拟机是连接不了外网的。
[文章结束]
Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT、桥接和Host-only]的更多相关文章
- 【转】虚拟机VMware3种网络模式(桥接、nat、Host-only)的工作原理
VMware网络配置详解一:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口, ...
- [转]虚拟机VMware3种网络模式(桥接、nat、Host-only)的工作原理
VMware网络配置详解一:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这 ...
- VMware同时使用三种网络模式的虚拟机,测试连通性
参考资料: 虚拟机中桥接不自动分配IP与设置静态IP问题: https://blog.csdn.net/u013187057/article/details/80579211 腾讯课堂: https: ...
- VMware 虚拟机三种网络模式详解
一.前言 Vmware 为我们提供了三种网络工作模式,分别是:Bridged(桥接模式).NAT(网络地址转换模式).Host-only(仅主机模式). 二.VMware 的几个常见虚拟设备 打开 V ...
- 虚拟机三种网络模式及Xshell与Centos7虚拟机连接
一.虚拟机的三种网络模式 1.桥接模式 a.该模式下的虚拟机可以上外网 b. 局域网之内的主机可以访问该虚拟机(做共享服务器使用) c. 该虚拟机可以和宿主机进行通信 d. 同一台主机相同模式下的虚拟 ...
- 使用WinSCP在Windows和Linux系统之间传输文件
小梅哥编写,未经许可,严禁用于任何商业用途 2018年6月30日 在日常SoC开发中,我们经常需要在Windows和Linux系统之间传输文件,例如在Windows系统上的DS-5集成开发环境中编写好 ...
- 通过xrdp实现远程桌面连接Windows Azure linux虚拟机
本文以Oracle Linux 6.4虚拟机为示例(22及3389端口必须打开,分别用于SSH及RDP连接) 1.在安装xrdp之前,首先需要安装一些必要的包,如: # yum -y install ...
- 虚拟机VMware网络类型&&SSH远程连接Linux
前言: Linux专题是16年11月开始写,说来惭愧,已经5个月没学Linux,至今感觉连入门还没达到.暑假实习有投运维开发岗位,无奈对Linux不熟悉,校招简历也被刷了.so, 我打算先花1个月内的 ...
- Windows与Linux主机之间的连接和交互工具
1.Putty 远程连接Linux主机 Windows主机上安装putty,工具打开后显示如下: 输入要连接的Linux主机的IP地址,点击Load,连接主机后输入用户名密码,即可登录Linux主机 ...
随机推荐
- java二维码生成工具
import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.ut ...
- systemctl的常用命令
#systemctl #systemctl --all #systemctl list-units --type=sokect #systemctl list-units --type=service ...
- 深入浅出搜索架构引擎、方案与细节 倒排 bitmap
深入浅出搜索架构引擎.方案与细节(上) 2017-02-14 23:55 58沈剑0 20 阅读 131 一.缘起 <100亿数据1万属性数据架构设计>文章发布后,不少朋友对58同城自 ...
- x-code的使用技巧心得
xcode是苹果开发的一款图形化,而且用户交互很好的开发软件开发工具. 它支持 C语言 o-bjiect语言 c++ 等多种语言的开发.功能强大,俗话说的好,工欲善其事,必先利其器,以下将描写叙述一下 ...
- Jprofiler监控工具(内存泄漏)
内存泄漏 1.测试代码 /** * JProfiler内存监控例子 * * @author yhye * @2011-11-9上午09:46:06 */ public class JProfilerM ...
- iOS-各种动画特效
概述 广播跑马灯/弹幕/直播点赞/烟花/雪花等动画特效, 后续增加~ 详细 代码下载:http://www.demodashi.com/demo/10674.html 一.实现功能 1. 广播跑马灯 ...
- 解释-DNS,A记录,CNAME记录,域名转向,SRV记录,TTL值,泛域名与泛解析,域名绑定
http://www.lihongye.net/post/dns.html DNS DNS,Domain Name System或者Domain Name Service(域名系统或者域名服务).域名 ...
- Windows下面安装和配置Solr 4.9(二)
将Solr和Tomcat结合: 1.在D盘下创建目录 D:\Demos\Solr 2.解压solr-4.9.0文件,我这里下载的是这个4.9版本,将example文件夹下的solr文件夹中的所有文件( ...
- oc set/get方法
新建一个“Cocoa Touch Class”文件,命名为People People.h 写入 @interface People : NSObject @property int age; @end ...
- RHCE7 管理II-2 通过grep使用正则表达式
grep -i:忽略大小写 -n:表示行数 找出含有root的行 # grep root /etc/passwd root:x:::root:/root:/bin/bash ::operator:/r ...