Buildroot Zero-W wireless

Вам понадобятся оба набора правил в iptables . Два набора правил гарантируют, что трафик, уходящий указанными интерфейсами, соответствующим образом замаскирован. Вот мое предложение, которое немного проще вашего:

# Masquerade outgoing traffic
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

# Allow return traffic
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT

# Forward everything
iptables -A FORWARD -j ACCEPT

Часть головоломки, которой не хватает, - это маршрутизация. Если туннель активен, вы хотите, чтобы его использовал "весь" исходящий трафик. В противном случае используйте обычный маршрут.

Это обрабатывается в OpenVPN с помощью параметра redirect-gateway def1 в конфигурации вашего клиента.

3
04.10.2017, 22:52
1 ответ

Я также пытался найти «минимальную беспроводную связь» для RPi Zero W с помощью buildroot, поэтому этот вопрос и ответ занял довольно высокое место в результатах поиска. Несмотря на то, что первоначальный ответ был несколько полезным, он определенно не самый лучший, поэтому я подумал, что стоит поделиться своими собственными выводами:

Использование buildroot 2018.02.2

make raspberrypi0_defconfig

для очистки вашей конфигурации. Затем(make menuconfig и )выберите следующие из Целевые пакеты:

Hardware Handling -> Firmware -> rpi-wifi-firmware
Networking applications -> wpa_supplicant
Networking applications -> wpa_supplicant - Enable 80211 support

Все остальное, что необходимо, должно быть предварительно -выбрано.

Затем в /etc/network/interfaces

auto wlan0
iface wlan0 inet dhcp
  pre-up wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B
  post-down killall -q wpa_supplicant

и в /etc/wpa _supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1

network={
   ssid="My WLAN"
   psk="my_wlan_password"
}

и теперь нам все еще не хватает секретного ингредиента :драйвер Wi-Fi должен быть загружен до запуска сценариев инициализации сети -. Вы можетевключить поддержку WCHAR(в Toolchain -меню ), чтобы иметь eudev как /dev management(в конфигурации системы -меню ), которое будет автоматически обрабатывать загрузку драйвера. На самом деле я рекомендую это, если вы собираетесь подключать устройства UBS к вашему RPi....

...но если нет, отредактируйте /etc/inittab и modprobe brcmfmac непосредственно перед запуском rc-скриптов:

...
# Load Wifi driver
::sysinit:/sbin/modprobe brcmfmac 

# now run any rc scripts
::sysinit:/etc/init.d/rcS
...

Вот именно.

10
27.01.2020, 21:11

Теги

Похожие вопросы