victor_sudakov: (Default)
[personal profile] victor_sudakov
Если нежелательно бриджевать NIC виртуальной машины в bhyve с какой-то из реальных NIC хоста, то можно сделать на хосте "ifconfig tap0 192.168.1.1/30", а в соответствующей виртуалке "ifconfig vtnet0 192.168.1.2/30". Пакеты будут передаваться через tap. Но еще удобнее сделать так:

Host:

cloned_interfaces="tap0 tap1 tap2 tap3 tap4 bridge0"
ifconfig_bridge0="192.168.1.1/24 up"
autobridge_interfaces="bridge0"
autobridge_bridge0="tap*"   
dhcpd_ifaces="bridge0"


Guest:

ifconfig_vtnet0="DHCP"


Интерфейс tap(4) имеет неприятное (но документированное в мане) свойство терять IP адрес, когда виртуальная машина останавливается и соответствующий ей /dev/tapN закрывается. Назначение IP адреса на bridge(4) решает эту проблему, а заодно позволяет сделать общий LAN для виртуальных машин.

Не забывать только про sysctl net.link.tap.up_on_open=1

Еще можно использовать в bhyve vmnet вместо tap, т.к. vmnet не теряет адрес. Но вариант с bridge удобнее во всех отношениях.

Profile

victor_sudakov: (Default)
Виктор Судаков

December 2024

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 9th, 2025 01:10 am
Powered by Dreamwidth Studios