我如何从外部访问我公司 LAN 内的 Web 服务?我可以通过 SSH 访问 LAN 内的机器。
我尝试使用 Putty 设置动态端口转发,并将 Firefox 配置为使用 localhost 作为 SOCKS 代理,但似乎不起作用。使用 Firefox 中的此代理配置,我根本无法访问任何页面。
是不是因为 AllowTcpForwarding 设置为 no 了?怎么检查?
还能是别的吗?
我希望能够连接到 LAN 内的多个不同的网站/服务,这些网站/服务均使用 http 和 https,并在端口 80、433 以及其他端口上运行。我确实不是拥有 LAN 内任意机器的 root 访问权限。
那么,我如何访问公司局域网内的 Web 服务?
编辑:
$ cat /proc/sys/net/ipv4/conf/ppp0/forwarding
cat: /proc/sys/net/ipv4/conf/ppp0/forwarding: No such file or directory
$ cat /proc/sys/net/ipv4/conf/eth0/forwarding
0
所以我猜这意味着 AllowTcpForwarding 是“否”。
编辑2:
Lynx 尚未安装,但我想我可以编译它并将其安装到 ~/bin/,但我担心这无济于事。我需要访问的服务之一是花哨的拖放网页,因此我需要能够使用现代图形浏览器来访问它。
编辑3:
因此,看起来我用 Putty 设置的 SOCKS 代理确实有效。但只适用于某些 URL。我们有一个用于自动代理配置的 .pac 文件。我可以在工作时无需代理配置即可访问的网站也可以通过我的 SOCKS 代理访问。
因此,为了让所有东西都能通过 SOCKS 代理正常工作,我似乎需要以某种方式合并 .pac 文件中的规则。有人知道怎么做吗?
答案1
最简单的方法是使用简单的端口转发。在 Putty 中,前往联系->SSH->隧道类别并输入:
- 您选择的本地港口源端口场地
- 内部 Web 服务的主机+端口目的地场地
- 按添加
以下是一个例子:
连接后,您可以http://localhost:8081/
在 Web 浏览器中输入,它将显示托管在您公司 LAN 上的以下地址的网站http://192.168.1.17:80
。
您必须对要访问的每个 Web 服务重复此过程,并提供新的端口号,例如,您可以使用以下方式访问第二个 HTTPS 服务源端口 8082
和目的地 192.168.1.18:443
。
答案2
您可以使用 lynx。它不会给您显示精美的图形,但会在 80 和 443 上“访问您公司 LAN 内的 Web 服务”,当然必须安装它...