尝试使用 SRV 和 DNS 为多个子域设置端口转发

尝试使用 SRV 和 DNS 为多个子域设置端口转发

我正在创业,并试图降低开支。我在机柜中托管了四台服务器,它们只有一个静态 IP 地址。我希望能够通过端口 80 (HTTP)、443 (HTTPS) 和 22 (SSH) 访问每台服务器。

我已经将路由器设置为将类似的公共端口(8001、8002、8003、2201、2202、2203、44301、44302、44303 等)转发到各自服务器的 LAN IP 上的标准端口。

我的目标是设置到达各个服务器的子域。我尝试使用 DNS 中的 SRV 记录将各种服务的流量指向我的静态 IP 上它们的唯一端口号,然后让路由器将该流量发送到各个服务器的 LAN IP 上的标准端口号。

我尝试为 SSH 设置 SRV 记录来测试这一点,但我无法连接,并且 SSH 说端口 22 上的连接被拒绝。

我还设置了一条 A 记录来subdomain.example.com指向我的静态 IP 地址。

我做错了什么?这是错误的方法吗?

以下是dig输出(名称已更改以保护无辜者)

me@andrew-linux-laptop:~$ dig any _ssh._tcp.subdomain.example.com

; <<>> DiG 9.9.5-3-Ubuntu <<>> any _ssh._tcp.subdomain.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51567
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_ssh._tcp.subdomain.example.com.   IN  ANY

;; ANSWER SECTION:
_ssh._tcp.subdomain.example.com. 300 IN SRV 0 5 2202 subdomain.example.com.

;; Query time: 73 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Sat Jan 24 22:44:42 EST 2015
;; MSG SIZE  rcvd: 82

答案1

您需要实际上使用 SRV 记录的客户端,但 SSH 却不需要......

实际上很少有常见的应用程序/协议能够做到这一点。

要让 SSH 连接到非标准端口,您必须在命令行或配置文件中明确指定该端口。例如

ssh -p 2202 subdomain.example.com 

相关内容