LINUX.ORG.RU
ФорумAdmin

Как примостить виртуалку к интерфейсу без использования классического bridge ?

 , , , ,


0

2

Скриптом, а то статически описывать bridge заранее в /etc/interfaces как то нединамично что ли. В моем случае нужно примостить к адаптеру, который создал openvpn. (чтобы виртуалка оказалась в сети, куда подключается openvpn)



Последнее исправление: ZugDuk (всего исправлений: 1)

nat или openvpn перенести в виртуалку.

vel ★★★★★
()
Ответ на: комментарий от vel

Я тоже помню, что не умеет, вроде бы ничего не менялось. С другой стороны, ну а что там может быть такого на гипервизоре, что с ним нужно общаться по сети? Посыпаю голову пеплом. Упустил момент про openvpn на ноде.

BOOBLIK ★★★★
()
Последнее исправление: BOOBLIK (всего исправлений: 1)

так просто пропиши девайс хоста виртуалке. там есть проброс физического адаптера. с овпнами чесно не пробовал но вот вланы прокидывает без проблем.

antech
()
Ответ на: комментарий от vel

А мне между хостом и гостем связь как раз не особо надо. Нужно просто запустить виртуалку чтобы она оказалась в нужной сети и настроила себя по dhcp. В моем случае эта сеть - куда openvpn коннектится. Но чаще всего - это сеть куда хост подключен своей единственной сетевушкой (и моститься нужно к ней, но не переписывая при этом настройки на хосте).

ZugDuk
() автор топика

$OVPNTAP - tap иинтерфейс openvpn, например tap27
$BRIF - бридж интерфейс например br9

brctl addbr $BRIF
brctl setfd $BRIF 0
brctl stp $BRIF on
ip link set up $BRIF 
openvpn --mktun --dev $OVPNTAP
brctl addif $BRIF $OVPNTAP
ip link set "$OVPNTAP" promisc on up
Дальше если используете libvirt то в его конфигах указываете $BRIF. Если запускаете ручками то
qemu-kvm ... script=up-script downscript=down-script ...
$ cat up-script
#!/bin/sh

ip link set $1 up
brctl addif $BRIF $1

$ cat down-script
#!/bin/sh

brctl delif $BRIF $1
ip link set $1 down

anc ★★★★★
()
Ответ на: комментарий от anc

Написал это у себя (у меня vpn интерфейс tap9)

...
OVPNTAP=tap9
BRIF=br9
brctl addbr $BRIF
brctl setfd $BRIF 0
brctl stp $BRIF on
ip link set up $BRIF
openvpn --mktun --dev $OVPNTAP
brctl addif $BRIF $OVPNTAP
ip link set "$OVPNTAP" promisc on up

su "$VMU" -c "qemu-system-x86_64 -enable-kvm \
...
-netdev tap,ifname="$TAP",id=mynet0,script=up-script downscript=down-script -device virtio-net-pci,netdev=mynet0"$MACADDRESS",bus=pci.0,addr=0x3 \
...
-daemonize
"
но не пашет
Sun Aug 29 22:40:36 2021 ERROR: Cannot ioctl TUNSETIFF tap9: Device or resource busy (errno=16)
Sun Aug 29 22:40:36 2021 Exiting due to fatal error

ZugDuk
() автор топика
Ответ на: комментарий от ZugDuk

Вы qemu что ли прописали тот же tap9 что и ovpn ? Не надо было так делать. Если не принципиально, а я думаю нет, уберите ifname="$TAP",
Между параметрами должна быть запятая script=up-script, downscript=down-script Сорри забыл поставить.
Пути до скриптов up-script, down-script должны быть полные, не подумал что очевидное надо разжевать.

anc ★★★★★
()
Ответ на: комментарий от anc

Не, для qemu было вписано tap11, но сейчас убрал. Теперь запуск выглядит так

...
OVPNTAP=tap9
BRIF=br9
brctl addbr $BRIF
brctl setfd $BRIF 0
brctl stp $BRIF on
ip link set up $BRIF
openvpn --mktun --dev $OVPNTAP
brctl addif $BRIF $OVPNTAP
ip link set "$OVPNTAP" promisc on up

su "$VMU" -c "qemu-system-x86_64 -enable-kvm \
...
-netdev tap,id=mynet0,script=$SCRIPT_DIR/up-script,downscript=$SCRIPT_DIR/down-script -device virtio-net-pci,netdev=mynet0,bus=pci.0,addr=0x3 \
...
-daemonize"

Но ничего не изменилось

Mon Aug 30 23:14:52 2021 ERROR: Cannot ioctl TUNSETIFF tap9: Device or resource busy (errno=16)
Mon Aug 30 23:14:52 2021 Exiting due to fatal error
2021-08-30T20:14:52.275566Z qemu-system-x86_64: could not configure /dev/net/tun: Operation not permitted

ZugDuk
() автор топика
Ответ на: комментарий от ZugDuk

Чейто я сегодня по одному орешку приношу. :( Поспать что ли.
Вот это

brctl addbr $BRIF
brctl setfd $BRIF 0
brctl stp $BRIF on
ip link set up $BRIF 
openvpn --mktun --dev $OVPNTAP
brctl addif $BRIF $OVPNTAP
ip link set "$OVPNTAP" promisc on up
Достаточно выполнить один раз при старте системы.

anc ★★★★★
()
Ответ на: комментарий от ZugDuk

Показываем:
1. brctl show
2. конфиг ovpn
3. строку запуска qemu

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.