Как настроить мост сетевого интерфейса от WiFi до Ethernet с Debian?

11

Я использую Raspberry Pi с использованием Raspbian, который является просто Debian.

Я хотел бы подключиться от основного маршрутизатора сети Wi-Fi, который подключается к кабелю Cox, к маршрутизатору с кабелем, чтобы моя подсеть имела надежный доступ в Интернет.

Это должен быть мост WiFi-Ethernet.

Я установил / etc / networks для статического адреса для USB wlan1 с внешним адаптером и антенной с высоким коэффициентом усиления. wpa_supplicant настроен для правильной регистрации на главном маршрутизаторе.

Так что сейчас он настроен так, что я могу войти в соответствующую сеть с паролем на внешнем wlan1. Статический адрес задается в / etc / networks. Шлюз и сервер имен в порядке. Я могу просматривать веб-страницы и т. Д.

Недостающее звено состоит в том, чтобы соединить это с портом eth0, чтобы мой маршрутизатор также мог подключиться, чтобы обеспечить обслуживание моей подсети.

Нет необходимости в каких-либо дополнительных сетевых сервисах, таких как маршрутизация или nat или dhcp и т. Д. Просто простой мост.

Кто-нибудь может указать мне правильное направление, чтобы это произошло?

SDsolar
источник
Вы пробовали очень простой мост, не устанавливая IP на вашем Ethernet-устройстве, создавая мост с brctl addbr br0, добавляя оба устройства к мосту с brctl addif br0 device, а затем устанавливая свой первоначальный Ethernet-адрес и маршрут br0?
Джули Пеллетье
Вы не задокументировали, как настроен ваш wlan0 atm.
Руи Ф. Рибейро
Хорошая точка зрения. Я добавил некоторые правки, чтобы уточнить. Мне нравится ваш ответ ниже. Это прямо противоположно тому, что я пытаюсь сделать, но это нормально, потому что я думаю, что этой информации достаточно, чтобы заставить меня двигаться. Спасибо за публикацию.
SDsolar
Нашел этот и первый ответ смешной. «слишком широко правильный» - так что этот соединительный материал, очевидно, также требует магии. unix.stackexchange.com/questions/272146/…
SDsolar
Обновление от будущего (конец 2018): Начиная с 2.6.33, вы не можете соединить wlan с eth. Вы можете соединить wlan с eth, только если вы переключили wlan0 в режим 4addr. Не все драйверы поддерживают это. Вы можете прочитать больше об этом здесь .
Петер - Восстановить Монику

Ответы:

8

Для настройки моста от Ethernet до Wi-Fi это так же просто, как сделать в вашем /etc/network/interfaces:

auto eth0
allow-hotplug eth0
iface eth0 inet manual

auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual

auto br0
iface br0 inet static
bridge_ports eth0 wlan0
    address 192.168.1.100
    netmask 255.255.255.0

Замените IP-адрес более подходящим для вашей сети.

Если вы предпочитаете присвоение IP-адреса через DHCP, измените его на:

auto br0
iface br0 inet dhcp
bridge_ports eth0 wlan0

После изменения /etc/network/interfacesлибо перезапустите Debian, либо выполните

service networking restart

Активирует эту конфигурацию.

Вы должны убедиться, что эта конфигурация bridge-utilsустановлена. Вы можете установить его с помощью:

sudo apt install bridge-utils

Для получения дополнительной информации см .:

BRIDGE-Utils-ИНТЕРФЕЙС

Интерфейс wlan0 также должен быть настроен для подключения к удаленной точке доступа, чтобы эта конфигурация не использовалась дословно.

Дополнительное примечание: объединение eth0 и wlan0 вместе означает, с точки зрения бедного непрофессионала, что br0 будет представлять собой единый логический интерфейс, объединяющий интерфейсы, которые составляют часть моста. Обычно такая конфигурация выполняется, когда оба расширяются или принадлежат одной и той же сети.

Руи Ф Рибейро
источник
На самом деле это не наоборот; если вы хотите, чтобы клиенты wifi подключались к raspberry, вам потребуется hostapd поверх этой конфигурации; У меня действительно есть openwrt, который был настроен здесь, чтобы делать то, что вы просите
Руи Ф. Рибейро
Это проще, чем вопрос настройки wpa_supplicant
Руи Ф. Рибейро
ОК. Прямо сейчас он настроен так, что я могу войти в соответствующую сеть с паролем на внешнем wlan1. Статический адрес задается в / etc / networks. Шлюз и сервер имен в порядке. Он входит в роутер отлично. Я могу просматривать веб-страницы и т. Д. Отсутствует ссылка, чтобы соединить это с портом eth0, чтобы мой маршрутизатор также мог подключиться.
SDsolar
2
Я немного смущен. Если я попробую ваши настройки и sudo ifup -aполучу ли я сообщение об ошибке can't add wlan0 to bridge br0: Operation not supported. Это широко обсуждалось с Bridging wlan0 к eth0 . Чего мне не хватает в вашей настройке?
Инго
2
Нет проблем, чтобы открыть новый вопрос, но я не уверен, имеет ли это смысл. Я думаю, что ваш ответ устарел и должен быть исправлен. Так как kernel> = 2.6.33, вы не можете добавить wifi к мосту (кроме случаев, когда используется WDS). Это то, что обсуждается в Bridging wlan0 к eth0 .
Инго