抱歉,如果标题不清楚,以下是设置:
有一台A
运行 Linux 的机器,A
是大学网络的一部分,具有带真实 IP 的单个网络接口。但是从校园外部到端口 22(以及其他一些端口)的连接在交换机级别被阻止,这是无法改变的。
A
正在运行 pptpd(localip {realip},remoteip 10.0.0.100-200),并且对所有连接的客户端进行 NAT(通过 iptables 规则iptables -t nat -A POSTROUTING -o eth1 -s 10.55.248.0/24 -j MASQUERADE
)。
可以通过 VPN 隧道从外部 ssh 到 大学里的任何一台机器A
,除了A
它自己之外 ( B
)
我理解我们不能简单地更改路由表B
,因为这会破坏隧道,但我真的很希望能够通过 VPN 隧道进行 ssh 连接A
,B
因为我们不能为 VPN 配备专用服务器,而是使用其中一个计算节点,而它本身需要通过 ssh 访问。
所以问题是:是否有可能以某种方式强制部分到 VPN 服务器的流量通过 vpn-tunnel 到达该服务器?
我理解,可以更改 ssh 监听端口,或者添加iptables
规则B
,但B
不是单台机器,所以它可以是几乎任何操作系统(嗯,不太可能是 Windows 或 Linux 以外的操作系统,但无论如何)并且可以被不愿意干预手动添加路由规则的人使用。
答案1
如果我理解有误,请纠正我。A 和 B 位于同一网络上,并且 A 可通过互联网访问。您想通过 A 连接到 B 吗?
如果这是正确的,您可能能够使用 socks 代理,如果您在 A 上运行 ssh,则可以通过输入 ssh -D 9999 hostnameA 来使用它。然后,您可以将所选应用程序设置为在 127.0.0.1 端口 9999 上使用 socks 代理。
我经常使用它来访问远程位置的网络。
希望这可以帮助。