Как соединить беспроводной интерфейс с другим беспроводным интерфейсом (оба на одном компьютере)?

Как соединить беспроводной интерфейс с другим беспроводным интерфейсом (оба на одном компьютере)?

Убунту 14.04

По сути, я пытаюсь реализовать следующую настройку:

беспроводной интернет ---> wlan0компьютера Ubuntu, подключенного «мостом» wlan1к тому же компьютеру Ubuntu ---> устройству с Wi-Fi

Причина такой настройки в том, что беспроводной интернет — это сеть WPA2 Enterprise, к которой мое устройство с Wi-Fi не может подключиться. (Устройство с Wi-Fi также не может подключаться к одноранговым сетям или сетям ad-hoc.) Кроме того, источник беспроводного интернета не имеет белого/черного списка, и поэтому нет проблем с тем, чтобы он видел MAC-адрес устройства (при необходимости), и нет проблем с назначением ему IP-адреса (при необходимости). Это устройство имеет проблему с аутентификацией WPA2 Enterprise.

[РЕДАКТИРОВАТЬ- Поскольку устройство не может успешно пройти аутентификацию, беспроводной источник интернета, скорее всего, НЕ назначит устройству IP-адрес, а также, скорее всего, у него возникнут проблемы с отображением MAC-адреса устройства.]

wlan0— это беспроводной чипсет/интерфейс Intel, который нельзя перевести ни в режим точки доступа, ни в режим главного устройства, поэтому он используется для подключения к интернет-источнику WPA2 Enterprise.

wlan1необходимо установить в режим точки доступа.

Очевидно, что «мост» между wlan0и wlan1не должен быть беспроводным, поскольку оба устройства находятся на одном компьютере.

(1) Я считаю, что brctlневозможно соединить беспроводной интерфейс ( wlan0) с другим беспроводным интерфейсом ( wlan1). Это правильно?

(2) Если brctlего нельзя использовать, могу ли я его использовать hostapd?

(3) Если brctlневозможно использовать, на что следует обратить внимание, чтобы выполнить описанную выше настройку?

(4) Будет ли что-либо из следующего частью решения моей проблемы - (a) dnsmasqобслуживание DHCP (b) hostapd (c) статический IP-адрес (для wlan1???) (для устройства, подключенного к wlan1??) (d) NAT (трансляция сетевых адресов) (e) iptables (f) IP-маскарад (g) sudo iw set dev wlan0 4addr on (h) WDS (беспроводная система распределения) (i) IP-пересылка?

Спасибо.

решение1

(1) Я считаю, что brctl не может соединить беспроводной интерфейс (wlan0) с другим беспроводным интерфейсом (wlan1). Это правильно?

Требование здесь заключается в том, что все интерфейсы должны иметь возможность отправлять пакеты с любым исходным MAC-адресом и получать пакеты с любым MAC-адресом назначения (а не только с собственным MAC-адресом устройства).

Интерфейсы точек доступа Wi-Fi можно легко объединить в мост (большинство «беспроводных маршрутизаторов» на самом деле имеют простой мост Linux между точкой доступа и Ethernet). Интерфейсы режима станции, однако, не могут. Поэтому вы можете объединить в мост wlan1, но не wlan0.

Есть способ обойти это – режим "4addr", он же режим "WDS", который добавляет дополнительное поле MAC-адреса к кадрам Wi-Fi. Вы можете включить его через iw, если ваш драйвер Wi-Fi его поддерживает. После включения вы также сможете создать мост wlan0.

Однако из соображений безопасности многие точки доступа не допускают режим 4addr по умолчанию. (У некоторых есть общий переключатель, у некоторых — белый список на основе MAC-адресов.) Будет ли это работать с вашей университетской точкой доступа? Попробуйте и посмотрите.

(Другой способ обхода проблемы — «arpnat» — похоже на NAT, но применяется к MAC-адресам, но он может сбивать с толку DHCP-серверы и в любом случае не поддерживается обычным Linux. Некоторые точки доступа, например PicoStation, поддерживают его в режиме станции.)

(2) Если brctl использовать невозможно, могу ли я использовать hostapd?

Зависит от вашего драйвера Wi-Fi. Большинство из них должны поддерживать режим AP в настоящее время, но не все. Используйте iw phy0 info, iw phy1 infoчтобы узнать.

(3) Если brctl использовать невозможно, что мне следует искать для выполнения описанной выше настройки?

Наиболее распространенным альтернативным подходом является IP NAT (маскарадинг) с использованием iptables.

В некоторых случаях подойдет и обычная маршрутизация (без NAT).

(4) Будет ли что-либо из нижеперечисленного частью решения моей проблемы?

(a) dnsmasq для обслуживания DHCP (b) hostapd (c) статический IP-адрес (для wlan1 ???) (для устройства, подключенного к wlan1 ??) (d) NAT (трансляция сетевых адресов) (e) iptables (f) IP-маскарад (g) sudo iw set dev wlan0 4addr on (h) WDS (беспроводная система распределения) (i) IP-пересылка ?

да, нет, нет, да, может быть, может быть, что, э-э, вы просто бросаетесь здесь разными терминами?

решение2

Вы можете brctlбез проблем объединить беспроводные интерфейсы, используя:

brctl addbr br_name
brctl addif br_name wlan0
brctl addif br_name wlan1 

Но вам нужно будет ссылаться на сам мост br_name, а не на отдельные интерфейсы в вашей сетевой конфигурации.

Связанный контент