Ssh

在 SSH 本地埠轉發中,使用什麼 DNS 伺服器來解析主機(不是 ssh 網關)?

  • May 15, 2020

在本地埠轉發中,什麼 DNS 伺服器解析的名稱internal_db.local

那會是內部 SSH 伺服器的 DNS 嗎?(這就是我的想法)

還是分配sshgateway.com其地址的外部 DNS 伺服器?

例如:

ssh -L 4000:internal_db.local:3306 user@ssh.sshgateway.com

ssh 中埠轉發的完整順序是

-L [<local_ip>:]<local_port>:<remote_ip>:<remote_port>

可以省略 local_ip。

<local_ip>或 DNS 名稱)將從本地主機解析,而<remote_ip>(或 DNS 名稱)將由遠端主機(在您的情況下為 sshgateway.com)解析。

根據您的評論進行編輯:

如果我不明白,請糾正我。

您的環境如下所示:

host_1  ->   host_2   ->   host_3
your_PC -> sshgateway -> internal_db.local

並且您想從 host_1 連接到位於 host_3 上的數據庫。

通過建議的本地埠轉發,您可以將 host_1 的埠 4000 通過 host_2 轉發到 host_3 的埠 3306。

為此,您的連接將通過 ssh 從 host_1 隧道傳輸到 host_2,然後將正常的 ip-packets 從 host_2 發送到 host_3,就好像 host_2 將連接到數據庫一樣。

因此 host_2 (sshgateway.com) 必須用他的 DNS 伺服器解析 host_3 (internal_db.local) 的 IP 地址。

希望能解決你的問題。

引用自:https://unix.stackexchange.com/questions/586633