虚拟机连网(多台虚拟机互联、虚拟机与真机互联、虚拟机上网)

虚拟机连网(多台虚拟机互联、虚拟机与真机互联、虚拟机上网)一)通常虚拟机中下载安装配置完系统之后自动选择的是NAT(用于共享主机IP)此时真机和虚拟机是可以ping通的,但是此时虚拟机是不能上网的(也就是尝试ping通www.baidu.com时无法ping通);

大家好,又见面了,我是你们的朋友全栈君。

一)VMware中提供了三种网络连接方式,VirtualBox中提供4种网络连接方式。
NAT:  网络地址转换模式(Network Address Translation)
Bridged Adapter :   桥接模式
Internal:   内部网络模式
Host-only Adapter :  主机模式
(VMware中少了Internal模式)

二)打开vmware虚拟机,可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式)。其实,VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。
在这里插入图片描述
同时,在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,它们分别作用于仅主机模式与NAT模式下。在“网络连接”中我们可以看到这两块虚拟网卡,如果将这两块卸载了,可以在vmware的“编辑”下的“虚拟网络编辑器”中点击“还原默认设置”,可重新将虚拟网卡还原。
在这里插入图片描述
三)详解各种模式:

桥连接模式:
将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。此模式下的虚拟机和自己的依赖主机共同处在同一个网段下,意思就是如果主机的IP是192.168.100.xxx,那么虚拟机中的IP地址也将会是192.168.100.xxx,如果需要联网,则网关与DNS需要与主机网卡一致。虚拟机也会占用局域网中的一个IP地址,并且可以和主机同网段的其他真实终端进行相互访问。

NAT模式:
VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信。虚拟机向外部网络发送的请求数据”包裹”,都会交由NAT网络适配器加上”特殊标记”并以主机的名义转发出去,外部网络返回的响应数据”包裹”,也是先由主机接收,然后交由NAT网络适配器根据”特殊标记”进行识别并转发给对应的虚拟机,因此,虚拟机在外部网络中不必具有自己的IP地址。从外部网络来看,虚拟机和主机在共享一个IP地址因此,只要主机可以访问Internet虚拟机就可以访问Internet),默认情况下,外部网络终端也无法访问到虚拟机。此外,在一台主机上只允许有一个NAT模式的虚拟网络。因此,同一台主机上的多个采用NAT模式网络连接的虚拟机也是可以相互访问的,但因为NET模式下的虚拟机不具有真实IP,所以无法和主机同网段的其他真实终端进行相互访问

Host-Only模式:
一种比NAT模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络。仅主机模式的虚拟网络适配器仅对主机可见,并在虚拟机和主机系统之间提供网络连接。相对于NAT模式而言,仅主机模式不具备NAT功能,因此在默认情况下,使用仅主机模式网络连接的虚拟机无法连接到Internet(在主机上安装合适的路由或代理软件,或者在Windows系统的主机上使用Internet连接共享功能,仍然可以让虚拟机连接到Internet或其他网络)。在同一台主机上可以创建多个仅主机模式的虚拟网络,如果多个虚拟机处于同一个仅主机模式网络中,那么它们之间是可以相互通信的;如果它们处于不同的仅主机模式网络,则默认情况下无法进行相互通信(可通过在它们之间设置路由器来实现相互通信)。

四)如何设置各种模式:

设置桥接模式:
先确认一下真机的ip地址、网关、DNS等信息,要记住SSID名称后续有用。如下图:
在这里插入图片描述
接着点击虚拟机中的 编辑——虚拟网络编辑器,如下图:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注:此时选择桥接到的网卡就是桥接到正在上网的网卡(当上网网卡有变化时就要相应的更改)也就是上一步中正在上网的网卡名称。

将虚拟机桥接到vmnet0:
在这里插入图片描述
此时终端ping网关就可以ping通,ifconfig就可以查看虚拟机当前IP地址(是自动随机的分配,我们也可以手动设置固定IP)

桥接模式配置简单,但如果网络环境是ip资源很缺少或对ip管理比较严格的话,那桥接模式就不太适用了。此时需要设置NAT模式。

设置NAT模式:(多台虚拟机均设置为NAT则可以互相ping通,也可以和真机互相ping通,还可以实现上网)
“虚拟机”——“设置” 并在“网络连接”中选择“NAT模式”,如下图:
在这里插入图片描述
接着,将对应要上网的虚拟机的IP改为自动获取,右键点击“网络”——属性——更改适配器设置——找到正在使用的真机的网络——右键“属性”,如下图:
在这里插入图片描述
在这里插入图片描述
此时虚拟机中ping通www.baidu.com就可以通了,也就达到上网的目的,如下图:
在这里插入图片描述
当然,也可以进行手动设置自己想要的网段,如下图:
在这里插入图片描述

六)要两台虚拟机能够 ping 通下列要求缺一不可:
1、所设置的虚拟网络的网络号不能跟正在使用的真实的网络号一样
2、防火墙必须关闭(一定要关闭,已关了最开始的win2003的防火墙)
3、设置的那俩台虚拟机必须在同一网段内
4、两台虚拟机的主机名不能相同,在局域网中会把相同的两台电脑视为同一台电脑,只能有一台使用
5、在虚拟机中桥接的地方记住打勾

可看可不看的部分:
NAT模式下实现外部网络对虚拟机(ssh)访问功能设置步骤:
即使是主机与虚拟机置于同一网段内,主机也不能直接ssh连接虚拟机,还需要做一步端口映射。

1、在VMware系统菜单下选择“编辑:,进入虚拟网络编辑器,选择“NAT设置”,进入“NAT设置”后,在“端口转发”下选择“添加”按钮,添加一条NAT映射规则。其中主机端口即宿主物理网卡的端口,可以任意填写端口号,因为我们这里要实现ssh远程登录功能,这里填写“22”。虚拟机IP地址按照虚拟机实际情况填写,虚拟机端口是22(因为外部设备最终是要通过22端口来访问虚拟机的ssh服务的)。

如果在vmware中建立了多个虚拟机,有几个需要在主机ssh连接,那么就需要配几条端口转发。

2.开启虚拟机在命令行窗口进行ssh配置:(参照网络教程失败了很多次,后来发现在完成了第一步配置之后再按下面的步骤设置即能成功)
(1)检查ssh状态:ssh localhost ssh
connect to hostlocalhost port 22: Connection refused 表示没有安装ssh服务
(2)下载安装ssh:sudo apt-get install openssh-server
(3)启动ssh server:sudo /etc/init.d/ssh start
(4)检查启动状态:ps -e|grep ssh
出现 ssh-agent 和sshd 等表示已经启动
(5)设置root密码:sudo passwd root,根据提示输入
(6)在主机中使用WinSCP连接虚拟机并向虚拟机的桌面发送一个文件,成功。

三种方式&设置的IP参考:
https://blog.csdn.net/cn130404/article/details/74370321?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160013167319195188341576%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160013167319195188341576&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-74370321.first_rank_ecpm_v3_pc_rank_v2&utm_term=%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%BD%91%E6%A1%A5%E6%80%8E%E4%B9%88%E8%AE%BE%E7%BD%AE&spm=1018.2118.3001.4187

kali\linux桥接模式的配置:
https://blog.csdn.net/qq_37941471/article/details/80639937
https://blog.csdn.net/xujingzhong0077/article/details/52813089

————————————————————————————————————
注意:如出现虚拟机设置正常但还是提示无网络,可能是真机中的虚拟机服务没有完全开启,可以进行以下设置:
“Ctrl+shift+esc”——服务——找到VMware DHCP、VMware NAT、VMwareHostd并将它们全都开启:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144701.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • spidermonkey对比v8_the monkey trial

    spidermonkey对比v8_the monkey trialJavaScript在浏览器中的应用几乎是尽人皆知的。实际上,JavaScript技术也可以使用在非浏览器应用程序当中,从而让应用程序具有自动的脚本功能。本文介绍了一种功能非常强大的JavaScript引擎SpiderMonkey。这个引擎是Mozilla 浏览器的 JavaScript引擎。该引擎接口定义清晰,模块化好。本文简要介绍了 SpiderMonkey的基本结构,并讲解了如何在自己的应用

  • linux安装PyCharm,实用功能!!!!!!「建议收藏」

    linux安装PyCharm,实用功能!!!!!!「建议收藏」linux安装PyCharm 1.下载http://www.jetbrains.com/pycharm/download/2.安装PyCharm$cdDownloads/$tarxfzpycharm-*.tar.gz$rm pycharm-*.tar.gz$cdpycharm-community-3.4.1/bin/$./pycharm.sh安…

  • easymock单元测试(控制测试)

    本文转自:点击打开链接测试驱动开发是软件开发的重要部分。如果代码不进行测试,就是不可靠的。所有代码都必须测试,而且理想情况下应该在编写代码之前编写测试。但是,有些东西容易测试,有些东西不容易。如果要编写一个代表货币值的简单的类,那么很容易测试把$1.23和$2.8相加是否能够得出$4.03,而不是$3.03或$4.029999998。测试是否不会出现$

  • linux 起步走 platform_driver_register

    linux 起步走 platform_driver_registerstaticstructplatform_drivermxc_v4l2_driver={.driver={.name=“mxc_v4l2_capture”,.owner=THIS_MODULE,.of_match_table=mxc_v4l2_dt_ids,}

  • Django(29)模板变量「建议收藏」

    Django(29)模板变量「建议收藏」变量模板中可以包含变量,Django在渲染模板的时候,可以传递变量对应的值过去进行替换。变量的命名规范和Python非常类似,只能是阿拉伯数字和英文字符以及下划线的组合,不能出现标点符号等特殊字符。

  • mysql 数据入库去重_MySQL中去重 distinct 的用法 ,数据库去重distinct「建议收藏」

    mysql 数据入库去重_MySQL中去重 distinct 的用法 ,数据库去重distinct「建议收藏」一、distinct位置1.单独的distinct只能放在开头,否则报错,语法错误mysql>SELECTnickname,DISTINCT(openid)fromims_ewei_shop_member;[SQL]SELECTnickname,DISTINCT(openid)fromims_ewei_shop_member;[Err]1064-Youhavean…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号