好的,这是我的问题...
我想通过 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 设置为转发端口1723
,193.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。