![ssh 隧道不适用于外部地址](https://linux22.com/image/1401514/ssh%20%E9%9A%A7%E9%81%93%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%E5%A4%96%E9%83%A8%E5%9C%B0%E5%9D%80.png)
我在客户站点,他们封锁了一些地址,所以我尝试使用 ssh 通过我公司的服务器建立隧道。隧道对内联网站点有效,但对公共站点失败。
这有效:
ssh -L 9291:intranet.bugzilla.com:80 [email protected]
localhost:9291 转到 bugzilla。
但:
ssh -L 9292:www.yahoo.com:80 [email protected]
不起作用:localhost:9292 无法转到 yahoo。它带我到 ssh.mycompany.com 的内部地址,然后超时
我需要在 ssh.mycompany.com 上设置任何标志吗?
答案1
这可能是因为他们没有限制对这些服务器的访问,而只是使 DNS 记录超载,以便从您的网络内部解析的尝试www.yahoo.com
会将您指向某个任意服务器而不是真实www.yahoo.com
服务器。
这就是为什么您的 SSH 技巧不起作用的原因,因为当您使用主机名而不是 IP 来设置隧道时,您仍然依赖 DNS 所说的内容。
尝试使用其他 DNS 服务器(例如 Google 的)来解决此问题8.8.8.8
。这样做之后,也许您甚至不需要隧道即可访问该网站。