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虚拟机是连接不了外网的。

[文章结束]

时间: 2024-08-02 14:51:25

Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT、桥接和Host-only]的相关文章

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

VMware网络配置详解一:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍 选择虚拟机网络模 式方法如下,单击Edit virtual machine settings,如图所示: 然后在Hardware选项卡中选择Ethernet,在左边Network connection框架中有如下四个单选项: 1. Bridged(桥接模式) 在桥接模式下,VMwa

虚拟机VMWare的三种网络模式

VMWare提供了三种工作模式: bridged(桥接模式). NAT(网络地址转换模式). host-only(主机模式). 要想在网络管理和维护中合理应用它们,应该先了解一下这三种工作模式.首先大概介绍它们什么情况下需要它们.bridged相当于创建一台独立的电脑.可以跟主机(宿主机)通信,但是需要手工配置网络.host-only是与主机(宿主机)隔离的,二者之间是不能够通信的.但是虚拟机之间是可以相互通信的.NAT模式最突出的用途就是能够上网. 1.bridged(桥接模式) 在这种模式下

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

小梅哥编写,未经许可,严禁用于任何商业用途 2018年6月30日 在日常SoC开发中,我们经常需要在Windows和Linux系统之间传输文件,例如在Windows系统上的DS-5集成开发环境中编写好的Linux应用程序需要传递到Linux嵌入式开发板中(例如SoC FPGA开发板),或者需要将Linux系统中的文件拷贝到Windows上进一步操作处理,就涉及到两者之间的文件传输.实现上述场景中文件传输的一种比较便捷的方式,是使用SCP方式.在Windows系统中,可以通过安装WinSCP软件来

windows和linux虚拟机互传文件

Windows向Linux虚拟机传入文件: 下载,安装一个xshell远程软件,或其他ssh软件也行.连接上linux服务器.(例如:SecureCRT) 输入命令检查rz命令:rpm -qa |grep rz (如果没有rz命令安装:yum -install rz) 输入rz就可以上传Windows里的文件了 Linux虚拟机向windows传入文件: 下载,安装一个xshell远程软件,或其他ssh软件也行.连接上linux服务器.(例如:SecureCRT) 输入命令检查sz命令:rpm

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

前言: Linux专题是16年11月开始写,说来惭愧,已经5个月没学Linux,至今感觉连入门还没达到.暑假实习有投运维开发岗位,无奈对Linux不熟悉,校招简历也被刷了.so, 我打算先花1个月内的时间入下门.前几天还专门去当当网买了一本<跟老男孩学Linux运维-Web集群实战>.lenrning begin!! 一.虚拟机网络类型 为虚拟机选择网络类型是极其关键的.VMware虚拟机常见的网络类型有Bridged(桥接).NAT.Host-only(仅主机)3种.在创建Linux虚拟机时

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

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

使用VNC远程连接Windows Azure Linux虚拟机

一. 安装 tigervnc-server yum install tigervnc-server 二. 启动vncserver vncserver :n 这里的n是session number,不指定默认为1,也可以是2.3等等.第一次会提示输入密码,以后可以使用vncpasswd命令来修改密码. 三. 启动客户端VNC Viewer连接远程虚拟机 VNC的默认端口是5900,而远程桌面连接端口则是5900+n(n是vncserver命令指定的).如果使用“vncserver :1”命令启动V

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

1.Putty 远程连接Linux主机 Windows主机上安装putty,工具打开后显示如下: 输入要连接的Linux主机的IP地址,点击Load,连接主机后输入用户名密码,即可登录Linux主机 2.WinSCP 文件传输工具 在Windows主机上安装WinSCP后,可以远程连接Linux主机,两台主机间可进行文件的相互传输,也可以直接对Linux主机上的文件进行查看.编辑.删除等操作 (1)工具打开后显示如下: (2)输入要连接的Linux主机的IP地址,用户名密码,登录成功后显示如下:

RHCE - windows搭建linux虚拟机上网

记录通过桥接模式配置上网过程 1.配置对应虚拟机网络模式为"桥接模式" 2.查看并配置本机(windows)的网卡及IP地址 配置示例: 配置之后,一诊断,一重启,还能继续上网,OK 3.指定虚拟机适用的网卡 4.配置虚拟机IP 需注意与windows主机在同一网段. 5.重启虚拟机网络 sudo service network restart 或:sudo systemctl restart network curl www.baidu.com 成功!!! 原文地址:https://