Как создать сетевой мост wifi с qemu на OS X?

схватил небольшой FreeBSD live CD и QEMU, и я пытаюсь соединить свое соединение Mac OS X 10.8 wifi, чтобы гостевая ОС была доступна в моей локальной сети. Однако гостевая ОС никогда не получает аренду DHCP.

это отлично работает с VirtualBox в их "мостовом" сетевом режиме, поэтому я знаю, что это можно сделать. Мне нужно, чтобы он работал с QEMU, потому что VirtualBox не поддерживает архитектуру, которая мне нужна для этого проекта.

здесь то, что я сделал до сих пор на основе часов Google:

  1. установлен TUNTAP для OS X

  2. сказал OS X якобы пересылать все пакеты, даже ARP: (Примечание: это, кажется, не работает.)

    $ sudo sysctl -w net.inet.ip.forwarding=1
    $ sudo sysctl -w net.link.ether.inet.proxyall=1
    $ sudo sysctl -w net.inet.ip.fw.enable=1
    
  3. создал мост:

    $ sudo ifconfig bridge0 create
    $ sudo ifconfig bridge0 addm en0 addm tap0
    $ sudo ifconfig bridge0 up
    $ ifconfig
    bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        ether ac:de:xx:xx:xx:xx
        Configuration:
            priority 0 hellotime 0 fwddelay 0 maxage 0
            ipfilter disabled flags 0x2
        member: en0 flags=3<LEARNING,DISCOVER>
                 port 4 priority 0 path cost 0
        member: tap0 flags=3<LEARNING,DISCOVER>
                 port 8 priority 0 path cost 0
    tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        ether ca:3d:xx:xx:xx:xx
        open (pid 88244)
    
  4. Started tcpdump С -I в надежде, что это позволяет смешанном режиме на WiFi устройство:

    $ sudo tcpdump -In -i en0
    
  5. запустите QEMU с помощью инструкции мостовой сети:

    $ qemu-system-x86_64 -cdrom mfsbsd-9.2-RELEASE-amd64.iso -m 1024 
      -boot d -net nic -net tap,ifname=tap0,script=no,downscript=no
    

но гостевая система никогда не получает аренду DHCP:

freebsd

Если Я tcpdump -ni tap0, Я вижу много трафика из беспроводной сети. Но если я tcpdump -ni en0, I не любой DHCP-трафик из гостевой ОС QEMU.

какие идеи?

обновление 1: пробовал sudo defaults write "/Library/Preferences/SystemConfiguration/com.apple.Boot" "Kernel Flags" "net.inet.ip.scopedroute=0" и перезагрузка в это предложение списка рассылки, но это не помогло. На самом деле, он сделал в VirtualBox мостовом режиме остановки работы.

обновление 2: интересно, что виртуальный интерфейс гостя QEMU получает только широковещательные пакеты. Может мне нужно как-то добавить маршрут? Хм...

broadcast packets

14
задан Community
22.12.2022 10:15 Количество просмотров материала 3605
Распечатать страницу

2 ответа

Как вы указали, программное обеспечение VM, такое как VirtualBox, имеет способы подключения к интерфейсу Wi-Fi. Однако это, по-видимому, трудно сделать, и это не то же самое, что делает ifconfig. Насколько я понимаю, ifconfig выполняет ethernet мостовое соединение, т. е. он может соединять только комбинации реальных интерфейсов ethernet или виртуальных интерфейсов ethernet "TAP". Таким образом, это включает в себя мостовое соединение двух интерфейсов TAP. Я не знаю об интерфейсах TUN.

вопрос вы имея с QEMU является одним я решил недавно с эмуляторами Macintosh SheepShaver и Basilisk II, которые также могут загружать свой собственный интерфейс TAP, предоставляемый TunTapOSX. То, что я сделал, было настроено в мостовом режиме OpenVPN-сервер в виртуальной машине Linux на отдельном компьютере, что требует некоторой работы, но является чрезвычайно полезным инструментом. Затем, если вы находитесь в той же локальной сети, что и VPN-сервер, вы можете подключиться к нему через частный IP-адрес сервера. Я отмечаю это в своем руководстве, приведенном ниже. Следуйте первому руководству для настройка сервера OpenVPN и второе руководство по подключению эмулятора.

http://www.emaculation.com/doku.php/bridged_openvpn_server_setup http://www.emaculation.com/doku.php/wireless_appletalk_ss_bii_osx

загвоздка в том, что компьютер под управлением сервера OpenVPN должен быть подключен к маршрутизатору по ethernet. Также обратите внимание, что на этом компьютере не может быть запущен эмулятор с использованием моста ethernet, так как это может помешать с мостом, требуемым в виртуальной машине Linux для OpenVPN, или наоборот.

1
отвечен NucAr 2022-12-23 18:03

попробуйте это при создании моста:

sudo ifconfig en0 down ####Shut Down the interface #####
sudo ifconfig en0 inet delete ####To clean out the old sys hooks. Don't worry you did uninstall the driver ##### Then:

sudo ifconfig bridge0 create
$ sudo ifconfig bridge0 addm en0 addm tap0
$ sudo ifconfig bridge0 up

Я прошел через это с GNS3 и Лабораторией Steelhead русла реки, поэтому я испытал это сам.

это поднимет ваш мост.

1
отвечен Nasir Otis 2022-12-23 20:20

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх