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 / 问题 / 507491
Accepted
orokusaki
orokusaki
Asked: 2013-05-14 17:53:33 +0800 CST2013-05-14 17:53:33 +0800 CST 2013-05-14 17:53:33 +0800 CST

了解网络托管环境中的网络

  • 772

背景信息(请原谅我在这里缺乏正确的行话):我将运行一对物理服务器,每个服务器都使用 Nginx 托管一些简单的站点。服务器在一个 colo 中,我将有一些专用 IP 地址(最多 16 个)。服务器通过交换机连接。他们的网络位于 Cisco 防火墙后面。

我的意图(纠正我,如果这是完全错误的)是给每台服务器一个虚拟 IP。然后,通过防火墙进入的流量将准备到虚拟 IP 地址之一(我的主服务器)。这样,如果主物理服务器出现问题,我可以将其关闭并在备份物理服务器中使用其 VIP(手动故障转移)。我的理解是,如果我将故障转移服务器的虚拟 IP 更改为主服务器使用的虚拟 IP,则对公共 IP 地址的请求将被路由到故障转移服务器。

然而,在理解网络方面我很困惑(你可能已经知道了)。

1) 如果 TCP 连接到达我网站的公共 IP,它会命中防火墙。然后,它将被定向到主服务器(基于 VIP)。这个对吗?

2) 如果我的服务器都位于同一个防火墙后面,如何在同一个 IP 地址访问它们(以便我可以将我的 A 记录指向单个 IP)?或者,这是不可能用防火墙来做的,只有路由器才能处理吗?

3) 我的用例是否更适合使用静态 IP 地址或 DHCP?两者都有哪些缺点?

4)我是否正确理解公共 IP 地址。我是否要为我的防火墙分配一个公共 IP 地址,然后将连接从那里转发回防火墙后面的单个 IP?或者,我的每台服务器是否都获得一个 IP 地址,而 TCP 连接是否只是通过我的防火墙并根据所连接的 IP 进入其中一台服务器?

networking
  • 1 1 个回答
  • 493 Views

1 个回答

  • Voted
  1. Best Answer
    Taylor Jasko
    2013-05-14T19:23:43+08:002013-05-14T19:23:43+08:00

    你的理解是正确的。请注意,在网络术语中,虚拟 IP 本质上是您的路由器控制的公共 IP,您可以随时随地将其出租……

    有两种类型的 IP 地址,公共 IP(您通常将其分配给路由器本身),然后是私有 IP,您在 VLAN 中拥有 100% 的控制权。在你的情况下,你想要获取所有公共 IP,将它们放在一个 VLAN 中,将它们全部分配给你的路由器(并让你的路由器通过静态 IP 路由租用它们),并确保路由器已设置对于 NAT 1:1 重定向(它可以采用公共 IP 并将其重定向到内部 IP 地址。这样,在您的服务器上,您可以将其分配给 10.0.0.101 并将备份服务器设置为 10.0.0.102 . 如果你的主服务器宕机了,你不需要切换任何公共IP地址,你需要在路由器端做的就是让你的公共IP指向你的另一个私有IP。

    但是,还有其他方法可以做到这一点。如果您使用 Nginx 的上游后端功能 ( http://wiki.nginx.org/HttpUpstreamModule ) 之类的东西,您也可以在多个服务器之间实现 Web 服务器负载平衡(如果一个后端出现故障,Nginx 会知道这一点),但是如果代理您的请求的主要 Nginx Web 服务器出现故障,您还必须使用其他一些花哨的路由才能很好地进行故障转移。您可能想阅读https://stackoverflow.com/questions/10971298/load-balancing-with-nginx :)

    • 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