На определенных сборках VMware Workstation 6.5.1 "синий" экран получен на установке. 6.5.2 Устраняет эту проблему. Кроме этого, Windows 7 очень не отличается, чем Vista, поэтому если можно заставить Vista работать под VMware, таким образом, Вы могли добраться 7.
ОБНОВЛЕНИЕ
Не возможно образовать мост между беспроводной связью (клиент иначе режим станции) и соединенными проводом интерфейсами согласно этому потоку на linux-ath5k-devel.
Нужно настроить NAT вместо этого:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Затем необходимо присвоить IP-адреса себе:
ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up
Установите dhcp сервер и добавьте следующий текст к его файлу конфигурации (в/etc/dhcpd.conf или чем-то подобном)
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.100 10.0.0.120;
option routers 10.0.0.1;
option domain-name-servers the-ip-address-you-have-in-etc-resolv.conf;
}
Затем запустите его,/etc/init.d/dhcpd запускаются
И вот именно!
brctl addbr mybridge
brctl addif mybridge eth0
brctl addif mybridge wlan0
Сначала Вы создаете интерфейс моста, который я выбираю, произвольное имя mybridge затем добавляют интерфейсы к нему.
Необходимо запросить новый IP-адрес (Это необходимо, только если Вы хотите получить допустимый IP для самого образующего мост устройства):
dhclient -d mybridge
Мне понравилось подход Arp Прокси , но исходный вопрос указал Дугу Linux. Вот является Дуга версией Linux реализация Raspbian . Я пытался очень трудно адаптироваться , исходный подход от Debian Wiki упомянул здесь к [1 112] netctl с помощью ExecUpPost
и ExecDownPre
без успеха. Все работало в командной строке, но не в профиле.
шаги:
IPForward=yes
. Я использовал Суппликант WPA для управления интерфейсом беспроводной сети. enable-reflector=yes
в /etc/avahi/avahi-daemon.conf
; запустите и включите avahi-daemon.service
, если это уже не. [Unit]
Description=proxy arp routing service
Documentation=https://raspberrypi.stackexchange.com/q/88954/79866
[Service]
Type=forking
# Restart until wlan0 gained carrier
Restart=on-failure
RestartSec=5
TimeoutStartSec=30
ExecStartPre=/lib/systemd/systemd-networkd-wait-online --interface=wlan0 --timeout=6 --quiet
ExecStartPre=/usr/bin/echo 'systemd-networkd-wait-online: wlan0 is online'
# clone the dhcp-allocated IP to eth0 so dhcrelay will relay for the correct subnet
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip addr add $(/usr/bin/ip -4 -br addr show wlan0 | /usr/bin/grep -Po "\\d+\\.\\d+\\.\\d+\\.\\d+")/32 dev eth0'
ExecStartPre=/usr/bin/ip link set dev eth0 up
# v minus sign
ExecStart=-/usr/bin/parprouted eth0 wlan0
ExecStopPost=/usr/bin/ip link set dev eth0 down
ExecStopPost=/usr/bin/bash -c '/usr/bin/ip addr del $(/usr/bin/ip -4 -br addr show eth0 | /usr/bin/grep -Po "\\d+\\.\\d+\\.\\d+\\.\\d+")/32 dev eth0'
[Install]
WantedBy=wpa_supplicant@wlan0.service
[Unit]
Description=DHCRelay Service
After=network-online.target parprouted_bridge.service
Type=simple
[Service]
ExecStart=/usr/bin/bash -c '/usr/bin/dhcrelay -d -4 -iu wlan0 -id eth0 $(/usr/bin/journalctl -b -u systemd-networkd.service | /usr/bin/grep -Po "via\s+\K\\d+\\.\\d+\\.\\d+\\.\\d+")'
[Install]
WantedBy=multi-user.target
Этот подход работал на меня на Модели B Raspberry Pi + w/ArchLinuxArm, щеголяющий адаптером USB WiFi чипсетом RT5370. Поскольку Пи будет предоставлять WiFi принтеру только с Ethernet, я хотел бы, чтобы это было устойчиво к грубой обработке, таким образом, мой следующий шаг должен будет настроить SD-карта как только для чтения .
To bridge wifi interface you may use iw
tool to enable 4addr likewise:
# iw dev <wifiInterface> set 4addr on
ie:
# brctl addif <bridgename> <wifiInterface>
can't add <wifiInterface> to bridge <bridgename>: Operation not supported
# iw dev <wifiInterface> set 4addr on
# brctl addif <bridgename> <wifiInterface>
Now it should work. You can show bridges using:
# brctl show
Зависит от того, насколько важна для вас точка доступа:
1) Она может захотеть видеть только исходящие от вас пакеты с вашим известным адресом канального уровня (и, следовательно, не мостовые пакеты). 2) На самом деле он может быть даже умнее и знать, какой IP-адрес должен принадлежать какому адресу канального уровня (потому что он знает DHCP и проверяет его)
Если 1+2 верны, то вам действительно нужно что-то вроде IP NAT, DHCP, ...
Но если только 1), то это так, Вы можете подделать адрес линкового слоя и перевернуть его на правый в другом направлении, как описано здесь:
https://wiki.debian.org/BridgeNetworkConnections#Bridging_with_a_wireless_NIC
4addr, как описано в других ответах, безусловно, является лучшим способом, если поддерживается адаптером / драйвером, но не все из них. NAT может работать для некоторых вещей, но обеспечение надлежащей связи в обоих направлениях по локальной сети станет проблематичным (например, подключение принтера или доступ к другим устройствам IoT на другой стороне NAT). Все, что полагается на широковещательную / многоадресную рассылку (например, автоматическое обнаружение, bonjour), не пройдет через NAT.
Альтернативой является использование прокси-сервера ARP (с парпроутингом), как описано в https://wiki.debian.org/ BridgeNetworkConnectionsProxyArp . Я установил это на Raspberry Pi для принтера, и он работает как шарм (я добавил 10-секундный сон в командах post-up
, чтобы позволить ему сначала получить IP-адрес, это может связано с медлительностью моего старого RPi ...)
Мост wlan и 4addr:
Мост wlan0 - это боль. Обычно вы не можете добавить его к интерфейсу моста (brctl возвращает «Операция запрещена»), а использование «мостового» фильтра VirtualBox приводит к большому беспорядку конфликтов ARP и DHCP. Причина этого в том, что кадры 802.11 по умолчанию содержат только три адреса: MAC-адреса обоих беспроводных устройств (портативного компьютера и точки доступа) и конечного получателя (как в Ethernet). Всегда предполагается, что существует только один возможный отправитель.
802.11 может нести четвертый, MAC-адрес отправителя, и он используется в режиме WDS повторителями. Эту функцию также можно включить в Linux, используя iw, и включение этого режима позволит использовать wlan0 в интерфейсах моста, а также в мостовых сетях VirtualBox:
iw dev wlan0 set 4addr on
Однако, с включенным 4addr, вы, вероятно, полностью получите игнорируется AP: ассоциация успешна, но все фреймы данных исчезают в эфире. Это могло быть из соображений безопасности (потому что чертовски сложно подделать исходный MAC-адрес. Да.) В моем маршрутизаторе (работающем с OpenRG) необходимо включить режим "WDS" для интерфейса беспроводной точки доступа, добавить устройство WDS, ограниченное моим MAC-адрес ноутбука и добавьте его в мост LAN. Пакеты 4addr теперь работают.
Но есть еще одна проблема - маршрутизатор теперь отклоняет трехадресные пакеты от портативного компьютера, что может быть довольно неудобно (необходимость переключать 4addr каждый раз при изменении сети WLAN). Обходной путь - добавить на ноутбук второй беспроводной интерфейс, связанный с тем же устройством, но с другим MAC-адресом. Сначала отмените предыдущую конфигурацию:
iw dev wlan0 set 4addr off
Затем добавьте второй интерфейс - имя было выбрано произвольно - с другим MAC-адресом:
iw dev wlan0 interface add wds.wlan0 type managed 4addr on
ip link set dev wds.wlan0 addr <addr>
ip link set dev wds.wlan0 up
Здесь должен совпадать адрес устройства WDS, настроенный в маршрутизаторе; кроме этого, это может быть любой действующий MAC-адрес.Исходный MAC-адрес wlan0 остается для «нормального» использования.
Можно использовать и wlan0, и wds.wlan0 одновременно - хотя я только дважды тестировал подключение к одной и той же AP, а не к разным AP. Я предполагаю, что им нужно, по крайней мере, быть на одном канале.
Некоторые люди спрашивают, зачем использовать это, когда VirtualBox может соединять Wi-Fi «просто отлично». Ответ заключается в том, что VirtualBox не отправляет MAC-адреса виртуальных машин; скорее, он также выполняет NAT на уровне MAC. - 2014-08-22
Прямой мост wlan
При определенных обстоятельствах вы также можете использовать wlan_kabel. Он использует пакетные сокеты для прямого соединения устройств wlan * с устройствами Ethernet. Тем не менее, с помощью wlan_kabel за раз вы можете соединить только один MAC. У него нет недостатка в том, что он блокируется точками доступа, потому что используется только исходный MAC-адрес устройства wlan. В вашем случае это будет означать, что wlan0 может использоваться только одной виртуальной машиной и даже не хостом. Вы можете получить wlan_kabel здесь . Это похоже на решение macvlans .
Мост с ipvlan
IP Vlan не имеет ограничений моста, его можно использовать для моста в сети. Подробно о том, как его использовать можно найти здесь
Альтернатива Masquerade
Маршрутизация Linux может использоваться вместо этого с iptables-masquerade и ip_forward для создания моста, но, как уже упоминалось, для этого требуется включить ip_forward, и Linux будет действовать как маршрутизатор, это необходимо тщательно настроить потому что это может вызвать некоторые проблемы с безопасностью.
# bridge setup
brctl addbr br0
ifconfig br0 10.10.20.1/24 up
# enable ipv4 forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward
# netfilter cleanup
iptables --flush
iptables -t nat -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# netfilter network address translation
iptables -t nat -A POSTROUTING -o wlan0 -s 10.10.20.0/24 -j MASQUERADE
Интерфейс br0 затем будет иметь доступ к сети wlan0
Важное и связанное с ним
Кроме того, что очень важно, вы не должны использовать устаревшие, устаревшие команды, такие как ifconfig, brctl и т. Д. на. Набор iproute2 содержит команды для всего этого, включая настройку виртуальных интерфейсов (для чего нам когда-то приходилось использовать openvpn) и создание мостов. Если вы не знаете, как настроить мост с помощью ip, начнем
ip tuntap add tap0 mode tap user root
ip link set tap0 up
ip link add br0 type bridge
ip link set tap0 master br0
ip link set eth0 master br0
ip addr add 10.173.10.1/24 dev br0
ip link set br0 up
С помощью этого набора команд мы создаем виртуальный интерфейс с именем tap0, затем мост с именем br0, затем порабощаем eth0 и tap0 мостом, чтобы которому мы назначаем IP-адрес 10.173.10.1, а затем запускаем его. Требуются три отдельных экземпляра вызова интерфейсов (для tap0, eth0 и br0).
Уловка для выполнения этой работы заключается в использовании proxy.arp, который позволяет вашему компьютеру (а не вашей виртуальной машине / контейнеру / сети Linux namespace), чтобы отвечать на запросы ARP вместо них.
Другими словами, используя пересылку IPv4 между вашим аппаратным интерфейсом и виртуальным интерфейсом, вы думаете, что можете подключить свою виртуальную машину / LXC / NNS к своей локальной сети, как если бы это была физическая интерфейс, но это неправда: вы забываете об абсолютно фундаментальном трафике ARP, который действительно позволяет LAN работать. Итак, проблема в следующем: если я правильно перенаправляю трафик IPv4, как я могу также перенаправлять трафик ARP, чтобы моя виртуальная машина / LXC / NNS работала? Уловка состоит в том, чтобы использовать proxy-arp.
Полный ответ на этот вопрос находится в Блоге Бохди Дзадзена с разоблачительным заголовком: Беспроводные карты Bridge. Он использует устаревший пакет uml-utilities для создания виртуального интерфейса с помощью команды tunctl: это единственная команда, для которой он использует uml-утилиты, так что вы можете спокойно пренебречь загрузкой пакета и использовать команду I написал выше, чтобы создать интерфейс tap или tun, в зависимости от того, что вам нравится, просто измените команду соответствующим образом. затем создайте пару veth для вашего LXC, а теперь создайте мост между tap0 и veth0. Этот мост под названием br0 - это то, для чего вы должны использовать proxy-arp вместо простого интерфейса tap0, описанного Бохди Дзадзен.
Источники: askubuntu.com , nullroute.eu.org , firejail.wordpress.com , superuser.com