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

Сеть NAT в Proxmox VE 5.4 - соединение виртуальной машины пропало после сброса сетевого интерфейса

Этот вопрос касается Proxmox VE 5.4.

Чтобы создать сеть NAT, я следовал этому руководству: https://cyberpersons.com/2016/07/27/setup-nat-proxmox/

К сожалению, для сети требуется dhcp, поэтому я не смог назначить статический IP-адрес хост-машине, на которой запущен Proxmox.

Файл / etc / network / interfaces на хост-машине выглядит так:

auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr1
iface vmbr1 inet dhcp
        bridge_ports eno1
        bridge_stp off
        bridge_fd 0
        dns-nameservers 8.8.8.8 8.8.4.4

auto vmbr2
iface vmbr2 inet static
        address  10.10.10.1
        netmask  255.255.255.0
        bridge_ports none
        bridge_stp off
        bridge_fd 0

        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up   iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o vmbr1 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o vmbr1 -j MASQUERADE

        post-up   iptables -t nat -A PREROUTING -i vmbr1 -p tcp --dport 2022 -j DNAT --to 10.10.10.2:22
        post-down iptables -t nat -D PREROUTING -i vmbr1 -p tcp --dport 2022 -j DNAT --to 10.10.10.2:22

Конфигурация сети на виртуальной машине под управлением Ubuntu 18.04 выглядит следующим образом:

network:
    ethernets:
        ens18:
            dhcp4: no
            dhcp6: no
            addresses: [10.10.10.2/24]
            gateway4: 10.10.10.1
            nameservers:
                addresses: [8.8.8.8,8.8.4.4]
    version: 2

Вопрос 1: После перезагрузки хост-машины, а затем виртуальной машины, я могу пинговать внешний мир (например, google.com) и 10.10.10.1 с виртуальной машины. Однако, если я выполняю ifdown vmbr2 && ifup vmbr2 на хост-машине во время работы виртуальной машины, на виртуальной машине нет Интернета, и ситуация сохраняется, даже если я перезагружаю виртуальную машину (также я не могу пинговать 10.10.10.1 с виртуальной машины и 10.10.10.2 от хоста). С другой стороны, если я выполняю ifdown vmbr2 && ifup vmbr2 на хосте, когда виртуальная машина не запущена, а затем запускаю виртуальную машину, на виртуальной машине есть Интернет. Есть ли способ сбросить сетевой интерфейс (vmbr2) на хосте во время работы виртуальной машины?

Вопрос 2: Вы бы порекомендовали альтернативную конфигурацию сети?