我已经在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