跨VLAN共享和自动发现select性资源

我有一个networking有几个VLAN,每个VLAN都包含不同访问权限的资源或客户端。

为了简单起见,假设我有3个VLAN:

  1. ID 10 :仅包含特权客户端和私有资源只能访问这些特权客户端
  2. ID 20 :包含只能访问公共资源的访客客户端
  3. ID 30 :包含特权客户和客户客户可访问的公共资源

在此设置中,我想进行自动发现和访问权限pipe理,以便VLAN 10中的客户端可以发现和访问VLAN 10和30中的资源,并且VLAN 20中的客户端可以发现和访问VLAN 20和30中的资源。我需要自动发现的资源是不同的types(windowsnetworking共享,打印机,安全摄像机,苹果设备等),所以有几种不同的机制在工作,其中大部分我没有任何知识。

是否可以一般地进行这样的设置工作,以使VLAN 10上的设备看到包括VLAN 10和VLAN 30的单个networking,并且就好像每个人都被插入相同的交换机中一样,并且VLAN 20上的设备看到networking由VLAN 20和30上的所有设备组成?

我需要在VLAN 10和30之间创build一个接,并在VLAN 20和30之间创build另一个桥接? 这也会隐含地桥接VLAN 10和20(不可接受)? 如果是这样,我可以不允许这个隐式的桥接与防火墙规则(如丢弃所有数据包从VLAN 10到VLAN 20,反之亦然)?

子网布局的最佳方式是什么?如何设置DHCP来完成? 我目前的想法如下所示:

  • 192.168。 10 .x为VLAN 10,192.168。 20 .x为VLAN 20和192.168。 30 .x为VLAN 30
  • 子网255.255。 对每个人来说都是0.0(所以设备通过VLAN发送广播)

是否有可能在基于Vyatta-Linux的路由器(尤其是DHCP部分)上获得这样的设置? 它似乎根据我提供的子网确定要监听的接口。 因此,要监听eth0.10(VLAN 10),我需要给它的子网192.168.10.0/24,但我想知道DHCP客户端被告知子网是255.255.0.0,而不是255.255。 255.0。

还需要设置其他服务/转发(例如ARP代理)以合理确保所有常见的自动发现机制都能正常工作?

任何帮助将非常感激。

你和@joeqwerty在这个问题的评论中进行了热烈的讨论,我将会回应一些。

让我们从简单的基础开始:有多种标准和大量专有的“自动发现”协议 – 即客户端和服务器主机或程序相互定位的协议。 谈论“自动发现”,就好像它是一个单一的实体,正在避开整个问题。 始终记住这一点。

您已将networking分割为多个虚拟局域网。 广播不会在这些虚拟局域网之间传送。 许多(大多数?)自动发现协议是基于广播的,所以他们将无法find其他VLAN中的主机。

只是将networking连接在一起并不会对您有所帮助,因为实际上,您只需将所有networking重新组合成一个大的局域网。 你分割成多个VLAN的所有其他原因都在窗口外面。

在VLAN之间select性地转发协议是事情会变得有趣的地方。

标准的基于IP的自动发现协议,如NetBIOS“浏览”,mDNS(称为“ZeroConf”或“Bonjour”等)可以在IP子网之间转发(通常通过逻辑子1对1映射到VLAN路由器上的接口)和适当的应用层网关软件,有多个供应商提供的各种产品可以做到这一点(使用你最喜欢的search引擎,并寻找“子网之间的向前bonjour”,你会发现很多东西,例如。)

专有的自动发现协议将会更成问题。 你将不得不希望软件是由某人写的,通过VLAN或子网转发它们。 在第二层工作的协议将会变得更加困难,因为为了处理邻接表,交换机维护MAC地址所关联的VLAN的计费,任何跨VLAN网关软件必须具有某种代理-MACfunction。

你正在寻找的东西并不是不可能的,但它将不得不在个人协议的基础上处理。 没有“魔杖”解决scheme,你可以申请实现你正在寻找的结果。