有没有人尝试过专用 VLAN在Linux下?有和他们一起的经历吗?我真正的问题是有人有这方面的指导吗?
答案1
我不知道 Linux 本身是否支持 Cisco 的“专用 VLAN”概念,但专用 VLAN 本质上是一个链路层防火墙,控制哪些交换机端口可以与哪些其他交换机端口通信。因此,如果您有一个带有多个以太网设备的 Linux 盒子,并在它们之间进行桥接(例如使用该brctl
工具),我认为您想要的工具称为ebtables
。如果您熟悉iptables
,那么从手册页中获取应该不会太难。
但请注意,使用一次描述所有专用 VLAN 概念ebtables
可能会很复杂。如果您想与 Cisco 交换机共享 PVLAN 分组(假设这是可能的),我猜这不是解决问题的方法。
答案2
这可能会有所帮助...是否可以在linux网桥上启用端口隔离 https://serverfault.com/questions/388544/is-it-possible-to-enable-port-isolation-on-linux-bridges
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果您正在谈论一台具有多个以太网端口的计算机,并且希望所有端口都位于“同一个 LAN 中”,但又将它们设置为受到保护并且无法相互通信,那么我只有使用 BSD 的解决方案。
在 FreeBSD 中,创建一个网桥并向网桥添加端口,如下所示:
ifconfig bridge0 create
ifconfig bridge0 addm em0 addm em1 addm em2
现在您有了一个带有 6 个端口的“交换机”。他们都可以看到对方。要相互隔离端口 em1 和 em2(类似于 PVLAN 或“switchport protected”),您可以运行:
ifconfig bridge0 private em1 private em2 private
您也可以将 ip 添加到网桥...
ifconfig bridge0 10.12.14.1/24
两个端口仍会看到来自 em0 的流量。如果您还想隔离 em0:
ifconfig bridge0 private em0
更多相关内容请点击这里: http://www.freebsd.org/doc/handbook/network-bridging.html#idp97030960
[是的,最初的问题是几年前......我也在寻找 Linux 解决方案,但我想我会分享这个 BSD 解决方案]
答案3
我不知道你所说的“私有”VLAN 是什么意思,但 Linux 确实有 VLAN。 iproute2 的命令ip
可以配置它们。您确实必须拥有支持它的网卡和驱动程序,但现在大多数都这样做。
答案4
我确信有一百万种方法可以做到这一点,但我过去使用“vconfig”来添加 VLAN。
首先添加 vlan
'vconfig add eth0 123'
现在您可以配置子接口
'ifconfig eth0.123 ...'