在亚马逊 EC2 中配置 openvswitch

在亚马逊 EC2 中配置 openvswitch

我已经在Amazon EC2 CentOS 6.5中安装了openvswitch-2.3.2,并且想使用openvswitch与其他PC建立gre隧道。

这是 ifconfig 输出

[root@ip-172-31-30-157 openvswitch]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001
inet 172.31.30.157  netmask 255.255.240.0  broadcast 172.31.31.255
inet6 fe80::47b:d1ff:fe65:5a6d  prefixlen 64  scopeid 0x20<link>
ether 06:7b:d1:65:5a:6d  txqueuelen 1000  (Ethernet)
RX packets 573591  bytes 200865634 (191.5 MiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 496014  bytes 101375588 (96.6 MiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

并路由输出

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         ip-172-31-16-1. 0.0.0.0         UG    100    0        0 eth0
172.31.16.0     0.0.0.0         255.255.240.0   U     0      0        0 eth0
172.31.16.0     0.0.0.0         255.255.240.0   U     100    0        0 eth0

我使用以下命令

ovs-vsctl add-br OVS-SWITCH
ovs-vsctl add-port OVS-SWITCH eth0
ifconfig eth0 0
ifconfig OVS-SWITCH 172.31.30.157 netmask 255.255.240.0
route add default gw 172.31.16.1 dev OVS-SWITCH

但是执行这些命令后,我与 ec2 失去了连接。

这些命令在我们实验室的 VM 中运行良好,但在 Amazon EC2 中却不起作用。

是否有人在 amazon ec2 中部署过 openvswitch,您能给我一些建议吗?

非常感谢。

答案1

我们的最佳实践之一是,当你希望一个接口有一个 IP 并且桥接到某个地方(无论是 OVS 还是 brctl)时,你希望拥有接口有 IP(如示例中的 br0 或 br-ex 或 OVS-SWITCH),而不是接口(eth0)。您可能需要重新配置 ifcfg 脚本。

我最近在 Centos 7 上遇到了一个问题。如果您在 ifcfg 脚本中配置网桥和接口,网桥将从接口获取 MAC,导致 ifup/ifdown 脚本出现错误,因为它们期望 MAC 定义设备(请参阅 ip -o 链接)。我在网桥 ifcfg 中添加了以下几行:

HWADDR=96:06:81:10:d0:43
OVS_EXTRA="set Bridge $DEVICE other-config:hwaddr=$HWADDR"

在您的情况下,它可能是 $NAME,而不是 $DEVICE。

在此处查看 ifcfg 选项1

相关内容