K8S-基础-Virtualbox中的NAT网络模式详解01

2022年3月18日 1164点热度 0人点赞 0条评论

1 主要原理

NAT网络模型基于NAT协议(Network Address Translation,网络地址转换),主要功能是能将IP数据报头中的IP地址转换为另一个IP地址的过程。

在实际应用中,NAT主要用于实现私有网络访问公共网络的功能。

NAT网络模型使得虚拟机的私有ip可以通过虚拟NAT设备转化为物理主机的ip,然后通过物理网卡实现外网的访问

需要注意的是Virtualbox中的NAT网络模型分为了NATNAT网络,两者的区别主要有:

  • NAT下的虚拟机之间是互相隔离的,彼此之间不能进行通信,也就是不能彼此互ping,因为它们各自分配着独立的虚拟NAT设备
  • NAT网络下的虚拟机之间因为共享同一台虚拟NAT设备,彼此互通

再回过来总结下NAT网络模型和物理主机的连通情况:

  • 虚拟机可以ping通物理机,但是物理主机无法ping通虚拟机
  • 如果物理主机可以上外网,那么虚拟机就可以上外网

VirtualBox的NAT模型下,主机ping不通虚拟机,但是VMware经过实验验证是可以ping通的,既然无法ping通,那不是代表无法使主机ssh连接到虚拟机吗?在Virtualbox下有什么方法解决吗?方法还是有的:

方法一:端口映射

虚拟机采用NAT网络配置,虚拟机的ip相对于宿主机是隐藏的。想要使得宿主机对虚拟机进行访问,需要配置端口映射

通过将宿主机的一个端口(localhost:port)与虚拟机的ssh端口进行连接,宿主机通过访问宿主机端口(localhost:port)实现对虚拟机ssh端口(ip:22)的访问

选择NAT网络模式,然后打开virtualbox的【全局设定】-【网络】,添加新的NAT网络,然后点击【端口映射】,然后新增端口映射的配置

d7e02b1ffc3b786b10a0a80f9ab209ed

ad75596365eb3645098bc9027da6018f

确认好配置后,记得勾选NAT网络的启动网络选项。

配置虚拟机网络:

0aec67014b02dcc98893074a20a10138启动虚拟机:

dcf4ee2eb3261386cb7b83d783224f0a

我们配置网络:

3e7610339ae747466cd51a721f12a481重启虚拟机。

终端进行连接成功。

a2d52bf6c0f605b7cb175ce952013ac7

4.2 网络原理图

4.2.1 NAT

image.png

如上图,每台虚拟机都连接着独立的虚拟NAT设备,虚拟机之间彼此都是独立的,彼此之间不能进行通信

唯一的通信道路就是借着NAT设备和利用物理网卡来实现对外网的访问,也就是只要物理机能够上外网,那么虚拟机也就能上外网

4.2.2 NAT网络

image.png

如上图,NAT网络模式下虚拟机之间共享同一台虚拟NAT设备,也就是彼此之间都连接在同一网段下,彼此之间是可以实现通信的

与物理主机的通信方式就和NAT是一样的,通过物理网卡来实现对外网的通信

4.3 配置方式

4.3.1 NAT

NAT模式的配置还是比较简单的,只需要启动网卡并选择模式为NAT即可,启动后会发现已经给虚拟机分配好ip

93677ac8e9d20aedfcb1eef1b729b99c

查看ip,并尝试ping物理主机和外网,观察网络连通情况,如图

宿主IP4978200da51e1b01d6642b8c116ed12f

另起一台虚拟机,新增网卡并配置为NAT模式,尝试两台虚拟机进行互ping,结果是彼此之间都无法ping通

2f39861bbe678e62a4bc6be258d7f9d5

4.3.2 NAT网络

由上面的原理可知,NAT网络模式下是共享同一台虚拟NAT设备,所以需要新建一台共享的NAT设备,【全局设定】-【网络】-【添加新的NAT网络】

然后创建虚拟机的时候,新增网卡并选择NAT网络模式,界面名称选择刚才新建的NatNetWork即可46f7ec1c83d398be0d7b72c77a023283

网络情况基本上跟上面保持一致,ping主机和外网都没问题.

唯一的区别,另起一台虚拟机,同样模型选NAT网络,然后彼此之间这一次是可以ping通的

0bcd11135a234db9739aea5c76d84df7

 

参考原文:https://joyohub.com/network/virtoolbox-network/,部分图片改成实践操作。

管理员

这个人很懒,什么都没留下

文章评论