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

2022-08-30 20:35:30 浏览数 (1)

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

一)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=%7B%22request%5Fid%22%3A%22160013167319195188341576%22%2C%22scm%22%3A%2220140713.130102334…%22%7D&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=虚拟机网桥怎么设置&spm=1018.2118.3001.4187

kalilinux桥接模式的配置: 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并将它们全都开启:

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

0 人点赞