桥接网络和 NAT 网络之间的差异

ogu*_*nlu 32 networking nat bridge

我不完全理解 NAT 和虚拟机上的桥接连接之间的区别。据我发现,如果我们建立桥接连接,与我们的主机在同一网络上的机器可以访问我们的虚拟机。

好吧,在互联网上,人们写道 NAT 和桥接虚拟机都可以像主机一样拥有 IP 地址,但是如果是 NAT,则同一网络上的机器无法访问我们的虚拟机,但如果它是桥接的,那么他们可以.

如果 NAT 和桥接连接都可以有不同的 IP 地址,那么为什么我不能访问 NAT 的地址而我可以访问桥接地址呢?

注意:说明 NAT 连接受到保护是不够的;我想知道那是怎么回事。

Jef*_*and 29

NAT 的工作原理

通常可路由的外部地址是 NAT 的“外部”。NAT 后面的机器有一个通常不可路由的“内部”地址。当内部地址和外部地址之间建立连接时,中间的 NAT 系统会创建一个由(outside_ip、outside_port、nat_host_ip、nat_host_port、inside_ip、inside_port)组成的转发表条目。任何与前四部分匹配的数据包都会将其目的地重新写入后两部分。

如果收到的数据包与 NAT 表中的条目不匹配,则 NAT 盒无法知道将其转发到何处,除非手动定义了转发规则。这就是为什么默认情况下,NAT 设备后面的机器是“受保护的”。

桥接

桥接模式的作用就像您要桥接的接口现在是一个交换机,而 VM 已插入其上的端口。一切都像连接到该网络的另一台普通机器一样。


Luc*_*man 11

使用 NAT,虚拟机的 IP 和主机连接的网络是分开的。这意味着您的 VM 位于不同的子网上。你可以访问网络是因为你的主机在做网络地址转换(如果你不知道什么是严格、适度和开放的NAT?)。IP 由主机上运行的 DHCP 分配

通过桥接接口,您的虚拟机可以直接连接到它们所使用的网络接口所连接的网络。这意味着在您的情况下,它们将直接连接到您的主机连接的网络,从网络上运行的 DHCP 服务器获取 IP 地址(这可能也为您的主机提供了 IP)。

现在为什么你不能访问这些机器:

因为您需要在 NAT 段上启用端口转发。NAT 将您的虚拟机 IP 转换为单个 IP。传入的连接必须使用端口转发进行路由,因为主机无法知道该连接是指哪个虚拟机。

虽然 NAT 可以提供一些保护,但它不是防火墙,原因与上述相同(使用 NAT 时,除非启用端口转发,否则入站主机无法连接)。然而 NAT 并不安全(http://blog.ioshints.info/2011/12/is-nat-security-feature.html)。

NAT 有一些副作用,类似于网络边缘常用的安全机制。这并不能使它成为安全功能,更重要的是因为有很多 NAT 变体。


Chr*_*s S 9

桥接连接就是这样,本质上是一个虚拟交换机连接在 VM 和您的物理网络连接之间。

NAT 连接也就是这样,NAT 路由器不是交换机,而是位于 VM 和您的物理网络连接之间。