我的sysadm团队中有一个关于linux的争论,更具体地说,是关于创建一个桥以添加vlan接口的必要性。
我明白(我认为) linux网桥允许进行第二层数据包路由的理论,尽管在实践中为了创建一个vlan,如下所示:
ip link add link eth0 name eth0.100 type vlan id 100
工作良好,无需创建一个br0,然后向该桥添加一个vlan。
例如,当一个数据包到达一个具有多个物理接口的主机时,linux内核能够确定在哪里路由数据包,即使每个物理接口都链接到不同的物理交换机。
那么,为什么我们仍然需要linux桥呢?
我还想知道为什么在虚拟化方面,虚拟机管
为什么我对这件事不感兴趣。假设我有两个EX开关连接在一起,相互连接(xe-0/1/0和xe-0/1/1 /1/1)。
使用简单的配置,我可以轻松地在其中一个链接上安装一个主干,如下所示:
test@SW1# show interfaces xe-0/1/0
unit 0 {
description "Trunk to SW2 to port xe-0/1/0";
family ethernet-switching {
port-mode trunk;
vlan {
members
我有:
Linux(virtual maschine on esxi) <---trunk---> cisco Switch.
在虚拟maschine vSwitch设置上:
VLAN ID 4095 Enables trunking on port group (VGT Mode)
LINUX接口文件:
auto eth0
iface eth0 inet static
address xxx.xx.xx.x
netmask 255.255.255.0
gateway xxx.xx.xx.z
auto eth1
iface eth1 inet stat
我们在服务器配置方面面临一些问题:有两个服务器,每个服务器包含两个连接在一起的NIC。每个服务器连接到2个Cisco交换机(从每个NIC连接到单独的交换机)。交换机上的端口被配置为具有VLAN 1111。交换机之间也有互连(此VLAN是互连的一部分)。
switch2上有以下错误(Gi0/25是连接服务器的地方,Gi0/30是互连)
*Jun 1 16:18:23.182: %SW_MATM-4-MACFLAP_NOTIF: Host 1cc1.de7a.04b6 in vlan 1111 is flapping between port Gi0/25 and port Gi0/30
*J
Linux (配置为ip或brctl)是否支持VLAN?例如,在不同的VLAN和主干端口中配置仅启用某些VLAN的访问端口。我的内核(3.2.04-6866-PAE)配置文件中关于VLAN和桥的唯一选项是CONFIG_BRIDGE_EBT_VLAN,但据我所知,这允许对ebtables的802.1qVLAN字段进行筛选。
我使用Linux中的DSA来支持以太网交换机(KSZ9897)。这个开关正在运行,但是我在通过Linux (内核4.19)设置桥接vlan过滤特性时遇到了问题。
我创建了桥接器并添加了如下成员端口:
ip link add name br0 type bridge
ip link set dev lanB master br0
ip link set dev lanA master br0
此时,Linux创建了br0接口,我可以通过这个接口切换到连接到'lanB‘接口的PC。
现在,我想使用VLAN将lanA和lanB分开。启用vlan过滤,并设置PVID:
ip link set
我有两个网络,我想要彼此分开(没有相互路由)。我使用一个Linux主机作为路由器,我有一个Juniper交换机作为交换机(很明显)。我在Linux路由器上的局域网接口是eth1,所以我创建了一个名为eth1.2的VLAN,并在一个单独的子网中给它一个IP。
eth1 => 192.168.1.1/24
eth1.2 => 192.168.2.1/24
我已经配置了juniper,这样就有两个VLAN,默认和wifi。我执行了以下命令:
set vlans wifi vlan-id 2
set interfaces ge-0/0/12.0 unit 0 family ethern
我有一个应用程序,它定期将TCP/IP数据包从主机发送到具有时间敏感型网络的从机,这是在Linux的tc-taprio中实现的。每本手册都告诉我需要创建一个带有VLAN ID的虚拟网络接口,但实际上我有没有办法创建一个VLAN ID设置为0的虚拟接口呢?或者根本不设置VLAN ID?英语维基百科使用: VLAN not set描述VLAN ID 0。
我创建了一个VLAN:
Linux
vconfig add en0 3
ip addr add 192.168.126.5/24 dev en0.3
ip link set up en0.3
can be translated to macOS by e.g.
MacOS
ifconfig vlan0 create
ifconfig vlan0 vlan 3 vlandev en0
ifconfig vlan0 inet 192.168.126.5 netmask 255.255.255.0
现在我可以从ip link show中看到,我有一个VLAN,上面写着:
vlan0: flags=8
当我在Linux中创建一个VLAN子接口时,它会得到与它的父接口相同的MAC地址。例如,使用ip link add link eth0 name eth0.333 type vlan id 333命令,eth0.333获得与eth0相同的MAC。服务器根据VLAN标签识别接收到的帧是正确的吗?或者如果VLAN标记丢失了,那么交换机中的帧是eth0本身吗?