在小型网络中,如何使用服务器作为客户端和路由器之间的“隧道”?

在小型网络中,如何使用服务器作为客户端和路由器之间的“隧道”?

假设有一个小型网络,其中有 1 个路由器 (192.168.1.1) 和客户端 (192.168.1.x)。路由器 (OpenWRT) 为客户端提供以太网 LAN 和 WiFi,以连接到互联网。

现在,我想在客户端和路由器之间使用一个服务器。这样客户端首先在逻辑上连接到服务器,然后服务器将所有来自连接的客户端的流量路由到路由器。所有客户端和服务器都只连接到路由器。服务器只有 1 个 eth0 接口。

[Clients]----[Server]----[Router]----[Internet]

我该如何配置此设置?我还希望只有某些特定客户端在它们自己和路由器之间使用服务器。其余所有客户端都不应将服务器用作“网关”或“隧道”。


例如,是否可以在客户端的 IP 设置中使用服务器的 IP 作为默认网关。并将服务器配置为仅接受来自客户端的所有传入流量并将其路由到路由器?

编辑:如何设置?我找不到任何相关教程。

答案1

您有多种选择

  • 代理人- 如果您对有限数量的协议(例如 HTTP)感兴趣,您可以将服务器设置为代理服务器(例如使用乌贼)。有多种设置方法透明代理但最简单的方法可能是明确配置客户端应用程序以使用代理并在路由器的防火墙中强制执行此操作(例如,仅允许 HTTP 往返于代理服务器)。

  • 单武装路由器- 您可以将服务器配置为单臂路由器,并再次将外部路由器配置为仅接受来自内部路由器的流量。

无论哪种情况,您都可以在服务器上使用数据包捕获或其他工具。

答案2

正如你所说

不知道如何在服务器上设置 iptables 并在客户端进行配置

然后您应该将客户端上的默认网关设置为服务器地址。服务器应允许路由(通过启用 net.ipv4.ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward)并将其默认网关设置为 openwrt 路由器。服务器、客户端和内部路由器接口必须位于同一网络上。

请注意,这根本不安全,因为客户端可能直接通过 openwrt 路由器发送流量。

相关内容