我有一个networking有几个VLAN,每个VLAN都包含不同访问权限的资源或客户端。
为了简单起见,假设我有3个VLAN:
在此设置中,我想进行自动发现和访问权限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来完成? 我目前的想法如下所示:
是否有可能在基于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,你可以申请实现你正在寻找的结果。