我在一个小办公室里做 Web 开发,需要有多个可以通过互联网访问的物理和虚拟服务器。我还有一些设备(电脑、笔记本电脑、平板电脑、打印机等)也需要连接。我从我的 ISP 那里获得了一个包含 8 个 IP 的子网,虽然这对于 Web 服务器来说已经足够了,但对于需要访问网络的所有设备来说,它还是太小了。
我的路由器是运行 DD-WRT 的 ASUS RT-N16。我对这个路由主题的了解足以让我感到危险,就像一个拿着魔法笔的 2 岁小孩一样。我想让我的内部网络在 192.168.xx 网络上保持 NAT,并将 68.69.xx 255.255.255.248 流量直接路由到服务器。物理网络由 4 端口 DD-WRT 路由器和非托管千兆交换机组成。我有一个光纤连接到办公室,用作以太网端口。换句话说,我可以将笔记本电脑直接插入其中并访问互联网。没有登录名或密码,路由器设置为从 ISP 获取 DHCP,并为内部网络提供 DHCP 地址。
到目前为止,我所做的就是谷歌搜索并尝试不同的配置,但收效甚微。最后我决定我甚至不知道如何提出所需的问题。
我的问题是:
这是配置网络的最佳方式吗?
你是怎么做到的?VLAN?还是多台路由器?
我从来没有使用过 GUI 以外的任何工具来配置路由器,因此如果这是命令行的话要小心。
答案1
首先,这个问题在 Serverfault.com 上会得到更好的回答,因为它面向商业环境,而不是单用户服务台类型的问题。尽管有些人对此有争议。或者,您需要找到网络工程师顾问来为您设计它,或者阅读大量有关 IP natting 和 VLAN 路由的资料。
您可以根据自己的预算采用几种不同的方法,但我会研究思科解决方案,以便拥有可路由的 VLAN 和 IP NAT(网络地址转换)。在这种情况下,您将在思科交换机上运行多个 VLAN(可以使用第 2 层交换机,让您的路由器为您路由 VLAN 或第 3 层),并由思科路由器负责将所有外部 IP NAT 到内部地址和 VLAN。在思科路由器上设置 IP NAT 时,您可以通过设置 acl 来限制访问,并使用 dot1q 标记路由到 VLAN。
示例设计如下:
1-2 个公共 IP 地址与 Vlan 2 私有 IP 进行映射(笔记本电脑、平板电脑等) 1-2 个公共 IP 地址与 Vlan 3 阶段进行映射(阶段测试环境) 2-6 个公共 IP 地址与 Vlan 4 Web 服务器进行映射
祝你好运..
答案2
为网关分配一个静态地址,对其他所有地址进行 NAT,并在不同的端口上运行每个 Web 服务器。配置路由器以将适当的端口 (80) 转发到每个服务器的本地 IP 地址。
答案3
我认为这个问题代表了一个更高层次的问题,也许是在应用层,而不是路由层。为了让多个服务器在同一个外部地址和端口上内部运行,中间需要一个能够理解更高级别 HTTP 请求的设备。该设备还能够从 URL 结构解析域,并同时查询内部 DNS 服务器以获得适当的解析。又名反向代理。
本质上,外部 DNS 请求会被发送到您网络上的内部 DNS 服务器。一旦发生这种情况,浏览器将通过 NAT 网关发送 HTTP 请求,但会被反向代理服务器拦截,然后反向代理服务器会从标头解析域,在内部解析相关名称,并将请求转发到正确的服务器。
答案4
根据我在这里看到的情况,有以下几点:
- 将静态 IP 的 80 端口转发至那些足够平稳的服务器。
- 对于随机内部设备访问,任何静态 IP 都可以用作 NAT 出口 IP。出于 IP 信誉原因,最好只为此保留一个 IP,但由于只有 6 个可用 IP,这可能不太合理。
- 对于特殊的雪花,你可以发挥相当的创意HAProxy配置。您可以根据服务器名称设置规则(假设不涉及 SSL),然后根据该名称路由到已配置的后端服务器。有点像虚拟主机,但在代理级别而不是 Web 服务器本身处理。
附注:这就是 IPv6 的原因未来,这种问题就消失了。但这现在对你没有帮助(当然,除非你的客户端有 v6 支持)。
对于小型办公室设置来说,您的配置看起来很正常。