我想将 LAN 中的三台计算机连接为单个 VLAN 中的节点。我该怎么做?我知道我可以使用以下命令创建 VLAN
vconfig add [接口名称] [vlan id]
命令。但是如何将其他计算机连接到同一 VLAN 中呢? VLAN id 是特定计算机中的本地引用,还是对 VLAN 中的所有计算机都可见?
答案1
对于物理服务器,最好在网络/基础设施上定义 VLAN。
此外,如果您在服务器上的接口级别定义 VLAN,它们将无法与您的路由器通信以离开该网络,因为路由器不属于该 VLAN 的一部分。也就是说,当您定义虚拟 LAN 时,只有属于该虚拟 LAN 的元素才能在它们之间交换数据。
为了创建 VLAN,网络基础设施还必须支持 VLAN(例如交换机)。一些较便宜/家用的设备不支持 VAN 标记 (802.1Q)。
简而言之,通常在像您这样的物理情况下,VLAN 是在交换机级别定义的。通常,属于该 VLAN 的服务器所连接的所有交换机端口及其路由器(如果不处理交换机第 3 层,例如交换机路由器)都会使用该 VLAN 进行标记。
通常只有在 Linux 级别处理 VLAN 才有意义什么时候:
1)你的路由器是一个linux盒子;
2) 您处于测试网络中。
尽管如此,如果您仍然坚持创建 VLAN 进行测试,则必须:
1)加载相关内核模式
modprobe 8021q
2) 将接口添加到所需的VLAN(例如5)
vconfig add eth0 5
您将得到一个名为 的界面eth0.5
。
您想要添加到同一 VLAN 的所有服务器都必须配置vlan id
5.
同样,如果您想要不同 VLAN 的组,您将使用不同的 VLAN id,并将相应地对属于该 VLAN 的服务器进行分组。
我会在这里留下一个链接:操作方法:配置 Linux 虚拟局域网 (VLAN)
请注意,对于较大的网络,将网络划分为 VLAN 可能需要适当的规划,并涉及动态的更复杂的协议,但这超出了本问题和 Unix&Linux 的范围。
作为另一个脚注,还有物联网设备和廉价的路由器/交换机/AP 设备,例如 TPLink 和华硕 WiFi AP,它们具有多个以太网端口,支持从 Linux 控制的廉价交换机芯片组。
通常,芯片组虽然支持某种 VLAN 功能,但它们只是执行内部形式的 VLAN(设备/芯片组内部),并且不支持 802.1Q。
例如,在 Lamobo/Banana PI 中R1,这样的芯片组是BCM53125。
在这种情况下,所有交换机将仅在 Linux(路由器)交换机级别创建,而其他服务器/交换机/路由器对 VLAN 一无所知。