Назад | Перейти на главную страницу

Proxmox с мостом Openvswitch

Все,

Я пытаюсь создать для меня возможность использовать локальную сеть в моей инфраструктуре Proxmox.

В настоящее время все работает через NAT от wlan0, и все внутренние машины имеют один и тот же локальный IP-адрес, что для меня не очень полезно. Пытаюсь исправить это с помощью овс.

Моя настройка ovs:

[wlan0] [IP Stack]
  |      |
[maplebridge] -- vport1
              -- vport2 

Моя конфигурация ovs:

ovs-vsctl add-br maplebridge #Create my bridge
ip link set maplebridge up # Turn on bridge
ovs-vsctl add-port maplebridge wlan0 # Add wlan0
ip addr del 192.168.1.136/24 dev wlan0 # Remove config from wlan0
dhclient maplebridge # DHCP IP addr to maplebridge
ip tuntap add mode tap vport1 # Create vport1
ip tuntap add mode tap vport2 # Create vport2
ip link set vport1 up # Turn on vport1
ip link set vport2 up # Turn on vport2
ovs-vsctl add-port maplebridge vport1 -- add-port maplebridge vport2 # Add ports to bridge

Настройки ovs:

root@henesys:/home/mztriz# ovs-vsctl show
55601e1b-928a-454b-9e7f-d5c24ed47fe9
    Bridge maplebridge
        Port maplebridge
            Interface maplebridge
                type: internal
        Port "vport2"
            Interface "vport2"
        Port "vport1"What 
            Interface "vport1"
        Port "wlan0"
            Interface "wlan0"
    ovs_version: "2.3.0"

Содержимое / etc / network / interfaces:

root@henesys:/home/mztriz# cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
    address  192.168.1.136
    netmask  255.255.255.0
    gateway  192.168.1.1
    wpa-ssid ""
    wpa-psk ""

allow-ovs maplebridge
iface maplebridge inet dhcp
    ovs_type OVSBridge
    ovs_ports vport1 vport2

allow-br0 vport1
iface vport1 inet manual
    ovs_bridge vport1
    ovs_type OVSPort

allow-br0  vport2
iface vport2 inet manual
    ovs_bridge vport2
    ovs_type OVSPort

Вот что я вижу в веб-интерфейсе в разделе Сеть:

Вот что произойдет, если я попытаюсь настроить одну из моих виртуальных машин для использования сетевого адаптера vport1:

Как видите, я не могу подключить vports 1 или 2 ни к одной из моих виртуальных машин. Как эта настройка работает в Proxmox?

РЕДАКТИРОВАТЬ:

Мне было предложено попробовать NAT через NAT с мостом ovs, созданным из веб-интерфейса Proxmox следующим образом:

Создайте новую подсеть (например, 192.168.2.0/24) внутри Proxmox, т.е. удалите "wlan0" из "maplebridge".

Все виртуальные машины должны быть подключены к одной виртуальной локальной сети, но не к wlan.

Трафик должен маршрутизироваться через внутренний NAT в Proxmox, NAT должен быть активирован при запуске моста (добавляется в / etc / network / interfaces):

auto vmbr1
iface vmbr1 inet static
    address  192.168.1.136
    netmask  255.255.255.0
    ovs_type OVSBridge
    pre-up iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o wlan0 -j MASQUERADE

Однако, если я это сделаю, не конфликтуют ли адреса из wlan0 и vmbr1, поскольку они одинаковы?

Когда я использую эту конфигурацию, я не могу получить какое-либо соединение в подсети 192.168.2.0/24 между виртуальными машинами или за ее пределами. Я могу выбрать vmbr1 для виртуальных машин для использования в своих сетевых интерфейсах, но опять же они могут пинговать только локальный хост или назначенные им IP-адреса.

У меня заработала внутренняя сеть виртуальных машин.

Добавлен OVS Bridge vmbr1 в Proxmox и изменен / etc / network / interfaces на следующее:

auto wlan0
iface wlan0 inet static
        address  192.168.1.136
        netmask  255.255.255.0
        gateway  192.168.1.1
        wpa-ssid ""
        wpa-psk ""

auto vmbr1
iface vmbr1 inet static
    address  10.0.2.1
    netmask  255.255.255.0
    ovs_type OVSBridge
    pre-up iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -o wlan0 -j MASQUERADE

Затем я назначил сетевое устройство vmbr1 на мои виртуальные машины и настроил каждую виртуальную машину со статическим IP-адресом в сети 10.0.2.x. Затем я включил пересылку ipv4 в sysctl.conf на виртуальных машинах и хосте Proxmox.

/etc/sysctl.conf:
net.ipv4.ip_forward = 1

Внутренняя и внешняя сети сейчас работают!