强弱主机模式

网络主机的一种越来越常见的配置是通过多个网络接口实现多宿主化。多宿主主机可同时连接多个网络,如 Intranet 或 Internet,从而提供增强的连接性。但是,由于它们既可连接到 Intranet,又可连接到

Internet,因此在多宿主主机上运行的服务容易受到攻击。为了帮助您阻止攻击并了解如何处理多宿主主机的 IP 通信,我将介绍多宿主主机的强弱主机模式,然后讲述 Windows® 如何支持这些模式。

RFC 1122 规范描述了不作为路由器使用且仅发送和接收单播 IP 通信的多宿主主机的两种模式。这两种模式,就是通常所说的强主机和弱主机,指定了发送或接收的单播通信是否必须与通信传输所经的网络接口相关联。这些模式确定主机如何发送和接收数据包,以及主机如何影响在其上运行的服务的易受攻击性。

虽然 RFC 1122 是为 IPv4 定义了这些模式,但这些模式同样适用于 IPv6。IPv6 的一个多宿主主机示例是一台同时使用 IPv4 和 IPv6 的计算机,该计算机具有一个连接 Intranet 的网络适配器和一个 IPv6 隧道接口。

弱主机模式

在弱主机模式下,IP 主机(IPv4 或 IPv6)可在未分配正处于发送状态的数据包的源 IP 地址的接口上发送数据包。这称为弱主机发送行为。IP 主机还可在未分配处于接收状态的数据包的目标 IP 地址的接口上接收数据包。这称为弱主机接收行为。

当您使用具有多个接口的多宿主 IP 主机时,在接口上启用弱主机接收行为有时可使主机容易受到多宿主攻击。例如,图 1 显示了同时连接 Internet 和 Intranet 的主机 A。主机 A 具有分配给其 Internet 接口的公共 IPv4 地址 131.107.89.211,以及分配给其 Intranet 接口的专用 IPv4 地址 192.168.17.48。

图 1 多宿主计算机示例 

如果主机 A 在其 Internet 和 Intranet 接口都启用弱主机发送行为,则它可在其 Internet 接口上发送来自 131.107.89.211 和 192.168.17.48 的数据包,在其 Intranet 接口上发送来自 131.107.89.211 和 192.168.17.48 的数据包。

如果主机 A 启用弱主机接收行为,则它可接收以下类型的数据包(假设主机防火墙规则允许该传入通信):在其 Internet 接口上接收到 131.107.89.211 和 192.168.17.48 的数据包,在其 Intranet 接口上接收到 131.107.89.211 和 192.168.17.48 的数据包。

当您启用弱主机接收行为后,Internet 中的恶意用户可将数据包发送至主机 A 的 Internet 接口,攻击在主机 A 上运行的、仅对 Intranet 中的主机可用的服务。如果 Internet 基础结构支持将目标为 192.168.17.48 的数据包转发到主机 A 的 Internet 接口,就可能发生此类型的攻击。您可在主机 A 的 Internet 接口上设置适当的防火墙规则,防止此类型的攻击。但是,即使您这样做了,在主机 A 上运行的对 Intranet 客户端可用的服务仍存在风险。

强主机模式

在强主机模式下,发送和接收行为有所不同。使用强主机发送,主机仅可在分配了处于发送状态的数据包的源 IP 地址的接口上发送数据包。使用强主机接收,主机仅可在分配了处于接收状态的数据包的目标 IP 地址的接口上接收数据包。

如果图 1 中主机 A 在其 Internet 和 Intranet 接口都启用强主机发送行为,则它仅可在其 Internet 接口上发送来自 131.107.89.211 的数据包,在其 Intranet 接口上发送来自 192.168.17.48 的数据包。

如果启用强主机接收行为,则主机 A 仅可在其 Internet 接口上接收到 131.107.89.211 的数据包,在其 Intranet 接口上接收到 192.168.17.48 的数据包。

图 1 中,主机 A 的强主机模式将所有地址为 192.168.17.48 的传入数据包放到 Internet 接口上,而无需您配置防火墙规则,有效地将主机 A 的 Intranet 接口和 Internet 接口隔开。

当您选择强主机模式时,请记住,它也许会影响为弱主机行为设计的某些连接类型。例如,某些负载平衡实现也许使用弱主机接收行为在任一接口接收数据包,然后将它们路由到适当的内部接口。对于使用弱主机发送来发送来自某接口(与某快速连接对应)上的任一源地址的通信的主机,也可能会有影响。

强主机发送和接收

现在,我们看一看当您允许每个接口启用或禁用强主机发送和接收时,在 IPv4 或 IPv6 的普通主机上,发送和接收过程是如何进行的。

对于发送中的数据包,IP 首先检查是否已经指定了源地址。如果未指定,IP 将在路由表中无约束查询该数据包的目标地址。在无约束查询中,路由表中的所有路由均在考虑之列。根据所选的目标路由,IP 确定下一跃点接口(该接口用于将数据包放置在链路层)和下一跃点地址。根据下一跃点接口,IP 根据需要使用在 RFC 3484 中定义的地址选择过程来确定最佳源地址。此时,IP 具备了发送数据包的所有条件:源地址和目标地址、下一跃点接口和下一跃点地址。

如果指定了源地址,那么源接口也就可知。因为源接口分配给了源地址。然后,IP 就可确定源接口上是否已启用强主机发送。

如果未启用,IP 将在路由表中对数据包的目标地址执行无约束查询。根据目标的最佳匹配路由,IP 确定下一跃点接口和下一跃点地址。IP 具有了源地址和目标地址、下一跃点接口和下一跃点地址。请注意:如果在源接口上禁用强主机发送行为,下一跃点接口也许与源接口不同。

如果源接口上启用了强主机发送,IP 将在路由表中对数据包的目标地址执行受约束的查询。在受约束的查询中,仅考虑带有源接口的下一跃点接口的路由。根据所选目标路由,IP 确定下一跃点地址。IP 具有了源地址和目标地址、下一跃点接口和下一跃点地址。请注意,如果在源接口上启用强主机发送行为,下一跃点接口将始终与源接口相同。图 2 显示发送主机进程的普通 IP。

图 2 发送主机进程的通用 IP (单击该图像获得较大视图)

指定源地址后,受约束的路由查询可在路由表中的与目标最相匹配的多个路由中选择指标较高的路由。例如,图 1 中的主机 A 具有两个默认路由,一个指向跃点为 10 的 Internet,另一个指向跃点为 20 的 Intranet。两个 LAN 接口上均启用了强主机行为。

如果主机 A 上的发送应用程序未指定源地址,则路由查询结果将是具有最低跃点数的默认路由;主机 A 始终从源地址为 131.107.89.211 的 Internet 接口发送通信。然而,如果主机 A 上的发送应用程序指定了源地址 131.107.89.211,那么查询结果将是 Internet 接口的默认路由;主机 A 从 Internet 接口发送通信。如果主机 A 上的发送应用程序指定源地址为 192.168.17.48,查询将选择 Intranet 接口的默认路由;主机 A 从 Intranet 接口发送通信。通过受约束的路由查询,IP 使用具有较高跃点数的默认路由发送源地址为 192.168.17.48 的通信。

对于已接收的通信,IP 首先确定该通信的目标是否为本主机。如果不是,由于该主机不充当路由器,IP 自行丢弃该数据包。然后,IP 确定传入接口(接收数据包的接口)上是否启用了强主机接收。如果未启用,IP 将处理该数据包。如果已启用,IP 将确定该传入接口是否分配了数据包中的目标地址。如果已分配,IP 将处理该数据包。如果未分配,IP 将自行丢弃该数据包。图 3 显示普通接收主机进程。

图 3 接收主机进程 

Windows 中的弱强主机行为

Windows XP 和 Windows Server® 2003 使用弱主机模式为所有 IPv4 接口执行发送和接收进程,使用强主机模式为所有 IPv6 接口执行发送和接收进程。您不能对该行为进行配置。默认情况下,Windows Vista 和 Windows Server 2008 中的下一代 TCP/IP 堆栈支持所有接口上的 IPv4 和 IPv6 强主机发送和接收(但 Teredo 隧道接口除外,该接口适用于 Teredo 特定主机中继)。图 4 按照每个接口列出了可用于配置 IPv4 和 IPv6 的发送和接收行为的命令。注意,InterfaceNameOrIndex 要么是来自“网络连接”文件夹的接口名称,要么是其接口索引。您可从命令显示中获取接口的接口索引:

Figure 4 配置强弱发送和接收行为的命令

• netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled
• netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled
• netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled
• netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled
 
netsh interface ipv6 show interface 

弱强主机行为和 RFC 3484

为了提供选择源与目标 IPv6 和 IPv4 地址(用于尝试连接)的标准化方法,RFC 3484 定义了两种算法。一种是源地址选择算法,用于选择与目标地址一起使用的最佳源地址。另一种是目标地址选择算法,用于按优先级顺序对可能的目标地址列表排序。

确定给定的目标地址的候选源地址列表时,强弱主机行为会起作用,并且还会影响目标地址的最终排序列表。对于强主机发送行为,候选源地址列表包含分配给目标的发送接口的单播地址。对于弱主机发送行为,候选列表可包含分配给任何已启用弱主机发送的接口的地址。有关源地址选择和目标地址选择的详细信息,请访问microsoft.com/technet/community/columns/cableguy/cg0206.mspx

默认情况下,弱主机发送和弱主机接收对于所有接口的 IPv4 和 Pv6 都是禁用的,但适用于 Teredo 特定主机中继的 Teredo 隧道接口除外。

有关 RFC 3484 的详细信息,请参阅“弱强主机行为和 RFC 3484”侧栏。

禁用远程访问 VPN 连接默认路由

远程访问虚拟专用网络 (VPN) 客户端是多宿主主机的另一个示例。尽管它可能具有连接到 Internet 的单一 LAN 接口,但当远程访问 VPN 客户端完成 VPN 连接后,它成为多宿主主机。它具有两个接口:LAN 接口和一个基于适用于 VPN 连接的点对点协议 (PPP) 的接口。它还具有两个 IPv4 地址:Internet 服务提供程序分配的 IPv4 地址用于 LAN 接口,VNP 服务器分配的 IPv4 地址用于基于 PPP 的接口。

为了确保 VPN 客户端通过 VNP 连接将默认路由通信发送至 Intranet,Windows XP 和 Windows Server 2003 通过提高现有默认路由的跃点数,添加一个使用 PPP 接口且具有较低跃点数的新默认路由,修改 IPv4 路由表。该默认行为使 Intranet 上的位置在 VPN 连接持续期间可以访问,而使 Internet 上的几乎所有位置在 VPN 连接持续期间都无法访问。通过不为 VPN 连接添加默认路由而为 Intranet 目标添加特定路由,可将 VPN 客户端配置为拆分隧道以同时访问 Internet 和 Intranet 位置。但是,仍存在一种风险:拆分隧道 VPN 客户端可在 Internet 和 Intranet 两者间路由数据包。有关详细信息,请参阅 microsoft.com/technet/community/columns/cableguy/cg1003.mspx

Windows XP 和 Windows Server 2003 中的默认 VPN 客户端行为是为弱主机发送行为设计的。路由查询始终使用 VPN 连接的默认路由,因为它具有最低跃点数。然而,使用强主机发送行为时,用于发送通信的默认路由取决于数据包中的源 IP 地址。对于来自由 ISP 分配的 IPv4 地址的通信的路由查询,将使用默认路由,该默认路由使用 LAN 接口,从而可访问所有 Internet 位置。对于来自由 VPN 服务器分配的 IPv4 地址的通信的路由查询,将使用默认路由,该默认路由使用 PPP 接口,从而可访问所有 Intranet 位置。所以,当您使用强主机发送行为时,VPN 客户端会具有一个分拆隧道配置,并且可同时访问 Internet 和 Intranet,甚至对于那些没有管理员级别权限对 IPv4 路由表进行直接修改的应用程序也如此。

为了阻止强主机发送行为在默认情况下创建拆分隧道配置,当 VPN 连接完成后,Windows Vista® 和 Windows Server 2008 中的 VPN 客户端自动禁用 LAN 接口的默认路由。该行为可确保在路由表中仅存在一个单一的使用 PPP 接口的默认活动路由。该行为还可确保没有管理员权级别权限的应用程序不能执行分拆隧道。

由于来自 VPN 客户端计算机的通信必须源自由 VPN 服务器分配的 IPv4 地址,该行

时间: 2024-11-10 17:44:32

强弱主机模式的相关文章

仅主机模式进行上网

1 主机的控制面板,找到电脑的实际网卡,勾选,并选择VMware Network Adapter VMnet1 找到虚拟网卡VMware Virtual Ethernet Adapter for VMnet1,检查IP 2 VMware Workstation,仅主机模式 3 进入虚拟机,修改IP 查看IP地址 ip addr show 修改虚拟机的IP地址 ip addr add dev eno16777736 192.168.137.18/24 检查能否ping通 ping 192.168.

Windows 系统与VMware 虚拟机通过主机模式通讯

用过vmware的朋友都知道,vmware有5种网络连接模式, 可能大家比较熟悉的是桥接模式.NAT模式.仅主机模式,平时大家为了实验会把虚拟的网络设置成桥接模式,这个可能直接通讯.今天我们说的是第4种,自定义模式. 第一步,新建一个vmware的虚拟网卡,大家可以看到,我vmnet2没有开启DHCP,然后后面的操作你也可以使用VMnet1因为类型是一样的.关于这个仅主机模式使用的就是VMnet1,使用这个网上我们正常使用的系统是没有办法与虚拟机你的电脑通讯的. 但有时候我们实验需要想要创建一个

VMWare(虚拟机) 网络配置模式 :桥接模式、nat模式、主机模式

桥接模式: 在此模式下,虚拟机中虚拟的操作系统就是局域网中一台独立的主机 NAT模式: 在NAT模式下,虚拟系统需要记住NAT(网络转换)功能,通过宿主及其所在的网络来访问公网.NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯 主机模式: 主机模式下,真实环境和虚拟环境是隔离开的:在这种模式下,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开.(虚拟系统和

虚拟机与物理机仅主机模式下通信

物理机ip如下: 可以看出vmnet1网卡已经可以使用了,且ip为192.168.248.1 于是配置虚拟机上网方式: 将虚拟机上网方式改为主机模式,然后找到虚拟机网卡编辑,见下图 啥都不用改,只是查看满足主机模式没有,接下来配置虚拟机ip 将虚拟机的网关指向物理机的vmnet1的ip,将DHCP改为静态 于是重启网络,由于我一直失败在这里,发现重启网络之后一直ping不通物理机上面的vmnet1的ip192.168.248.1,于是到处查资料,发现并没有配错ip,于是经过网友提醒,重启了虚拟机

Linux中仅主机模式下设ip

昨天在项目中接触到了Hadoop,需要用到linux来操作,以前有过接触,大致都忘了,在装备虚拟机的时候,遇到的IP  ping不通的问题,模式是仅主机模式,今天分享一下,以便自己以后再遇到,也可以迎刃而解,也希望可以帮到刚接触虚拟机的朋友. 打开网络共享中心-->更改适配器设置-->,右击打开属性, 这是我给设置的IP等等. 再右击本地连接, 打开共享,勾上允许-----框中选择刚才的 VMware Network Adapter VMnet1   这个, 接下来.就是设置虚拟机中的Ip了,

VMWare虚拟机提供的桥接、nat和主机模式的区别

VMWare提供三种工作模式桥接(bridge).NAT(网络地址转换)和host-only(主机模式). 桥接模式 在桥接模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机(主机和虚拟机处于对等地位),它可以访问网内任何一台机器.在桥接模式下,我们往往需要为虚拟主机配置IP地址.子网掩码等(注意虚拟主机的ip地址要和主机ip地址在同一网段). 使用桥接模式的虚拟系统和主机的关系,就如同连接在一个集线器上的两台电脑:要让他们通讯就需要为虚拟系统配置ip地址和子网掩码.如果我们需

VMWare虚拟机提供的桥接、nat、仅主机模式、自定义、LAN区段的用法

前言: 想必大家对vmware workstation一定很熟悉了吧?但你是否玩的很6呢?今天和大家简单谈谈这些老技术的用法. 种类: 1.桥接 2.NAT 3.仅主机模式 4.自定义 5.LAN区段 用法: 1.桥接: 和局域网的一台pc没有什么区别,配置相同网段的ip(不冲突即可)既可! 2.NAT: 地址转换,电脑默认的vmware8要启用,客户端自动获取ip既可,在虚拟网络编辑器里可以看到其定义的tcp/ip信息.如果不想桥接,或者局域网ip地址不够用或者mac绑定,可以用NAT的模式.

虚拟机之仅主机模式(HostOnly)链接外网设置

我的环境: 虚拟机-VMware 虚拟系统-CentOS 现实主机-win7 具体设置步骤: 一.设置现实主机 (地址等不用额外设置,下面是我电脑正常上网的配置) 将本地链接设置共享(这步很重要) 二.配置虚拟机的虚拟网卡 其中DNS和默认网关均为现实主机的IP地址. 三.虚拟系统网络配置 其中DNS和默认网关为虚拟网卡的IP地址 四.配置成功 虚拟机之仅主机模式(HostOnly)链接外网设置

VMware下网络配置三种模式对比(桥接模式,主机模式,网络地址转换)

1 VMware三种网络模式简介 VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).安装好虚拟机以后,在网络连接里面可以看到多了两块网卡.如下图. 2 bridged(桥接模式) 2.1 模式简介 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器. 在桥接模式下,你需要手工为虚拟系统配置IP地址.子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行