我目前在家里运行一台服务器。我使用 freedns.afraid.org 将域名路由到我当前的 IP。
我希望在单独的域上设置额外的服务器。如何最好地实现这一点:
domain1.com -> DDNS -> current ip -> DD-WRT -> server 1
和
domain2.com -> DDNS -> current ip -> DD-WRT -> server 2
对于所有端口(http、ssh、ftp 等)
答案1
对于大多数服务,你无法做到这一点。但是你可以接近做到这一点。
- 为 DDNS 域创建两个域的 CNAME。其中一个可以是您的 DDNS 域。
- 将一个域所特有的端口转发服务到适当的服务器。
- 将共享服务端口转发到一台服务器,并将对其他域的请求代理到另一台服务器。这适用于 HTTP/HTTPS、SMTP(中继)和其他协议。
- 如果您确实需要直接访问两台服务器上的特定服务,则需要将非标准端口转发到其中一台服务器。
答案2
你不能。除了 HTTP 向服务器(或反向代理等)提供主机名外,其他协议完全依赖 IP 地址和端口来识别端点。
因此您需要获取额外的 IP 或使用不同的端口。
答案3
很确定实现此目的的唯一方法是向您的 ISP 请求第二个 IP。
原因是您想要将所有端口转发到两台不同的机器。这是不可能的。使用一个 IP 的唯一可能方法是将一台服务器的端口(如 http 到 80、SMTP 到 25、ftp 到 21/22 等)分配给另一台服务器,让其在非标准端口上响应相同的协议,如端口 8080 上的 http、端口 2121 上的 ftp。等等。
从 ISP 获取两个 IP 比记住非标准端口上的特殊端口绑定要简单得多。而且,它还允许您连接到所有端口,而不仅仅是某些端口。
每个 ISP 有所不同,但我当地的有线电视公司(Bright House)对额外的 IP 每月收取 10 美元的额外费用。