AWS Override VPC DHCP - RRAS VPN 客户端的附加选项集

AWS Override VPC DHCP - RRAS VPN 客户端的附加选项集

我正在尝试运行一个 RRAS VPN 服务器,该服务器从同一台机器上运行的 Windows DHCP 服务器获取信息。我发现 AWS DHCP 首先受到 DHCP 请求的影响,并向我的客户端提供了无效信息。我需要从我的本地主机 DHCP 服务器而不是 VPC DHCP 服务器获取附加选项字段的 DHCP 提供(无法在 VPC DHCP 选项集中指定)。有什么方法可以完全禁用 VPC DHCP 或阻止 RRAS 防火墙上的外部提供?

更新日期:2015/1/30:

感谢 Craig Watson 的出色建议,我得以解决这个问题。我的最终目标是使用各种平台上的 DHCPINFORM 机制向我的 L2TP VPN 客户端推送多条路由,而无需处理特定于供应商的问题。最终设置如下:

Windows 2012 R2 RRAS/DHCP 服务器:

  • VPC 子网 10.150/16 上具有静态 IP 的物理 LAN 适配器
  • 子网 10.250.0/24 上具有静态 IP(10.250.0.1)的 Microsoft 环回适配器
  • DHCP 服务器配置为提供 10.250.0.10-10.250.0.250 范围内的租约
  • DHCP 服务器仅绑定到环回接口
  • RRAS 配置为使用环回适配器进行 DHCP/DNS/WINS
  • DHCP 中继代理配置了内部接口和环回接口。
  • DHCP 中继代理配置为指向 10.250.0.1
  • DHCP 中继代理在两个接口上的启动阈值均设置为 0 秒(这解决了我遇到的 DHCP 请求因某种原因被拒绝的问题)

通过此设置,尽管在 VPC 中只能使用 AWS 提供的 DHCP,我仍然能够从 Windows Server 向我的 VPN 客户端提供完整的 DHCP 服务。

请注意,要使其正常工作,所有 IP 分配都必须是静态的,否则 DHCP 和 RRAS 服务将无法看到接口。

当连接到 L2TP 隧道时,我已经成功在 OSX 和 Windows 上收到了所有正确的路由,无需任何额外的客户端配置。

如果有任何遗漏,请在评论中告诉我,我会更新此帖子。

答案1

据我所知,这在 Amazon VPC 中根本不可能实现,因为它们使用 DHCP 来分配 VPC 子网中的所有 IP,而静态 IP 地址是使用弹性网络接口,其工作方式与 DHCP 预留相同。不过,Amazon Support 将能够确认这一点,因此我建议您联系他们。

您的下一个最佳解决方案是在 Windows 机器上创建一个虚拟网络,使用回环适配器。然后您可以在此网络上创建 DHCP 范围,并且基本上对盒子进行双归属。

要使用环回驱动程序创建 NIC(来自上面的链接):

开始 -> 计算机 -> 右键单击​​,属性 -> 设备管理器 -> 计算机名称,右键单击,添加旧版硬件 -> 下一步 -> 安装我从列表中手动选择的硬件 -> 下一步 -> 网络适配器 -> 右侧为 Microsoft,左侧为环回适配器 -> 下一步

一旦您拥有两个正常运行的网络,配置 RRAS 客户端以从虚拟范围接收 DHCP 地址并通过 Amazon VPC 的默认网关路由到 Internet 应该相对简单。

答案2

  • 创建您的 VPC

  • 关闭 VPC 上的 DHCP

  • 创建 2 个子网:sub-myVPC-priv 和 sub-myVPC-pub

  • 在 sub-myVPC-pub 上创建网络接口:eni-myVPC-pubGW

  • 在 sub-myVPC-priv 上创建另一个网络接口:eni-myVPC-privGW(重要:关闭源/目标检查)

  • 在 sub-myVPC-priv 上创建一条路由,并将默认路由指向 eni-myVPC-privGW(AWS 会将此标记为黑洞 - 不要害怕 - 继续阅读)

  • 在 sub-myVPC-priv 上配置所需数量的网络接口,使用:

    # aws ec2 create-network-interface --subnet-id {sub-myVPC-priv}
    

    (提示:每个子网上的前 2 个 IP 由 AWS 保留 .1=gw / .2=dns,请勿使用)

  • 获取您的 sub-myVPC-priv 上的 mac 地址和关联 IP 列表。使用:

    #  aws ec2 describe-tags --output=text | grep "<desired eni-xxxx>"
    
  • 在 sub-myVPC-pub 上配置您自己的 VPN/防火墙/gw/其他内容使用 2 个网络接口:

    • 将私有端与 eni-myVPC-privGW 绑定(如上所创建)。
    • 将公共端与 eni-myVPC-pubGW 绑定(如上所创建)。
    • 关联 ElasticIP 以加入 eni-myVPC-pubGW 的网络
  • 将防火墙配置为 DHCP 服务器以监听 eni-myVPC-privGW 在所有预分配的 mac 地址上配置静态 dhcp 地址,如上所述。

  • 迪斯科!

现在在 sub-myVPC-priv 上配置的任何机器都会根据您的私有 eni 池创建的 AWS 配置的 mac 地址,由您自己的防火墙自动分配正确的 IP 地址。

您现在可以控制您的网络。做任何事情... IPsec/OpenVPN/L2TP。您尽可能接近真实硬件。无需依赖 AWS 为您提供网络连接并向您收费。

:-) 享受……并送一些披萨!

相关内容