1

Я пытаюсь виртуализировать мой домашний сервер. Я хочу создать несколько виртуальных машин для разных целей (1 виртуальная машина для общего сервера nf4, 1 виртуальная машина для owncloud и т.д.). Мне нужно иметь доступ к этим службам (в виртуальных машинах) из внешнего мира. Я использую qemu/kvm для создания виртуальных машин (хост Linux, Linux и гости Windows). Вот что я делаю: На хосте я создаю интерфейс крана и мост. Затем я удаляю IP-адреса из интерфейса крана и моего физического интерфейса (eth0). Затем я добавляю интерфейсы eth0 и tap0 к своему мосту (br0). Затем я добавляю IP к своему мосту (тот же IP, который я удалил из eth0) и меняю шлюз по умолчанию на мосту на тот, который был на eth0.

sysctl net.ipv4.ip_forward=1
modprobe tun
ip tuntap add dev tap0 mode tap user ivailo
ip link add name br0 type bridge stp_state 0
ip link set br0 up
ip link set enp5s1 down
ip link set enp5s1 up promisc on
ip link set tap0 up promisc on
ip addr del 192.168.0.102/24 dev enp5s1
ip link set enp5s1 master br0
ip link set tap0 master br0
ip addr add 192.168.0.102/24 brd + dev br0
ip route add default via 192.168.0.1 dev br0

После этого мой интернет работает. НО, когда я начинаю свою QEMU VM с

sudo qemu-system-x86_64 -drive file=/usr/share/ovmf/ovmf_code_x64.bin,format=raw,readonly=on,if=pflash -enable-kvm -machine q35 -cpu host -smp cores=4,threads=1,maxcpus=4 -m 4048 -net nic,macaddr=02:68:b3:29:da:98 -net tap,ifname=tap0,script=no,downscript=no -drive file=~/debian.iso,index=0,media=cdrom 
У меня нет доступа к Интернету с моей виртуальной машины (я не могу пропинговать google.bg, хост или любой компьютер в локальной сети, «сеть недоступна»). Я попытался сделать то же самое внутри VMWare:

создал 2 виртуальные машины с сетью NAT (они могут общаться между собой, получать доступ к моей локальной сети и Интернету, но ни одно устройство в моей локальной сети, кроме хоста, не может получить к ним доступ (как и должно быть)). Затем в первой виртуальной машине сделал то же самое, что я делал ранее на хосте (создал tap, bridge, добавил eth0 и tap0 к br0 и запустил виртуальную машину qemu (той же командой))

и виртуальная машина qemu внутри первого vmware vm смогла получить доступ к Интернету, и я смог получить доступ / проверить связь со вторым vm. Это значит, что я все правильно настроил раньше.

Поэтому я пришел к выводу, что проблема заключается в моем маршрутизаторе. Поэтому я собираюсь купить новый. Но должен ли маршрутизатор поддерживать теги VLAN для этого (чтобы подключить устройство к моей виртуальной машине к моему физическому устройству и перенаправить порты на виртуальную машину)

0