通过 SSH 隧道连接 Windows VPN

通过 SSH 隧道连接 Windows VPN

好的,这是我的问题...

我想通过 Windows XP 连接到 VPN pptp,但它位于防火墙后面,我无法控制。我可以建立 SSH 连接。

我希望通过 VPN 连接到我无法控制但允许 VPN 访问的服务器。193.60.20.50为了便于讨论,我们假设它的 IP 为。

我有一个运行 Debian Wheezy 的中间服务器,我可以完全控制它,并且可以从 Windows 计算机通过 SSH 连接到它。为了便于说明,我们假设它的 IP 为212.74.214.28

如何将 VPN 连接从 Windows 计算机通过中间服务器隧道传输到最终服务器?我猜这可以使用 PuTTY 中的 SSH 隧道来实现。但是,我不知道iptables在中间服务器上需要哪些规则才能允许流量通过。

到目前为止,我已将 PuTTY 设置为转发端口1723193.60.20.50:1723这似乎有效,因为 VPN 连接会立即返回错误,而不是在隧道关闭时,它会尝试连接一段时间后才抛出错误。但是我相信我的iptables规则拒绝了连接。

iptables目前的规则(我已经强调了我在尝试解决这个问题时添加的具体规则):

链输入(策略接受)
目标 保护 优化 源 目标
fail2ban-ssh-ddos tcp -- 任何地方 任何端口 dports ssh
fail2ban-ssh tcp -- 任何地方 任何地点 多端口 dports ssh
接受所有 -- 任何地方 任何地方
拒绝所有 - 任何地点的环回/8 拒绝 - icmp 端口不可达
接受所有 -- 任何地方任何地方状态 RELATED,ESTABLISHED
接受 tcp -- 任何地方 任何地方 tcp dpt:http
接受 tcp -- 任何地方 任何地方 tcp dpt:https
接受 tcp -- 任何地方 任何地方 tcp dpt:1723
接受 gre -- 任何地方 任何地方
接受 tcp -- 任何地方 任何地方 tcp dpts:http-alt:8090
接受 udp -- 任何地方 udp dpts:60000:61000
接受 tcp -- 任何地方任何地方状态新 tcp dpt:ssh
接受 icmp -- 任何地方 icmp 回显请求
LOG 全部 -- 任何地方 任何地方 限制:平均 5/分钟 突发 5 LOG 级别 调试前缀“iptables 被拒绝:”
拒绝所有 - 任何地方任何地方拒绝 - icmp 端口不可达

链转发(策略接受)
目标 保护 优化 源 目标
接受所有 -- 任何地方 任何地方
接受所有 -- 任何地方 任何地方
拒绝所有 - 任何地方任何地方拒绝 - icmp 端口不可达

链输出(策略接受)
目标 保护 优化 源 目标
接受所有 -- 任何地方 任何地方
接受 tcp -- 任何地方 任何地方 tcp dpt:1723
接受 gre -- 任何地方 任何地方

链 fail2ban-ssh (1 引用)
目标 保护 优化 源 目标
返回全部 -- 任意位置 任意位置

链 fail2ban-ssh-ddos (1 引用)
目标 保护 优化 源 目标
返回全部 -- 任意位置 任意位置

答案1

您无法通过 ssh 建立 GRE 隧道。(https://superuser.com/questions/657758/is-it-possible-to-tunnel-pptp-over-ssh

我建议您使用 MyEnTunnel 和 Proxifier 的设置。MyEnTunnel 是可选的,您也可以使用 Putty 来完成。

不过,您可以通过 SSH 以 TCP 模式隧道传输 OpenVPN。

相关内容