我正在尝试运行一个 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 为您提供网络连接并向您收费。
:-) 享受……并送一些披萨!