LINUX.ORG.RU

маршрутизация через qemu вм c openbsd

 , , , ,


2

4

Eсть хост openbsd7.5, в нём есть qemu тоже с openbsd7.5. Хост смотрит в сеть через re0. Между ними прокинут мост для предоставления вм доступа к внешнему миру.

Хочу маршрутизировать трафик хоста через вм. Предвкушая вопросы пытливых умов о целесообразности, скажу, что нужно поиграться с железками при подключении к провайдеру трёхбуквенного запрещенного. собсвенно, подключаться буду с вм.

а теперь обо всём и поподробнее))

то, что работает

на хосте:

/etc/hostname.tap0

inet 10.0.0.1 255.255.255.0
up

/etc/hostnme.bridge0

add tap0
add re0
up

/etc/pf.conf

match out on re0 from 10.0.0.0/24 to any nat-to (re0)

/etc/sysctl.conf

net.inet.ip.forwarding=1

сам qemu

qemu-system-x86_64 \
 -m 4096 \
 -hda /usr/disk.qcow2 \
 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no \
 -device virtio-net-pci,netdev=net0

на вм

/etc/hostname.vio0

inet 10.0.0.2 255.255.255.0
up

/etc/resolv.conf

nameserver 8.8.8.8

маршрут по умолчанию route add default 10.0.0.1 Все прекрасно - машины друг друга видят, пингуют. С вм идет пинг на внешние айпи. Сказка! Но тут начинается самое интересное.

на хосте создаю второй tap /etc/hostname.tap1

inet 10.0.1.1 255.255.255.0
up

qemu

qemu-system-x86_64 \
 -m 4096 \
 -hda /usr/disk.qcow2 \
 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no \
 -device virtio-net-pci,netdev=net0 \
 --netdev tap,id=net1,ifname=tap1,script=no,downscript=no \
 -device virtio-net-pci,netdev=net1

на вм /etc/hostname.vio1

inet 10.0.1.2 255.255.255.0
up

/etc/sysctl.conf

net.inet.ip.forwarding=1

/etc/pf.conf

match out on vio0 from 10.0.1.0/24 to any nat-to (vio0)

на хосте меняю маршрут по умолчанию route add default 10.0.1.2

Машины друг друга видят, пингуют. Причём как по 10.0.0.0, так и по 10.0.1.0. Выхода во внешний интернет нет ни на хосте, ни на вм. Чувствую где-то циклится, но, скорее всего, ошибаюсь. Да и как исправить не знаю.



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