独立的L2TP / IPsec VPN与dynamicVLAN分配

我正在为Linux(Debian 7)VPN集中器进行各种远程访问。 由于客户端的可用性,所提供的协议之一是L2TP / IPsec。 我正在使用xl2tpd,它反过来使用pppd和pppd通过RADIUS服务器validation用户。

我们现在想要实现的是基于用户连接到VPN来控制networking访问。 例如,用户A应该只能访问子网X,而用户B只能访问子网Y.实际上,这与WLAN的dynamicVLAN分配类似。 不幸的是,我找不到(如果我错了,请纠正我)Linux下L2TP / IPSec VPN的开箱即用解决scheme。 我想出了一个可以做到这个诀窍的想法,但是它看起来像是一个相当多的工作,所以我想知道它是否包含任何明显的缺陷,或者是否有更简单的方法。

思路:使用RADIUS(尤其是Tunnel-Private-Group-Id)的dynamicVLAN分配属性和ppp的radattr.so插件。 xl2tpd为每个连接的客户端分配一个新的虚拟接口pppX,插件创build一个文件/var/run/radattr.pppX,其中包含从RADIUS服务器接收到的所有属性。 ppp-ifup脚本可以使用这些属性将新创build的虚拟接口分配给具有相应VLAN的Linux桥接端口。

  • 有没有人build立这样的configuration呢?
  • 有什么阻止这个工作?
  • 你会不会因为某种原因而不喜欢这种configuration?

提前致谢