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]的更多相关文章

  1. 【转】虚拟机VMware3种网络模式(桥接、nat、Host-only)的工作原理

     VMware网络配置详解一:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口, ...

  2. [转]虚拟机VMware3种网络模式(桥接、nat、Host-only)的工作原理

    VMware网络配置详解一:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这 ...

  3. VMware同时使用三种网络模式的虚拟机,测试连通性

    参考资料: 虚拟机中桥接不自动分配IP与设置静态IP问题: https://blog.csdn.net/u013187057/article/details/80579211 腾讯课堂: https: ...

  4. VMware 虚拟机三种网络模式详解

    一.前言 Vmware 为我们提供了三种网络工作模式,分别是:Bridged(桥接模式).NAT(网络地址转换模式).Host-only(仅主机模式). 二.VMware 的几个常见虚拟设备 打开 V ...

  5. 虚拟机三种网络模式及Xshell与Centos7虚拟机连接

    一.虚拟机的三种网络模式 1.桥接模式 a.该模式下的虚拟机可以上外网 b. 局域网之内的主机可以访问该虚拟机(做共享服务器使用) c. 该虚拟机可以和宿主机进行通信 d. 同一台主机相同模式下的虚拟 ...

  6. 使用WinSCP在Windows和Linux系统之间传输文件

    小梅哥编写,未经许可,严禁用于任何商业用途 2018年6月30日 在日常SoC开发中,我们经常需要在Windows和Linux系统之间传输文件,例如在Windows系统上的DS-5集成开发环境中编写好 ...

  7. 通过xrdp实现远程桌面连接Windows Azure linux虚拟机

    本文以Oracle Linux 6.4虚拟机为示例(22及3389端口必须打开,分别用于SSH及RDP连接) 1.在安装xrdp之前,首先需要安装一些必要的包,如: # yum -y install ...

  8. 虚拟机VMware网络类型&&SSH远程连接Linux

    前言: Linux专题是16年11月开始写,说来惭愧,已经5个月没学Linux,至今感觉连入门还没达到.暑假实习有投运维开发岗位,无奈对Linux不熟悉,校招简历也被刷了.so, 我打算先花1个月内的 ...

  9. Windows与Linux主机之间的连接和交互工具

    1.Putty 远程连接Linux主机 Windows主机上安装putty,工具打开后显示如下: 输入要连接的Linux主机的IP地址,点击Load,连接主机后输入用户名密码,即可登录Linux主机 ...

随机推荐

  1. java二维码生成工具

    import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.ut ...

  2. systemctl的常用命令

    #systemctl #systemctl --all #systemctl list-units --type=sokect #systemctl list-units --type=service ...

  3. 深入浅出搜索架构引擎、方案与细节 倒排 bitmap

    深入浅出搜索架构引擎.方案与细节(上) 2017-02-14 23:55 58沈剑0  20  阅读 131 一.缘起 <100亿数据1万属性数据架构设计>文章发布后,不少朋友对58同城自 ...

  4. x-code的使用技巧心得

    xcode是苹果开发的一款图形化,而且用户交互很好的开发软件开发工具. 它支持 C语言 o-bjiect语言 c++ 等多种语言的开发.功能强大,俗话说的好,工欲善其事,必先利其器,以下将描写叙述一下 ...

  5. Jprofiler监控工具(内存泄漏)

    内存泄漏 1.测试代码 /** * JProfiler内存监控例子 * * @author yhye * @2011-11-9上午09:46:06 */ public class JProfilerM ...

  6. iOS-各种动画特效

    概述 广播跑马灯/弹幕/直播点赞/烟花/雪花等动画特效, 后续增加~ 详细 代码下载:http://www.demodashi.com/demo/10674.html 一.实现功能 1. 广播跑马灯 ...

  7. 解释-DNS,A记录,CNAME记录,域名转向,SRV记录,TTL值,泛域名与泛解析,域名绑定

    http://www.lihongye.net/post/dns.html DNS DNS,Domain Name System或者Domain Name Service(域名系统或者域名服务).域名 ...

  8. Windows下面安装和配置Solr 4.9(二)

    将Solr和Tomcat结合: 1.在D盘下创建目录 D:\Demos\Solr 2.解压solr-4.9.0文件,我这里下载的是这个4.9版本,将example文件夹下的solr文件夹中的所有文件( ...

  9. oc set/get方法

    新建一个“Cocoa Touch Class”文件,命名为People People.h 写入 @interface People : NSObject @property int age; @end ...

  10. RHCE7 管理II-2 通过grep使用正则表达式

    grep -i:忽略大小写 -n:表示行数 找出含有root的行 # grep root /etc/passwd root:x:::root:/root:/bin/bash ::operator:/r ...