-1

我正在使用 OpenStack 来帮助我虚拟化我的基础架构。你可以看到我的拓扑是什么样子 -->我在 Openstack 中的拓扑

我在配置 2 个交换机时遇到问题。这是我所做的(我处于 sudo 模式):

1)安装openvswitch paquets:

apt-get install openvswitch-switch

2) 创建一个名为 br0 的网桥:

ovs-vsctl add-br br0

3)打开mybridge界面:

ifconfig br0 up

4)将物理接口ens4添加到网桥(我使用接口ens3通过SSH通过交换机连接):

ovs-vsctl add-port br0 ens4

5) 移除 ens4 的 IP 地址:

ifconfig ens4 0

6)在br0中添加前ens4的IP地址(我以交换机1为例):

ifconfig br0 192.168.1.18 

7) 在路由表中添加默认网关:

route add default gw 192.168.1.1 br0

不幸的是,经过所有这些步骤,我仍然无法从 Host_1(其 IP 地址为 192.168.1.12)ping 到我的 Switch_1(其 IP 地址为 192.168.1.18,IP 地址 192.168.0.30 用于通过以下方式配置交换机) SSH 连接),反之亦然。

有任何想法吗 ?先感谢您

PS:如果图片不可读,请告诉我,我会制作一个新的。

4

1 回答 1

1

我假设这些交换机代表虚拟机,主要是因为在 OpenStack 中您无法创建交换机。

话虽如此,由于 ARP 原因,您必须更改 MAC 地址。尝试为网桥提供与 ens4 相同的 MAC 地址,并更改 ens4 的 MAC 地址。脚本应如下所示:

NIC="ens4"
MAC=$(ifconfig $NIC | grep "HWaddr\b" | awk '{print $5}')  
ovs-vsctl add-br br0 -- set bridge br0 other-config:hwaddr=$MAC
ovs-vsctl add-port br0 $NIC > /dev/null 2>&1
ifconfig $NIC 0.0.0.0
LAST_MAC_CHAR=${MAC:(-1)}
AUX="${MAC:0:${#MAC}-1}"
if [ "$LAST_MAC_CHAR" -eq "$LAST_MAC_CHAR" ] 2>/dev/null; then
    NL="a"
else
    NL="1"
fi
NEW_MAC="$AUX$NL"
ifconfig $NIC hw ether $NEW_MAC

此外,检查您是否允许虚拟机的安全组中的 ICMP 流量。

于 2017-03-02T14:58:07.463 回答