通过 natte 服务器访问互联网

通过 natte 服务器访问互联网

我有两台 Linux 服务器,分别称为 X 和 Y。两者之间有 VPN 连接,因此 X 可以通过某些端口(例如 22、5901 等)连接 Y,但 Y 无法连接 X。X 上可以访问互联网。

我想在服务器 Y 上访问互联网。我该怎么做?

答案1

这不是一件容易的事,而且您没有提供足够的细节来得到确切的解决方案,但一般来说,您需要采取的步骤如下:

  1. 在不中断 VPN 连接的情况下,在 Y 到 X 上设置默认网关。这可能是为 VPN 端点/子网添加特定路由,并更改 X 上的默认网关的问题。

  2. 需要修改 Y 上的防火墙(如果存在)以允许往返于 X 的流量。

  3. 需要启用数据包转发(echo 1 > /proc/sys/net/ipv4/ip_forward)通常才能工作。

  4. 您需要在服务器 Y 上设置伪装 /NAT 来重写离开它的数据包。这将取决于您的接口,但类似 ​​/sbin/iptables -t nat -A POSTROUTING -o (Ext IF on Y, eg eth0) -j MASQUERADE 之类的命令通常可以工作。

  5. 如果某些站点可以工作,而其他站点不工作,则可能需要添加 MTU 限制。例如 iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

请注意,根据您的 Internet 需求,您可能实际上不需要任何这些 - 您可能能够使用 SSH 创建 SOCKS 代理并简单地使用它(但这仅在您在 X 上使用的 Internet 客户端支持 SOCKS 时才有效)。不过,如果您可以侥幸逃脱,这对于一次性完成来说要容易得多。

相关内容