Я прочитал несколько сообщений с одним и тем же вопросом на форумах KVM, открытых туманностях и в общих форумах виртуализации, но нашел только частичные или поддельные ответы.
Некоторая информация:
Вот что я собрал (и попытался) до сих пор:
На основе документации OpenNebula Я настроил мост OVS так:
# Create bridge and add port
ovs-vsctl add-br ovsbr0
ovs-vsctl add-port ovsbr0 enp3s0
# Change external IP address from port to bridge
ip addr flush dev enp3s0
ip addr add xxx.xxx.110.50/29 dev ovsbr0
ip link set ovsbr0 up
ip route add default via xxx.xxx.110.49 dev ovsbr0
Это дает мне доступ к Интернету и настройку моста как их пример:
dba23490-cd85-40f4-a3b5-dfe9c4e2e60a
Bridge "ovsbr0"
Port "enp3s0"
Interface "enp3s0"
Port "ovsbr0"
Interface "ovsbr0"
type: internal
ovs_version: "2.9.2"
прохладный! Что ж, это та часть, где я потерялся. Что теперь? как мне добавить это в Open Nebula, чтобы у моих новых виртуальных машин были внешние IP-адреса?
Если я сильно проиграю, как я могу это сделать?
Другая информация, которая может быть полезна:
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state UP group default qlen 1000
link/ether 00:25:90:62:f9:60 brd ff:ff:ff:ff:ff:ff
3: enp4s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:25:90:62:f9:61 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:c6:e4:3e brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:c6:e4:3e brd ff:ff:ff:ff:ff:ff
17: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether fa:1d:97:0a:8e:1c brd ff:ff:ff:ff:ff:ff
18: ovsbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether 00:25:90:62:f9:60 brd ff:ff:ff:ff:ff:ff
inet xxx.xxx.110.50/29 scope global ovsbr0
valid_lft forever preferred_lft forever
# ip route
default via xxx.xxx.110.49 dev ovsbr0
xxx.xxx.110.48/29 dev ovsbr0 proto kernel scope link src xxx.xxx.110.50
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
Заранее спасибо. Ссылка на мое сообщение на форуме OpenNebula
Наконец-то он заработал!
Вот мой шаблон виртуальной сети:
BRIDGE = "ovsbr0"
BRIDGE_TYPE = "openvswitch"
DESCRIPTION = "Network with public IPs"
DNS = "8.8.8.8"
GATEWAY = "xxx.xxx.110.49"
OUTER_VLAN_ID = ""
PHYDEV = ""
SECURITY_GROUPS = "0"
VLAN = "YES"
VLAN_ID = ""
VN_MAD = "ovswitch"
# optional QoS params
INBOUND_AVG_BW = "5785"
INBOUND_PEAK_BW = "9000"
INBOUND_PEAK_KB = "20000"
OUTBOUND_AVG_BW = "4200"
OUTBOUND_PEAK_BW = "9000"
OUTBOUND_PEAK_KB = "20000"
Оказывается, этой информации нет в Развертывание руководство, но в Руководство по эксплуатации где вы можете найти шаблоны vnet.
Приведенный ими пример:
# Configuration attributes (OpenvSwitch driver)
NAME = "Public"
DESCRIPTION = "Network with public IPs"
BRIDGE = "br1"
VLAN = "YES"
VLAN_ID = 12
DNS = "8.8.8.8"
GATEWAY = "130.56.23.1"
LOAD_BALANCER = 130.56.23.2
AR=[ TYPE = "IP4", IP = "130.56.23.2", SIZE = "1"]
AR=[ TYPE = "IP4", IP = "130.56.23.34", SIZE = "1"]
AR=[ TYPE = "IP4", IP = "130.56.23.24", SIZE = "1"]
AR=[ TYPE = "IP4", IP = "130.56.23.17", MAC= "50:20:20:20:20:21", SIZE = "1"]
AR=[ TYPE = "IP4", IP = "130.56.23.12", SIZE = "1"]