Я установил openvswitch-2.3.2 в Amazon EC2 CentOS 6.5 и хочу использовать openvswitch для создания 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.
команды отлично работают в виртуальной машине в нашей лаборатории, но не работают в Amazon EC2.
Кто-нибудь развернул openvswitch в amazon ec2, и не могли бы вы дать мне несколько предложений.
большое спасибо.
Одна из лучших практик, которая у нас есть, - когда вы хотите, чтобы интерфейс имел IP-адрес и где-то был соединен мост (независимо от OVS или brctl), вы хотите иметь мост интерфейс должен иметь IP (например, br0, br-ex или OVS-SWITCH в вашем примере), а не интерфейс (eth0). Вы можете захотеть перенастроить свои скрипты ifcfg.
Недавно я столкнулся с проблемой на Centos 7. Если вы настраиваете мост и интерфейс в сценариях ifcfg, мост получает MAC от интерфейса, отображая ошибки сценариев ifup / ifdown, поскольку они ожидают, что MAC определяет устройство (см. Ip -о ссылка). Я добавил эти строки в свой мост ifcfg:
HWADDR=96:06:81:10:d0:43
OVS_EXTRA="set Bridge $DEVICE other-config:hwaddr=$HWADDR"
В вашем случае это может быть $ NAME, а не $ DEVICE.
Здесь можно найти параметры ifcfg 1