Программный
многоуровневый коммутатор с открытым исходным текстом, предназначенный
для работы в гипервизорах и на компьютерах с виртуальными машинами.
Установив систему и сделав:
apt update && apt upgrade
Начинаем ставить.
Мой совет, берите LTS, не стабильный выдаст много интересного и надо будет маятся с доп установкой много чего
root@OpenVSwitch:~# cd /tmp
Скачиваем
root@OpenVSwitch:/tmp# wget https://www.openvswitch.org/releases/openvswitch-2.5.8.tar.gz
Распаковываем
root@OpenVSwitch:/tmp# tar -xzf openvswitch-2.5.8.tar.gz
Переходим в папку и приступаем к установке:
root@OpenVSwitch:/tmp/openvswitch-2.5.8# ./configure
Если не послушали меня и ставили самую новую, то получите похожее:
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking whether make supports nested variables... no
checking how to create a pax tar archive... gnutar
checking for style of include used by make... none
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/openvswitch-2.5.8':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
root@OpenVSwitch:/tmp/openvswitch-2.5.8#
В целом тут тоже все просто: идем по пунктам доставляя чего не хватает
Потом классика:
root@OpenVSwitch:/tmp/openvswitch-2.5.8# make && make install
Нюанс с Убунтой серверной:
root@OpenVSwitch:/tmp/openvswitch-2.5.8# make && make install
The program 'make' can be found in the following packages:
* make
* make-guile
Try: apt install <selected package>
root@OpenVSwitch:/tmp/openvswitch-2.5.8#
В ней нет по дефолту make, надо доставлять ручками.
После этого можно загрузить модуль ядра с помощью insmod:
$ insmod datapath/linux/openvswitch.ko
Создать базу настроек, которая будет использована для хранения текущей конфигурации коммутатора:
$ mkdir -p /usr/local/etc/openvswitch
$ ovsdb-tool create /usr/local/etc/openvswitch/conf.dbvswitch/vswitch.ovsschema
Можно пойти более простым путем(более старая весия):
root@OpenVSwitch:~# apt install openvswitch-switch
Запусукаетс просто, правки чтобы не выдавал отладку в консоль:
ovs-vswitchd --pidfile --detach
Есть памятка по настройке
/usr/share/doc/openvswitch-switch/README.Debian.gz
Пример:
Examples:
--------
ex 1: A standalone bridge.
allow-ovs br0
iface br0 inet static
address 192.168.1.1
netmask 255.255.255.0
ovs_type OVSBridge
ex 2: A bridge with one port.
allow-ovs br0
iface br0 inet dhcp
ovs_type OVSBridge
ovs_ports eth0
allow-br0 eth0
iface eth0 inet manual
ovs_bridge br0
ovs_type OVSPort
ex 3: A bridge with multiple physical ports.
allow-ovs br0
iface br0 inet dhcp
ovs_type OVSBridge
ovs_ports eth0 eth1
allow-br0 eth0
iface eth0 inet manual
ovs_bridge br0
ovs_type OVSPort
allow-br0 eth1
iface eth1 inet manual
ovs_bridge br0
ovs_type OVSPort
ex 4: A bridge with an OVS internal port.
allow-ovs br1
iface br1 inet static
address 192.168.1.1
netmask 255.255.255.0
ovs_type OVSBridge
ovs_ports vlan100
allow-br1 vlan100
iface vlan100 inet manual
ovs_bridge br1
ovs_type OVSIntPort
ovs_options tag=100
ovs_extra set interface ${IFACE} external-ids:iface-id=$(hostname -s)
ex 5: Bonding.
allow-ovs br2
iface br2 inet static
address 192.170.1.1
netmask 255.255.255.0
ovs_type OVSBridge
ovs_ports bond0
allow-br2 bond0
iface bond0 inet manual
ovs_bridge br2
ovs_type OVSBond
ovs_bonds eth2 eth3
ovs_options bond_mode=balance-tcp lacp=active
ex 6: Patch ports.
allow-ovs br0
iface br0 inet manual
ovs_type OVSBridge
ovs_ports patch0
allow-br0 patch0
iface patch0 inet manual
ovs_bridge br0
ovs_type OVSPatchPort
ovs_patch_peer patch1
allow-ovs br1
iface br1 inet manual
ovs_type OVSBridge
ovs_ports patch1
allow-br1 patch1
iface patch1 inet manual
ovs_bridge br1
ovs_type OVSPatchPort
ovs_patch_peer patch0
ex 7: Tunnel.
allow-ovs br1
iface br1 inet static
address 192.168.1.1
netmask 255.255.255.0
ovs_type OVSBridge
ovs_ports gre1
allow-br1 gre1
iface gre1 inet manual
ovs_bridge br1
ovs_type OVSTunnel
ovs_tunnel_type gre
ovs_tunnel_options options:remote_ip=182.168.1.2 options:key=1
ex 8: Create and destroy bridges.
ifup --allow=ovs $list_of_bridges
ifdown --allow=ovs $list_of_bridges
Создаем виртуальный коммутатор(есть две утилиты настройки):
Установив систему и сделав:
apt update && apt upgrade
Начинаем ставить.
Мой совет, берите LTS, не стабильный выдаст много интересного и надо будет маятся с доп установкой много чего
root@OpenVSwitch:~# cd /tmp
Скачиваем
root@OpenVSwitch:/tmp# wget https://www.openvswitch.org/releases/openvswitch-2.5.8.tar.gz
Распаковываем
root@OpenVSwitch:/tmp# tar -xzf openvswitch-2.5.8.tar.gz
Переходим в папку и приступаем к установке:
root@OpenVSwitch:/tmp/openvswitch-2.5.8# ./configure
Если не послушали меня и ставили самую новую, то получите похожее:
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking whether make supports nested variables... no
checking how to create a pax tar archive... gnutar
checking for style of include used by make... none
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/openvswitch-2.5.8':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
root@OpenVSwitch:/tmp/openvswitch-2.5.8#
В целом тут тоже все просто: идем по пунктам доставляя чего не хватает
Потом классика:
root@OpenVSwitch:/tmp/openvswitch-2.5.8# make && make install
Нюанс с Убунтой серверной:
root@OpenVSwitch:/tmp/openvswitch-2.5.8# make && make install
The program 'make' can be found in the following packages:
* make
* make-guile
Try: apt install <selected package>
root@OpenVSwitch:/tmp/openvswitch-2.5.8#
В ней нет по дефолту make, надо доставлять ручками.
После этого можно загрузить модуль ядра с помощью insmod:
$ insmod datapath/linux/openvswitch.ko
Создать базу настроек, которая будет использована для хранения текущей конфигурации коммутатора:
$ mkdir -p /usr/local/etc/openvswitch
$ ovsdb-tool create /usr/local/etc/openvswitch/conf.dbvswitch/vswitch.ovsschema
Можно пойти более простым путем(более старая весия):
root@OpenVSwitch:~# apt install openvswitch-switch
Запусукаетс просто, правки чтобы не выдавал отладку в консоль:
ovs-vswitchd --pidfile --detach
Есть памятка по настройке
/usr/share/doc/openvswitch-switch/README.Debian.gz
Пример:
Examples:
--------
ex 1: A standalone bridge.
allow-ovs br0
iface br0 inet static
address 192.168.1.1
netmask 255.255.255.0
ovs_type OVSBridge
ex 2: A bridge with one port.
allow-ovs br0
iface br0 inet dhcp
ovs_type OVSBridge
ovs_ports eth0
allow-br0 eth0
iface eth0 inet manual
ovs_bridge br0
ovs_type OVSPort
ex 3: A bridge with multiple physical ports.
allow-ovs br0
iface br0 inet dhcp
ovs_type OVSBridge
ovs_ports eth0 eth1
allow-br0 eth0
iface eth0 inet manual
ovs_bridge br0
ovs_type OVSPort
allow-br0 eth1
iface eth1 inet manual
ovs_bridge br0
ovs_type OVSPort
ex 4: A bridge with an OVS internal port.
allow-ovs br1
iface br1 inet static
address 192.168.1.1
netmask 255.255.255.0
ovs_type OVSBridge
ovs_ports vlan100
allow-br1 vlan100
iface vlan100 inet manual
ovs_bridge br1
ovs_type OVSIntPort
ovs_options tag=100
ovs_extra set interface ${IFACE} external-ids:iface-id=$(hostname -s)
ex 5: Bonding.
allow-ovs br2
iface br2 inet static
address 192.170.1.1
netmask 255.255.255.0
ovs_type OVSBridge
ovs_ports bond0
allow-br2 bond0
iface bond0 inet manual
ovs_bridge br2
ovs_type OVSBond
ovs_bonds eth2 eth3
ovs_options bond_mode=balance-tcp lacp=active
ex 6: Patch ports.
allow-ovs br0
iface br0 inet manual
ovs_type OVSBridge
ovs_ports patch0
allow-br0 patch0
iface patch0 inet manual
ovs_bridge br0
ovs_type OVSPatchPort
ovs_patch_peer patch1
allow-ovs br1
iface br1 inet manual
ovs_type OVSBridge
ovs_ports patch1
allow-br1 patch1
iface patch1 inet manual
ovs_bridge br1
ovs_type OVSPatchPort
ovs_patch_peer patch0
ex 7: Tunnel.
allow-ovs br1
iface br1 inet static
address 192.168.1.1
netmask 255.255.255.0
ovs_type OVSBridge
ovs_ports gre1
allow-br1 gre1
iface gre1 inet manual
ovs_bridge br1
ovs_type OVSTunnel
ovs_tunnel_type gre
ovs_tunnel_options options:remote_ip=182.168.1.2 options:key=1
ex 8: Create and destroy bridges.
ifup --allow=ovs $list_of_bridges
ifdown --allow=ovs $list_of_bridges
Два стартовых скрипта для управления, подсмотренные в интернете:
$ sudo vi /etc/ovs-ifup
#!/bin/sh
switch='br0'
/sbin/ifconfig $1 0.0.0.0 up
ovs-vsctl add-port ${switch} $1
$ sudo vi /etc/ovs-ifdown
#!/bin/sh
switch='br0'
/sbin/ifconfig $1 0.0.0.0 down
ovs-vsctl del-port ${switch} $1
brctl addbr ovs-br0
ovs-vsctl add-br ovs-br0
Теперь подключим физический интерфейс к виртуальному порту:
А теперь подправим настройки сети:
vim /etc/network/interfaces
auto ens18 iface ens18 inet manual auto ovs-br0 iface ovs-br0 inet static address {addres} netmask {mask} network {net} broadcast
gateway
{broadcast}
# dns-* options are implemented by the resolvconf package, if installed dns-nameservers DNS1 DNS2
{gateway}
И перезапускаем сеть
service networking restart
После смотрим порты и интерфейсы в коммутаторе:
ovs-vsctl add-port ovs0 ens18
root@OpenVSwitch:~# ovs-vsctl show
fd533f2e-797f-4de9-b86b-5b6f5ac68616
Bridge "ovs-br0"
Port "ovs-br0"
Interface "ovs-br0"
type: internal
ovs_version: "2.5.5"
Можно посмотреть еще и так:
ovs-vsctl list-br
Удаляем так, сначала порт потом коммутатор
ovs-vsctl del-port ovs-br0 eth0
ovs-vsctl del-br ovs-br0
На этом пока все!
Комментариев нет:
Отправить комментарий