简介
上一篇文章介绍了共享数据集与数据保护的一些小设置,这一期介绍一些与虚拟机相关的设置。
虚拟机网络配置
为什么网络不互通
在创建虚拟机时,我们会为虚拟机分配一张虚拟网卡,我们可以选择将虚拟网卡连入哪一个物理网口。但是实际这么操作之后,虚拟机虽然有网了,但是我们会发现,虚拟机是无法与宿主机建立连接的。这是因为虚拟机通过macvlan绑定在物理网口上,无需经过宿主机进行外部通信,宿主机无法在ip层取得虚拟机的流量。因此理论上来说,在宿主机对虚拟机发出回报时,报文的下一跳将被设置为宿主机(宿主机不知道可以直接从本机转发到虚拟机),并交由物理网卡转发至外部再回弹,最后重复这个过程,导致流量回环现象。
这里举个例子,假设虚拟机为131,宿主机为8。以下为流程:
(1.目标131,下一跳为8)->(2.到达8,目标131,下一跳为8)->(3.到达8,目标131,下一跳为8)…
1 | traceroute 192.168.31.131 #在宿主机192.168.31.8上对虚拟机192.168.31.131发出报文 |
可以看到,如果你想通过ip将8的报文转发到131,那么你就要经过8,而你到达8的时候,你的下一跳还是8。macvlan对这种情况进行了网络隔离,虚拟机发出的流量不能再回到宿主机,因此我们的虚拟机不能直接通过物理网卡与宿主机进行通信。
那么如何解决这个问题呢?