如何在小型networking中将服务器用作客户端和路由器之间的“隧道”?

考虑一个带有1个路由器(192.168.1.1)和客户端(192.168.1.x)的小型networking。 路由器(OpenWRT)为客户端提供以太网LAN和WiFi,连接到Internet。

现在,我想在客户端和路由器之间使用服务器。 因此,客户端首先逻辑连接到服务器,服务器将连接客户端的所有stream量路由到路由器。 所有客户端和服务器都只连接到路由器。 服务器只有1个eth0接口。

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

如何configuration此设置? 我也只想要一些特定的客户端在他们自己和路由器之间使用服务器。 所有其他客户端不应该使用服务器作为“网关”或“隧道”。


是否有可能在客户端的IP设置中使用服务器的IP作为默认网关。 configuration服务器只接受来自客户端的所有传入stream量并将其路由到路由器?

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

你有几个select

  • 代理 – 如果您对有限数量的协议(例如HTTP)感兴趣,则可以将服务器设置为代理服务器(例如使用Squid )。 有一些方法可以设置透明代理,但最简单的方法可能是明确configuration客户端应用程序使用代理并在路由器的防火墙中执行此操作(例如,只允许HTTP代理服务器)。

  • 一个武装路由器 – 您可以将您的服务器configuration为单臂路由器,并再次将外部路由器configuration为仅接受来自内部路由器的stream量。

这两种情况都允许您在服务器上使用数据包捕获或其他工具。

就像你说的那样

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

那么你应该将客户端上的默认网关设置为服务器地址。 服务器应该允许路由(通过启用net.ipv4.ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward ),并将其默认网关设置为openwrt路由器。 服务器,客户端和内部路由器接口必须在同一个networking上。

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