我的 Openstack 集群配置有三台 Ubuntu 服务器(每台只有一个 NIC),如下所示本指南。
我还有一个 Cisco 3750 24 端口以太网交换机,我将其用作 Ubuntu 服务器和另一台 Windows(有 2 个 NIC)机器之间的 L3 设备,作为 Internet 网关。
根据指南,在 Ubuntu 服务器的单个物理 NIC 中创建了 2 个子接口,以分离用于不同 openstack 用途的流量。
例如:我的网络中有以下 VLAN
vlan10 - 用于物理 ubuntu 服务器之间的通信(需要可路由到互联网 g/w)- 已配置并运行正常(交换机端口配置为“访问”端口)
vlan101——虚拟机的内部数据网络(仅需要 L2 互连)
vlan102——虚拟机的公共网络(需要可路由到互联网 g/w)
我的问题是:是否可以将交换机端口配置为中继接口并允许各个交换机端口中的所有 VLAN,以便它们也可以正常相互通信。
请注意,我只有一个 cisco 3750 交换机。没有其他选择。
多谢 ...
以下是配置:
======================================================================================= 01.控制器1-01(Ubuntu 服务器)/etc/network/interfaces(OpenStack 控制节点)
---------------------------------------
自动档
iface lo inet 环回
---------------------------------------
自动 eth0
iface eth0 inet 静态
地址 192.168.0.29
网络掩码 255.255.255.224
网络 192.168.0.0
广播 192.168.0.31
网关 192.168.0.30
---------------------------------------
自动 eth0.101
iface eth0.101 inet 静态
vlan-原始设备 eth0
地址 10.0.0.253
网络掩码 255.255.255.0
---------------------------------------
自动 eth0.102
iface eth0.2 inet 静态
vlan-原始设备 eth0
地址 192.168.0.157
网络掩码 255.255.255.224
上行路由添加-net 10.10.10.0/24 gw 192.168.0.131
====================================================================================== 02.ns1-01(Ubuntu 服务器)/etc/network/interfaces(量子网络节点)
---------------------------------------
自动档
iface lo inet 环回
---------------------------------------
自动 eth0
iface eth0 inet 静态
地址 192.168.0.1
网络掩码 255.255.255.224
网络 192.168.0.0
广播 192.168.0.31
网关 192.168.0.30
---------------------------------------
自动 eth0.101
iface eth0.101 inet 静态
vlan-原始设备 eth0
地址 10.0.0.1
网络掩码 255.255.255.0
---------------------------------------
自动 eth0.102
iface eth0.102 inet 手册
vlan-原始设备 eth0
启动 ifconfig $IFACE 0.0.0.0 启动
ip link 设置 $IFACE promisc on
关闭 ifconfig $IFACE 关闭
====================================================================================== 03.ns1-02(Ubuntu 服务器)/etc/network/interfaces(OpenStack 计算节点)
---------------------------------------
自动档
iface lo inet 环回
---------------------------------------
自动 eth0
iface eth0 inet 静态
地址 192.168.0.2
网络掩码 255.255.255.224
网络 192.168.0.0
广播 192.168.0.31
网关 192.168.0.30
---------------------------------------
自动 eth0.101
iface eth0.101 inet 静态
vlan-原始设备 eth0
地址 10.0.0.2
网络掩码 255.255.255.0
====================================================================================== 04.LS1-01(Ubuntu 服务器)/etc/network/interfaces(OpenStack 计算节点)
---------------------------------------
接口GigabitEthernet1/0/1
描述 //连接到ns1-01(区域一网络节点)
交换机端口中继封装 dot1q
交换机端口中继本机 VLAN 10
交换机端口中继允许 VLAN 10,101,102
交换机端口模式中继
---------------------------------------
接口GigabitEthernet1/0/2
描述 //连接到 ns1-02(区域一计算节点)
交换机端口中继封装 dot1q
交换机端口中继本机 VLAN 10
交换机端口中继允许 VLAN 10,101,102
交换机端口模式中继
---------------------------------------
接口GigabitEthernet1/0/11
description //连接到controller1-01(区域一控制节点)
交换机端口中继封装 dot1q
交换机端口中继本机 VLAN 10
交换机端口中继允许 VLAN 10,101,102
交换机端口模式中继
---------------------------------------
接口GigabitEthernet1/0/12
描述 //已连接到互联网
没有交换端口
IP地址 192.168.0.65 255.255.255.252
---------------------------------------
接口 Vlan10
description //Region One 下物理机的管理网络
IP地址 192.168.0.30 255.255.255.224
---------------------------------------
接口Vlan101
description //Region One下虚拟机实例的内部数据网络
IP 地址 10.0.0.254 255.255.255.0
---------------------------------------
接口 Vlan102
description //Region One 下虚拟机实例的公共/API 网络
IP地址 192.168.0.158 255.255.255.224
---------------------------------------
ip route 0.0.0.0 0.0.0.0 192.168.0.66 # 指向 Internet G/W
答案1
当然可以。您正在寻找 802.1q 标记,它是交换机上多个 VLAN 的基础。
像这样配置面向服务器的端口...
interface GigabitEthernet0/1
! tell the switch to encapsulate frames with dot1q on this trunk port
switchport trunk encapsulation dot1q
! make this a trunk port unconditionally
switchport mode trunk
! allow VLANs 220, 221, and 223 to be sent on this port
switchport trunk allowed vlan 220,221,223
! send vlan 221 frames untagged
! you could omit this command, but you'll need to move your eth0 config to a subinterface as well
switchport trunk native vlan 221
! this is an end-device, and doesn't need to be treated like a switch for spanning-tree
spanning-tree portfast trunk
! remove the (ignored) access vlan setting, as this is now a trunk
no switchport access vlan
在您的 Ubuntu 服务器上,您需要配置要与每个适当 VLAN 关联的子接口。这可以像这样手动完成...
# create a new subinterface tied to dot1q vlan 221
ip link add link eth0 name eth0.221 type vlan id 221
# change the MTU to allow for the inserted dot1q tag (4 bytes)
ifconfig eth0 mtu 1504
# bring the new interface up
ifconfig eth0.221 up
现在,您可以将正确的 IP 地址以及适当的默认网关和子网掩码关联到新的接口 eth0.221。
如果这对您不起作用,请在您的交换机配置中包含一个 pastebin 链接以及在您的 Ubuntu 服务器上“ip -d link show”的输出。
希望这可以帮助!