Ssh
在 SSH 本地埠轉發中,使用什麼 DNS 伺服器來解析主機(不是 ssh 網關)?
在本地埠轉發中,什麼 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 地址。
希望能解決你的問題。