问题背景
今有个搞出租屋的朋友问我:他自己搞了个出口路由器和交换机,出口路由器为PPPoE服务器下联交换机,交换机再分出网线到各个租户。租户的小路由插上网线就能PPPoE拨号上网了。
基本拓扑如下:
用了一段时间后,他发现租户那边经常反馈网络很卡,并且老是拨不上号,一会儿这个异常一会儿那个异常,好像是这些小路由打架了一样!

无奈之下,朋友想出了个办法:把每个租户的小路由通过VLAN单独隔离出来,这样它们拨号上网的数据就能相互隔离了!理论是这样的:

那么怎么做呢?我看了一下,这不就是只要和上联口通信,下联口只见彼此隔离不就行了吗。对于这个需求,我提供了三种解决方案:
三种解决方案
方案1:更换支持端口隔离的交换机(最容易)
这个方案最容易,不需要配置什么VLAN,只要把核心和楼道汇聚换成隔离型交换机就可以了,各个租户小路由直接PPPoE拨号与出口路由通信,彼此只见相互不影响。

方案2:配置VLAN实现(复杂)
通过802.1Q VLAN进行隔离,这种方式更加灵活,可以根据不同的需求划分网段、跨三层通信等,但对于小白不友好,适合专业工程师和发烧友。首先重点是要PPPoE拨号,这个是二层报文交互(没有IP的),所以必须要保证每台租户交换机和路由器的PPPoE服务接口处于同一个广播域中,可使能出口路由多VLANIF接口绑定PPPoE服务+交换机trunk/access的方式实现,如下:

这样VLAN10的租户小路由就能通过出口路由的VLANIF10接口的PPPoE服务拨号上网啦!VLAN20、VLAN30同理,同时它们之间的数据又相互隔离。
那么问题来了,支持多VLANIF接口绑定PPPoE服务的路由器市面上少之又少!还贵!一般就给你个LAN口支持PPPoE服务,起不来多VLAN接口了,怎么办?继续往下看。
方案3:交换机配置Hybrid口实现(高端玩法)
上面讲过PPPoE拨号的精髓是必须要PPPoE服务器和客户端处于同一个“广播域”的逻辑才行,所以必须要用到交换机的Hybrid进行配置,方案如下:

原理:
各个小路由通过各自的VLAN,发二层PPPoE拨号广播请求给出口路由(PPPoE服务器);
出口路由PPPoE服务器,通过VLAN100将二层PPPoE单播应答返回给小路由,至此拨号成功,能正常上网且各个小路由之间的数据相互隔离。
方案总结
方案1:更换支持端口隔离的交换机
优点:简单,只要更换支持隔离的设备就行
缺点:不灵活,管控费劲,拓扑固定
方案2:配置VLAN实现(复杂)
优点:基于网段管理管控灵活,可灵活管控端口和接入设备
缺点:复杂,需要支持VLAN的交换机,需要PPPoE服务器支持在不同VLANIF上生效
方案3:交换机配置Hybrid口实现(高端玩法)
优点:管控灵活,无需PPPoE服务器支持多VLAN接口生效
缺点:配置相当复杂,适合专业人士