在Ubuntu 16.04上配置OpenVSwitch的问题

时间:2017-02-03 18:12:45

标签: ssh ping ubuntu-16.04 openvswitch

我正在使用OpenStack来帮助我虚拟化我的基础架构。 您可以看到我的拓扑结构如何 - > My Topology in 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)将以前的ens4的IP地址添加到br0(例如我以交换机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连接切换,反之亦然。

有什么想法吗? 提前谢谢

P.S。 :如果图片不可读,请告诉我,我会换一个新的。

1 个答案:

答案 0 :(得分: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

另外,请检查您是否允许VM的安全组中的ICMP流量。