LINUX.ORG.RU
ФорумAdmin

Не получается загнать Wi-Fi интерфейс в бридж

 , ,


2

3
# ip link set wlp0s20f3 master br0
RTNETLINK answers: Operation not supported

Что интересно, с ethernet интерфейсом оно работает, как и должно, а с Wi-Fi не хочет.

Хочу сделать чтобы и хост, и виртуалки, которые запущены на хосте, сидели в одной сети, которая приходит из вне. Сеть, интернеты, DHCP получаю по Wi-Fi.

Как обычно для этого дела: создал бридж br0, tap0 интерфейсы для виртуалок, всё сюда засунул, думал точно так же загнать сюда wifi интерфейс и всё просто будет работать — бридж он же как простой свитч, с парой FORWARD правил.

Но нет.

Может есть альтернативные варианты? Важно, чтобы виртуалки были рядовыми участниками сети, без собственного NAT.

wlan0 — интерфейс с интернетами и IP адресом.

br0 — бридж

tap0 tap1 tap2 — виртуалки.

ip link add br0 type bridge
ip link set br0 up

ip link set tap0 master br0
ip link set tap0 up

iptables -t filter -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -i br0 -j ACCEPT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward

иии... в финальной стадии облом.

# ip link set wlp0s20f3 master br0
RTNETLINK answers: Operation not supported

ЧЯДНТ?

★★★★★

ip link set wlp0s20f3 down
ip link set wlp0s20f3 promisc on
ip link set wlp0s20f3 master br0
И шото такое було, в части не добавления в бридж именно wifi карточки, не могу вспомнить блин :(
PS Да и когда ругается логи посмотрите.

anc ★★★★★
()
Ответ на: комментарий от anc

та ладно, на эту тему ничего не гуглится, кроме того, что у других тоже не работают wifi в бридже.

обойдусь. там где надо — буду крутить виртуалки на нормальном железе, там где можно — обойдусь ssh-тоннелями, а в остальном пускай сидят в своём бридже за натом, раз уж не хотят.

спасибо.

Spoofing ★★★★★
() автор топика
Последнее исправление: Spoofing (всего исправлений: 1)

Сколько раз не пробовал, никогда не получалось добавить wifi интерфейс в мост. В итоге забил.

Aspid
()
Ответ на: комментарий от anc

железо LG Gram 17" — i7-1065G7, 40GB RAM, Samsung 512GB NVMe SSD, Wi-Fi AX1650i. подарили на день рождения на новой работе, хотя я тут без года неделю работаю. :))

ноутбук сильно мощный, а кроме вафли интерфейсов нету. думал гонять виртуалки нормально получится. с «прозрачным» получением адреса через wifi интерфейс, ну чтобы виртуалки выглядили как обычные хосты.

видимо не судьба. :) посадил виртуалки в бридж за нат, пускай сидят там.

Spoofing ★★★★★
() автор топика
Ответ на: комментарий от Aspid

Сколько раз не пробовал, никогда не получалось добавить wifi интерфейс в мост. В итоге забил.

Можно. Инфа 146%. В том числе у меня дома в начале 2к роутер (обычный ПК), он же поддиванный сервер, он же в роли wifi AP работал.

anc ★★★★★
()
Ответ на: комментарий от Aspid

ага, wifi в упор не хочет заходить в бридж и тут-же в интернетах пишут, с LXC-контейнерами похожая история, но судить не берусь, не пробовал.

Spoofing ★★★★★
() автор топика

ЧЯДНТ?

Погугли 4-адресный режим wifi. У точки доступа в настройках hostapd надо установить wds_sta=1, на клиенте включить 4-адресный режим - iw dev wlan0 set 4addr on

No
()
Ответ на: комментарий от Spoofing

1. Не оно?
https://www.intel.com/content/www/us/en/support/articles/000058909/wireless/i...

2. И ещё, а что про него точно говорит lspci ? Прямо до букавки в rev. Это я вспомнил случаи когда для адаптера приходиться ставить родные дрова от производителя ибо он почти такой же, но немного не такой и ванильные ядрючии дровишки не-робят/не-до-конца-робят с ним. Из того с чем сталкивался, таким брэнды грешат регулярно с различными контроллерами и как раз сетёвки. Сейчас не поленился посмотрел в одном проекте коллекцию по сетевкам, atheros, jmicron, rtl8111e, e1000, igb. Это всё не ванильные дрова которые пришлось накатывать отдельно, хотя такие же модули есть в ведре, но они немного более другие ;)

anc ★★★★★
()

hostapd и wpa_supplicant имеют параметры для загона в мост. Я правда загонял только AP интерфейсы, но проблем никогда не было.

sergej ★★★★★
()

Было такое, при использовании hostapd бридж указывается в конфиге hostapd. У меня работало несколько лет.

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

Не все Wi-Fi драйвера поддерживают такое. Некоторые Wi-Fi карточки на Atheros еще в лохматом 2010 у меня так работали, а вот попадавшиеся мне в руки Intel-ы да Realtek-и - уже нет.

Если нужно гарантированно рабочее решение «как мост, но не мост», то выхода два - или шаманить с hostapd(ЕМНИП не сработает если требуется чтобы Wi-Fi работал в режиме клиента, а не точки доступа, но я последний раз hostapd давно щупал, возможно и так он тоже теперь умеет), или делать proxy arp.

В случае с proxy arp надо настраивать отдельно для IPv4 и его аналог отдельно для IPv6(там он называется NDP proxy). Если IPv6 не нужен - то в принципе пофиг. Ну и да, могут быть проблемы с мультикастом, которые тоже можно обойти(поплясав с IGMP), просто это дополнительный геморрой.

P.S. В OpenWRT подобный функционал, кстати, тоже присутствует, его там обозвали вполне логично - pseudobridge

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

в режиме клиента вы не загоните wifi в мост, только в режиме AP. Но при желании можно заколхозить: proxy-arp

Bloody ★★
()
Ответ на: комментарий от No

Дошли руки проверить, маршрутизатор tl-wr1043nd v2 с OpenWrt 19.07.7, беспроводной модуль в режиме «Access Point (WDS)», клиент debian 11, wifi адаптер на mt7612u:

/etc/network/interfaces

auto lo
iface lo inet loopback

allow-hotplug enp0s3

allow-hotplug wlx0013ef4755d4
iface wlx0013ef4755d4 inet manual
    pre-up iw dev wlx0013ef4755d4 set 4addr on
    wpa-ssid mylan
    wpa-psk 01234567

iface br-wl inet dhcp
    bridge_ports enp0s3 wlx0013ef4755d4

после ifup wlx0013ef4755d4 и ifup br-wl команда brctl show выводит

bridge name     bridge id               STP enabled     interfaces
br-wl           8000.1efb2cda535a       no              enp0s3
                                                        wlx0013ef4755d4
No
()

Большинство вифи адаптеров не умеют клиентом в бридж. Как-то можно через wds это сделать. Но это еще точку доступа надо настроить в этом режиме.

voltmod ★★
()
Последнее исправление: voltmod (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.