我有一个应用程序,它定期将TCP/IP数据包从主机发送到具有时间敏感型网络的从机,这是在Linux的tc-taprio中实现的。每本手册都告诉我需要创建一个带有VLAN ID的虚拟网络接口,但实际上我有没有办法创建一个VLAN ID设置为0的虚拟接口呢?或者根本不设置VLAN ID?英语维基百科使用: VLAN not set描述VLAN ID 0。
Linux (配置为ip或brctl)是否支持VLAN?例如,在不同的VLAN和主干端口中配置仅启用某些VLAN的访问端口。我的内核(3.2.04-6866-PAE)配置文件中关于VLAN和桥的唯一选项是CONFIG_BRIDGE_EBT_VLAN,但据我所知,这允许对ebtables的802.1qVLAN字段进行筛选。
我有:
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
我使用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
我的sysadm团队中有一个关于linux的争论,更具体地说,是关于创建一个桥以添加vlan接口的必要性。
我明白(我认为) linux网桥允许进行第二层数据包路由的理论,尽管在实践中为了创建一个vlan,如下所示:
ip link add link eth0 name eth0.100 type vlan id 100
工作良好,无需创建一个br0,然后向该桥添加一个vlan。
例如,当一个数据包到达一个具有多个物理接口的主机时,linux内核能够确定在哪里路由数据包,即使每个物理接口都链接到不同的物理交换机。
那么,为什么我们仍然需要linux桥呢?
我还想知道为什么在虚拟化方面,虚拟机管
我有两个网络,我想要彼此分开(没有相互路由)。我使用一个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
我创建了一个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本身吗?
我们有一个数据提要进入一个Linux服务器(CentOS 7)。我们需要此服务器将所有数据转发到两个具有相同子网的不同VLAN。我们目前有运行在服务器上的软件,它可以将数据镜像到两个不同的子网,但它并不是VLAN感知的(因为VLAN是由Cisco专有协议实现的),因此我们需要在OS级别配置服务器,以便将数据镜像到两个独立的接口上。是否有一种方法可以配置Linux来做到这一点?(所有连接都是IP over TCP)
一种解决方案是更改其中一个VLAN的子网,但是这可能会导致停机,而我们更不愿意这样做。
我正在详细了解Linux上的VLAN,我看到了这两个命令:
[root@machine ~]# bridge vlan add vid 100 dev em1
[root@machine ~]# ip link add link em1 name em1.100 type vlan id 100
第一个将向em1添加一个VLAN:
[root@machine ~]# bridge vlan show
port vlan ids
em1 1 PVID Egress Untagged
100
而第二个界面将创建一个新的界面:
[root@machine ~]# i