Ubuntu wifi to wifi bridge

How to configure bridge network through WiFi with 18.04 host with netplan in order for bridge adapter to work with VirtualBox?

I’m trying to connect the Ubuntu 18.04 guest machine to the network on my Kubuntu 18.04 host laptop via bridge adapter. The Ubuntu guest won’t recognize it, however. I read about how I should be modifying netplan .yaml file, but I’m not exactly sure how to set up bridge network with it. This is what the yaml file looks like so far:

# Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager # Added everything from here myself ethernets: enp1s0: dhcp4: true dhcp6: true wifis: wlp2s0: dhcp4: true dhcp6: true bridges: br0: interfaces: [enp1s0, wlp2s0] dhcp4: true dhcp6: true br1: interfaces: [enp1s0] dhcp4: true dhcp6: true 

Does wlp2s0 exist on your system in an active state? And where is the netplan YAML you’re editing, on the guest or on the host?

Yes. That’s the only WiFi interface on my laptop. I updated the post because I pasted the wrong error.

3 Answers 3

I am not familiar with netplan, but presumably this creates connection profiles for NetworkManager.

A WiFi connection profile in NetworkManager must always specify an SSID. That means, you cannot create a WiFi profiles that isn’t tied to a particular network. That makes sense (??), because the profile essentially contains the parameters necessary to connect to the WiFi network. As these parameters commonly differ between networks (except for open networks), you need a profile per network.

In NetworkManager, the properties to enslave the device to a bridge ( connextion.slave-type and connection.master ) are also part of the connection profile.

In netplan, if you specify a WiFi network, this could only map to the entity which NetworkManager understands: the profile. Since you specify no SSIDs, it cannot create any profiles and fails.

It’s unclear what netplan or NetworkManager could do better here.

A more helpful suggestion might be: configure the wifi profiles in NetworkManager directly. Make sure that for every profile you create, to set Slave-Type and master

As per one of the links you posted (https://netplan.io/examples#connecting-to-a-wpa-personal-wireless-network), you have to define the SSID and password for the networks you access via WiFi; see this snippet:

 network: version: 2 renderer: networkd wifis: wlp2s0b1: dhcp4: no dhcp6: no addresses: [192.168.0.21/24] gateway4: 192.168.0.1 nameservers: addresses: [192.168.0.1, 8.8.8.8] access-points: "network_ssid_name": password: "**********" 

The relevant part is the «access-points» block. If your SSID is «MyNet» and your password «S3cr3tPwd!»:

 access-points: "MyNet": password: "S3cr3tPwd!" 

Might I suggest KVM over Virtualbox. The advantages are numerous. I have a Netplan bridged VLAN for my virtual machines. Here is my YAML:

network: version: 2 renderer: networkd ethernets: enp65s0f0: dhcp4: false dhcp6: false enp65s0f1: dhcp4: false dhcp6: false enp5s0: dhcp4: true dhcp6: true enp0s31f6: dhcp4: false dhcp6: false bonds: bond-lan: dhcp4: true dhcp6: true interfaces: - enp65s0f0 - enp65s0f1 parameters: mode: 802.3ad bridges: br0: addresses: [ 10.0.1.1/24 ] nameservers: search: [local] addresses: [10.0.0.3] interfaces: [ enp5s0 ] vlans: vlan15: accept-ra: no id: 15 link: enp5s0 

This has 4 nics, two bonded together, and a bridged vlan on one for my virtual machines. Be careful with you YAML files, they are very sensitive to formatting. I am pretty sure there is also a firewall option in your kernel parameters that needs to be set in order to not check bridged traffic. You can also put in the appropriate rules. If you go the KVM was, install Virt-Manager and in the VM’s prefs, set the interface to br0 (at least in my config).

Читайте также:  Direct wifi android phones

Источник

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

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

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

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

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

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

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 Да и когда ругается логи посмотрите.

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

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

Spoofing ★★★★★ ( 31.05.21 20:05:24 MSK )
Последнее исправление: Spoofing 31.05.21 20:08:00 MSK (всего исправлений: 1)

Так вы интерфейс опускали? Первая команда в моем сообщении
ip link set wlp0s20f3 down

anc ★★★★★ ( 31.05.21 20:08:08 MSK )
Последнее исправление: anc 31.05.21 20:09:30 MSK (всего исправлений: 1)

Кстати а что за карточка? Уже просто интересно стало 🙂

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

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

Читайте также:  При включении компьютера пропадает вай фай

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

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

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

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

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

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

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

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

WiFi and Ethernet cannot be directly bridged via the Debian bridge-utils package containing brctl because the level 3 package protocols are different.

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

targitaj ★★★★★ ( 01.06.21 00:04:08 MSK )
Последнее исправление: targitaj 01.06.21 00:05:03 MSK (всего исправлений: 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 ★★★★★ ( 01.06.21 21:20:11 MSK )
Последнее исправление: Pinkbyte 01.06.21 21:21:58 MSK (всего исправлений: 1)

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

Читайте также:  Беспроводные наушники вай фай накладные

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

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 

Источник

Настройка сети в Linux с помощью netplan

Обновлено

Обновлено: 16.02.2023 Опубликовано: 31.10.2019

Начиная с Ubuntu 18.04 конфигурирование сети выполняется с помощью утилиты netplan. В других системах на базе deb, например, Debian, она может быть установлена командой:

Конфигурационный файл

Файл для настройки сети находится в каталоге /etc/netplan/. Имя файла может быть любым, на конце должно быть расширение yaml, например:

* чаще всего, это файл 50-cloud-init.yaml или 01-netcfg.yaml. YAML представляет из себя текстовый формат файла. Вложенные параметры должны иметь отступы табуляциями или пробелами, количество которых имеет важное значение (если поставить лишний пробел у одного из нескольких параметров, мы получим сообщение об ошибке «expected mapping»).

Простая настройка сети

Разберем пример настройки 3-х сетевых интерфейсов. Два из них будут с IP-адресами назначенными вручную (static IP), один — по DHCP. Приводим файл к следующему виду:

network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: true
ens7:
dhcp4: no
addresses: [192.168.122.195/24]
routes:
#- to: 0.0.0.0/0
— to: default
via: 192.168.122.1
mtu: 1500
nameservers:
addresses: [8.8.8.8, 77.88.8.8]
search: [ dmosk.local ]
ens9:
dhcp4: no
addresses: [192.168.1.10/24, 192.168.1.20/24]
nameservers:
addresses:
— 8.8.8.8
— 77.88.8.8
search: [ dmosk.local, dmosk.ru ]

  • version — версия YAML. На момент обновления статьи, была 2.
  • renderer — менеджер сети (networkd или NetworkManager).
  • ethernets — настройка сетевых адаптеров ethernet.
  • ens3, ens7, ens9 — настройки для соответствующих сетевых адаптеров. В данном примере мы настраиваем 3 сетевых адаптера.
  • dhcp4 — будет ли получать сетевой адаптер IP-адрес автоматически. Возможны варианты yes/true — получать адрес автоматически; no/false — адрес должен быть назначен вручную.
  • addresses — задает IP-адреса через запятую.
  • routes — настройка маршрутов. Для шлюза по умолчанию используем опцию и значение to: default. Ранее использовалась директива gateway4, но теперь она считается устаревшей (при применении настройки с ней система вернет предупреждение gateway4 has been deprecated, use default routes instead). Также обратите внимание на вариант с 0.0.0.0 — в более ранних версиях системы вариат с default выдаст ошибку, и нужно использовать конфигурацию с четыремя нулями.
  • mtu — при желании, можно задать значение MTU.
  • nameservers — настройка серверов имен (DNS).
  • nameservers addresses — указываем серверы DNS. Обратите внимание на разный формат записи для ens7 и ens9. Приемлемы оба варианта.
  • nameservers search — дописывает окончание домена, если мы обращаемся к узлу сети только по его имени. Стоит обратить внимание, что мы можем указать несколько доменов через запятую.

Применение настроек

Для применения настроек необходимо запустить команду netplan. Ее синтаксис:

Для проверки нашего конфигурационного файла вводим:

Источник

Оцените статью
Adblock
detector