我正在创业,并试图降低开支。我在机柜中托管了四台服务器,它们只有一个静态 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