AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 605077
Accepted
mpontillo
mpontillo
Asked: 2014-06-14 16:21:03 +0800 CST2014-06-14 16:21:03 +0800 CST 2014-06-14 16:21:03 +0800 CST

英特尔 AMT(主动管理技术)如何不干扰 TCP/IP 主机堆栈?

  • 772

我一直在使用的英特尔开发套件包含一个远程管理功能 (另请参阅此处的 Ubuntu 手册页),它允许在操作系统挂起的情况下远程重启。

它能够在与操作系统共享的 IP 地址上侦听少数端口(具体来说是 16992 和 16993)。(通过监听 DHCP 请求或发出自己的请求;我不确定,但无论哪种方式,它在此模式下都使用共享 MAC 地址)

我让它在一个单独的 IP 地址上运行,因为我担心一个潜在的用例:AMT 如何防止主机网络堆栈与其发生冲突?

换句话说,英特尔管理软件现在正在侦听 [至少] 两个 TCP 端口,带外且操作系统不知道。假设我启动了一个到远程主机的 TCP 连接,并且主机堆栈选择 16992 或 16993 作为本地端口来侦听 [用于返回盒子的数据包]。

从远程主机返回的数据包不会被“黑洞”并且永远不会到达操作系统吗?或者是否有一些预防措施,比如 Linux 内核中的 Intel 驱动程序知道 TCP 应该避开端口 16992?(似乎不太可能,因为这是一个与操作系统无关的功能。)或者管理接口可以将发送到不属于已知管理会话的端口 16992 的流量转发回主机堆栈?

无论哪种方式,我都不愿意将它用于网络密集型负载,直到我了解它是如何工作的。我搜索了英特尔文档,也找不到任何东西。

我想这可以通过启动大约 30,000 个 TCP 连接来测试,并检查连接是否有效,即使端口重叠也是如此。但我还没有机会这样做。

(脚注:我意识到这个问题类似于基于 Intel vPro 的计算机如何保持 IP 连接?但这个问题一般涉及连接,而不是与与主机堆栈重叠的特定 TCP 端口的连接。)

networking
  • 5 5 个回答
  • 7608 Views

5 个回答

  • Voted
  1. Best Answer
    mpontillo
    2014-06-15T14:46:29+08:002014-06-15T14:46:29+08:00

    在将 AMT 配置为侦听共享 IP 地址后,我运行了上面评论中kasperd提到的测试。(针对我自己的带有 SSH 服务器的远程主机,example.com当然不是真的)结果如下:

    正面测试用例(使用AMT未使用的端口):

    $ nc -p 16991 example.com 22
    SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.4
    ^C
    $
    

    否定测试用例(使用 AMT 使用的端口):

    $ nc -p 16992 example.com 22
    $
    

    (几分钟后,否定测试用例超时,返回shell提示符。)

    如您所见,返回端口 16992 的数据包在到达主机的 TCP/IP 堆栈之前就被丢弃了。

    建议:如果可靠的网络对您很重要,请不要在与您的主机 TCP/IP 堆栈相同的 IP 地址上启用 AMT!

    • 10
  2. BBQ
    2018-08-28T13:24:21+08:002018-08-28T13:24:21+08:00

    英特尔论坛主机 IP 和英特尔 AMT 设备 IP 之间的映射有一个有争议的线程, 建议

    使用静态 IP 操作时,必须为 AMT 和主机配置不同的 IP 地址。

    和解释:

    当您使用静态 IP 配置 vPro 机器时,AMT 将使用称为可管理性 mac 的 mac 地址,该地址仅在静态 IP 模式下播放。可管理性mac地址与主机提供的mac地址不同。

    我确认将 DHCP 与 AMT 和主机一起使用会导致路由问题。例如 ping 误导:

    64 bytes from 192.168.1.11: icmp_seq=18 ttl=64 time=0.559 ms
    64 bytes from 192.168.1.11: icmp_seq=18 ttl=255 time=0.614 ms (DUP!)
    64 bytes from 192.168.1.11: icmp_seq=19 ttl=64 time=0.579 ms
    64 bytes from 192.168.1.11: icmp_seq=19 ttl=255 time=0.630 ms (DUP!)
    64 bytes from 192.168.1.11: icmp_seq=20 ttl=64 time=0.553 ms
    64 bytes from 192.168.1.11: icmp_seq=20 ttl=255 time=0.602 ms (DUP!)
    
    • 2
  3. Roman Sevko
    2015-07-17T23:53:16+08:002015-07-17T23:53:16+08:00

    从远程主机返回的数据包不会被“黑洞”并且永远不会到达操作系统吗?

    来自具有“AMT 端口”的远程主机的所有数据包永远不会到达任何操作系统。它们被英特尔 ME/AMT 拦截。默认情况下,它们是端口 16992-16995、5900(AMT 版本 6+)、623、664。

    • 1
  4. Lukáš Kučera
    2015-11-14T00:39:42+08:002015-11-14T00:39:42+08:00

    应该注意的是,AMT 旨在作为客户端 OOBM 技术,而不是服务器之一。因此,是的,您的计算机可能会决定使用 AMT 端口,但前提是您专门将其配置为这样做。根据 IANA 规范的建议,大多数操作系统都带有预配置的临时端口,范围为 49152 到 65535,一些 Linux 发行版具有 32768 到 61000,旧 Windows 具有 1025-5000。

    因此,从我的角度来看,为 AMT 使用共享 IP 是省事的,因为它的端口不在临时范围内(除非您知道自己在做什么,并更改此特定设置)并且不应被任何应用程序用作侦听端口。

    • 1
  5. Mark
    2015-01-21T03:59:55+08:002015-01-21T03:59:55+08:00

    一种解决方案可能是使用netsh.

    默认情况下,Windows 使用端口 49152 >> 65636(或任何上限)因此使用 AMT 非常安全。您可以使用 设置端口范围netsh。例如,我总是为外围机器使用大约 1000 个端口。

    此外,英特尔剥离 AMT 命令并将这些端口(实际上是 16991-16995!)上的所有其他流量传递给操作系统(如果存在操作系统)。因此,如果您的应用程序打开了 AMT 范围内的端口,流量仍将通过操作系统传递到应用程序,因为就像我说的那样,英特尔只剥离了 AMT 管理命令。您的应用程序不太可能发送 AMT 命令。

    • -2

相关问题

  • 谁能指出我的 802.11n 范围扩展器?

  • 我怎样才能得到一个网站的IP地址?

  • 在一个 LAN 中使用两台 DHCP 服务器

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve