我正在建立一个小型企业网络。ISP 为我们提供了两个不同的静态 IP 范围;了解 ISP 提供的实际 IP 地址位于可路由的 Internet 空间中。
网络 1:128.66.0.0/30,网关 128.66.0.1,可用 IP 128.66.0.2。网络 2:128.66.1.0/29,网关 128.66.1.1,可用 IP 128.66.1.2-6。
提供的硬件是一个简单的电缆调制解调器桥接设备,带有一个同轴端口和一个以太网端口。
为了进行初步测试,我将服务器直接连接到以太网端口。如果我在给定上述参数的情况下执行静态 IP 分配,连接将按预期工作。
现在,我想使用 Cisco 2800 系列路由器(多余)为此设置提供一些实际路由。基本上,我希望路由器为工作站的基本 Internet 访问提供 NAT,并允许我将其他五个可用 IP 用于面向公众的服务器。
换句话说,路由器的 Gi0/0 将被分配 128.66.0.2/29,其 Gi0/1 将被分配 192.168.1.0/24(用于 NAT/源过载)。路由器还将为 LAN 等提供 DHCP。基本上,Gi0/0 将用作 WAN 外部端口,而 Gi0/1 将用作 LAN 内部端口。我并不关心在 128.66.0.2 上实际运行的服务,事实上,因为它将用于一般的 Internet 访问,我将应用过滤规则来降低入站未经请求的流量。
这就是我感到困惑的地方。我希望现在能够让服务器通过 128.66.1.x IP 向 Internet 提供服务。但是,我真的不想通过交换机将它们直接连接到电缆调制解调器。这意味着我必须独立地为每台机器内部设置防火墙,并且还必须直接处理静态 IP。相反,我真的更喜欢使用 VLAN 来分隔流量。
为此,我有一台 Cisco 3560 交换机。我想将 VLAN 100 分配为我的“服务器”VLAN。然后我将一根电缆从路由器的 Gi0/1 接口连接到交换机上的中继端口。一般工作站(目前)将位于未标记的 VLAN (1) 上,而服务器将位于分配给 VLAN 100 的端口上。(我可能最终也会将工作站配置为位于不同的 VLAN 上,但我已经知道该怎么做那里。)
好的,所以问题在于没有使用 NAT 并且没有为我的服务器分配像 192.168.100.x 这样的 IP,我不知道我如何或多或少地在路由器的两个接口上出现相同的网络。请记住,电缆调制解调器希望流量通过 128.66.1.0/29 范围内的源 IP 发送给自身,并且 128.66.1.1 还与 ARP 一起使用以定位电缆调制解调器。将计算机放在 Cisco 路由器的另一侧似乎使这变得不可能。
我可以只使用 NAT,但我在服务器上运行一些内部软件,这些软件强烈希望服务器在接口上拥有真实世界的 IP 地址。FTP、SIP、IRC 的 DCC 等协议依赖于反向连接,如果 Cisco 路由器甚至可以做那种事情,那么处理数据包修改本身就是一件令人头疼的事情。(Linux 可以,但我希望使用我的 Cisco 硬件。)
考虑 IP 网络和 ARP 是如何工作的,我看不出有一种方法可以在不使用 NAT 或将服务器直接连接到电缆调制解调器的情况下工作。考虑:如果位于 128.66.1.5 的服务器要访问 Internet,它会被告知使用默认网关 128.66.1.1。如果路由器在 Gi0/0.100 上收到该 IP 的 ARP 请求,它将忽略它,因为它没有该 IP 地址。因此,服务器无法访问 Internet。路由器本身可以在 Gi0/0 上为 128.66.1.1 发出 ARP 请求并接收电缆调制解调器的 MAC 地址,但这对服务器没有帮助。即使我们强制服务器知道路由器的 MAC 地址并将其与 128.66.1.1 相关联,服务器也会向路由器发送源 IP 为 128.66.1.5 的数据包。路由器会知道 128.66.1.1 在 Gi0/0 上,并因此将数据包路由到那里。但是,当响应返回时,路由器还会说 128.66.1.0/29 在 Gi0/0 上,因此永远不会将该数据包重新转发回 Gi0/1.100。
所以总结一下:
- 电缆调制解调器提供单个以太网端口,并期望在同一物理 LAN 网段上存在两个独立的 IP 网络。
- 带有 IOS 15.0/Advanced IP Services-K9 的 Cisco 路由器将用于为工作站提供路由和 NAT。它将直接连接到一个接口上的电缆调制解调器,并连接到另一个接口上的 3560 交换机,所有工作站和服务器都将使用分配给正确 VLAN 的端口连接到该交换机。
- 我希望服务器存在于 VLAN 上,并且 Cisco 路由器能够将流量来回传递到该 VLAN,可能在此过程中提供过滤和访问控制。我不希望服务器直接连接到 Internet,完全依靠它们自己的本地防火墙来确保安全。
- 我不知道是否有可能,或者它是否可以实现路由,以便可以为服务器分配其真实世界的静态 IP,但仍然让它们的流量流经 Cisco 路由器。
- 我不想浪费第二个范围内的五个公共 IP 之一,因为必须将其分配给路由器。
- 网络内的工作站必须能够通过其本机 IP 访问服务器 VLAN 上的服务器。示例:192.168.1.5 应该可以直接访问 128.66.1.4。
理论上,我觉得我几乎需要的是某种桥梁。基本上,进入 Gi0/1/VLAN100 的数据包应该桥接到 Gi0 /0,但同时,应该能够应用访问控制来防止我想要关闭的端口上的未经请求的入站流量,等等。另一种可能性是某种形式的子路由;2800 会知道 128.66.1.0/29,但会有一些异常告诉它 128.66.1.1 在 Gi0/0 上,而网络的其余部分在 Gi0/1.100 上。
有人有建议吗?