在 CentOS 上设置 VLAN 标记的最佳途径

在 CentOS 上设置 VLAN 标记的最佳途径

最近,我一直在配置 centos65 服务器以启用 VLAN 标记,该服务器将充当 VM 主机 (kvm)。在网络交换机级别,端口配置为启用标记,设置如下

vlan_a -> native
vlan_b -> tagged 

服务器有一个单一接口->eth0。(以中继模式配置)

因此,在此服务器上试验 VLAN 标记时,我进行了以下设置

eth0 - pointing to native vlan  (10.20.12.12)
eth0.43 -pointing to tagged vlan (10.21.8.4) 

我将重新启动网络服务以启用此配置。我遇到的问题是,标记接口可以 ping 和访问,但指向本机 vlan 的接口无法访问。在进一步检查路由表后,我注意到以下情况

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.21.8.4       0.0.0.0         255.255.255.0   U         0 0        0 eth0.43
10.20.12.12     0.0.0.0         255.255.254.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0        0 eth0.43
0.0.0.0         10.21.8.1      0.0.0.0         UG        0 0        0 eth0.43

所以我的问题

在 Linux 系统的带标签 VLAN 设置(用于单个接口)中,是否默认只有带标签的接口才会出现默认网关?确保未带标签的接口也可以访问的最佳方法是什么?

为了进一步阐述,我确实添加了未标记接口 (eth0) 的默认网关,并且它可以被 ping 通并访问。但是,在这种设置中为多个接口添加默认网关是一种可以的做法吗?

我已阅读过有关诸如 openvswitch 和网络命名空间之类的替代方案的文章。

与传统配置 Linux 系统来处理这个问题相比,使用 openvswitch 和网络命名空间等替代方案有哪些具体优势?

答案1

首先,您的主机不必担心 VLAN,但既然我们在这里……

您可以在 /etc/sysconfig/network 中设置默认网关

您用来设置 vlan 接口的脚本可能已将其从 eth0 的标准 GW 中替换。

一个主机仅有一个默认网关。

我使用 Vyatta 来满足我的路由需求。

相关内容