Назад | Перейти на главную страницу

Wi-Fi и мост. Нет интернета. Не поддерживается

ifconfig

eth0      Link encap:Ethernet  HWaddr 54:04:a6:3d:36:ff  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:3300 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3300 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:950771 (950.7 KB)  TX bytes:950771 (950.7 KB)

wlan0 Link encap:Ethernet  HWaddr 30:5a:3a:60:5d:c0  
          inet addr:192.168.0.105  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::7cf4:8ce5:ba7c:8fd3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1553 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1223 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1007907 (1.0 MB)  TX bytes:524507 (524.5 KB)

Вопрос

Я настроил сетевой интерфейс bridge0 для моего гостя QEMU Windows, включил его с помощью командной строки

brctl addbr bridge0

qemu .. -netdev bridge,br=bridge0,id=net0 -device virtio-net-pci,netdev=net0

(и разрешил bridge0 в /etc/qemu/bridge.conf).

С этой настройкой гость QEMU не может получить доступ в Интернет. Например, на хосте пинг через этот мост не работает:

ping -I bridge0 8.8.8.8

Если я попытаюсь добавить свою карту Wi-Fi (с рабочим подключением) к мосту:

brctl addif bridge0 wlan0

Я получаю Operation not supported ошибка. Я вижу много сообщений в сети Это невозможно. Но как мне это обойти?

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

Что мне сделать, чтобы мой мост использовал подключение к Интернету по Wi-Fi?

Как я могу привлечь iptables решить мою проблему? Как создать Sub-NAT для моего моста для управления гостями?

Пусть с этим справится libvirt. Libvirt имеет сеть NAT по умолчанию, которая будет обрабатывать всю вашу переадресацию, маскировку и адресацию за вас. Эта сеть NAT предварительно настроена при развертывании libvirt и буквально называется "default". NAT - это наиболее разумный способ получить доступ в Интернет к виртуальной машине через соединение WiFi.

Кроме того, вы почти никогда не сможете использовать Wi-Fi в качестве моста. Во-первых, потому что интерфейсы хоста обычно его не поддерживают. Во-вторых, потому что почти все точки беспроводного доступа будут видеть второй MAC-адрес (от вашей виртуальной машины), входящий в ваше WiFi-соединение как попытку спуфинга, и деаутентифицируют вас.

Ты можешь использовать virsh и virt-install управлять libvirt через командную строку. Вы также можете использовать virt-manager для управления libvirt через графический интерфейс, аналогично тому, как работает клиент vSphere для ESXi. Оба этих интерфейса управления могут подключаться к удаленным хостам. Инструментов управления гораздо больше, и вам подойдет любой. virt-manager потенциально самый простой в использовании.

Подробнее о сети libvirt: http://wiki.libvirt.org/page/Networking

Некоторые инструменты управления libvirt (включая уже упомянутые): http://www.linux-kvm.org/page/Management_Tools

Руководство по использованию virsh: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Deployment_and_Administration_Guide/chap-Managing_guest_virtual_machines_with_virsh.html

Мост все еще можно сделать, используя wpa_supplicant & iw & brctl трио.

wpa_supplicant -B -b br0 -i wlan0 -c wpa.conf -Dwext

wpa_supplicant - Клиент защищенного доступа Wi-Fi и соискатель IEEE 802.1X

  • -B Запустить демон в фоновом режиме.
  • -b br_ifname Необязательное имя интерфейса моста. (На интерфейс)
  • -i ifname Интерфейс для прослушивания
  • -c filename Путь к файлу конфигурации.

wpa.conf - пример конфигурационного файла wpa_supplicant:

network={ ssid="MYSSID" psk="passphrase" }

Включите 4-адресный режим при создании интерфейса. Беспроводной чип должен поддерживать это. (он же AP-to-Sta WDS).

  • iw dev wlan0 set 4addr on

Добавьте интерфейс к мосту:

  • brctl addif br0 wlan0