- Выбор комплектующих
- Запуск сетевых интерфейсов
- Установка точки доступа 802.11ac (5 ГГц)
- Настройка виртуального SSID с помощью hostapd
Последние десять лет я покупал дешёвое сетевое оборудование и ставил на него DD-WRT, чтобы вернуть «функции» ценой более $500, удалённые из ядра Linux, на котором основаны стоковые прошивки.
Несмотря на нестабильные сборки, неисправленные ошибки и споры, DD-WRT всё равно предпочтительнее стоковых прошивок. Но сейчас достойные комплектующие дешевле, чем когда-либо, а DIY-сообщество поголовно перешло на Linux (я смотрю на вас, м-р Raspberry), так почему бы не собрать собственный беспроводной маршрутизатор раз и навсегда?
Выбор комплектующих
Первым делом нужно определиться с платформой: x86 или ARM? Не буду подробно обсуждать ключевые различия, но вкратце: у первой лучше производительность, а вторая дешевле и энергоэффективнее. Платы Raspberry Pi (и аналоги) чрезвычайно дёшевы и, вероятно, мощнее большинства беспроводных коммерческих маршрутизаторов, но платформы x86 широко распространены и имеют преимущество за счёт стандартизированных форм-факторов и портов расширения.
Конечно, самая важная деталь — это чипсет. Сегодня стандартами де-факто являются 802.11n (2,4 ГГц) и 802.11ac (5 ГГц), но подобрать драйверы под Linux — та ещё задачка, тем более с поддержкой режима AP (точка доступа). Короче, если не хотите проблем, то выбирайте чипсеты Atheros. Драйверы ath9k и ath10k хорошо поддерживаются, вы легко найдёте их с интерфейсами USB и/или mini-PCIe.
Хотя бы один контроллер сетевого интерфейса (NIC) — необходимый минимум, а RAM и накопитель выбирайте на свой вкус.
Список материалов
Принеся в жертву цену и энергопотребление, я выбрал x86-платформу ради модульной, относительно мощной конфигурации, доступной для апгрейда.
Если вам не нужен ARM, то и вентилятор не обязателен.
- Gigabyte GA-J1900N-D3V (J1900 четырёхъядерный 2 ГГц Celeron, два NIC)
- Airetos AEX-QCA9880-NX (двухдиапазонный 802.11ac, MIMO)
- 4 ГБ RAM (DDR3-LP, 1333 МГц, 1,35 В)
- Удлинитель mPCIe
- Корпус MX500 mini-ITX
- Три двухдиапазонных антенны 6dBi RP-SMA + кабель RP-SMA
- PicoPSU-90
- Запасной HDD 2.5”
Корпус просторный, с двумя подготовленными отверстиями для штепсельной вилки AC/DC. Установка материнской платы, RAM и Pico-PSU прошла гладко:
Железячное порно
Самым сложным оказалась установка mini-PCIe WiFi, потому что плата поддерживает только карты половинного размера: здесь на помощь пришёл удлинитель mPCIe. Я взял кабель FFC на 20 см (входит в комплект) для подключения обеих сторон адаптера и закрепил mini-PCIe на шасси с помощью двустороннего скотча.
Расширитель mini-PCIe
К счастью, корпус поставляется с тремя предварительно вырезанными отверстиями для антенн. Вот окончательный результат:
Программное обеспечение
Понятно, что ставим Linux. В зависимости от оборудования, это может быть оптимизированный дистрибутив вроде Raspbian (для Raspberry Pi) или любой другой дистрибутив Linux, который вам нравится. Поскольку я много лет использую Ubuntu, то выбрал Ubuntu Server 18.04 LTS, с которым мне привычнее работать и которому обеспечена долгосрочная поддержки.
В дальнейшем статья предполагает, что вы используете дистрибутив на базе Debian.
Если установка прошла нормально и вы зашли в консоль, определим имена интерфейсов:
$ ip -br a | awk '{print $1}'
lo
enp1s0
enp2s0
wlp5s0
На материнской плате два встроенных NIC: это
enp1s0
и enp2s0
. Беспроводная карта отображается как wlp5s0
и поддерживает режим AP, как и предполагалось:$ iw list
...
Supported interface modes:
* managed
* AP
* AP/VLAN
* monitor
* mesh point
Теперь можем обрисовать, что нам нужно: первый NIC поставим как WAN-порт, а второй соединим с беспроводным интерфейсом:
Сеть
Если у вас Ubuntu 18.04, то немедленно избавимся от
netplan
, чтобы вернуться к поддержке /etc/network/interfaces:$ sudo apt-get install ifupdown bridge-utils
$ sudo systemctl stop networkd-dispatcher
$ sudo systemctl disable networkd-dispatcher
$ sudo systemctl mask networkd-dispatcher
$ sudo apt-get purge nplan netplan.io
В качестве DHCP/DNS-сервера выберем dnsmasq:
$ sudo apt-get install dnsmasq
Так как мы будем запускать и настраивать процесс
dnsmasq
через хук post-up
, не забудьте отключить демон при загрузке:$ sudo sed -i "s/^ENABLED=1$/ENABLED=0/g" /etc/default/dnsmasq
Напишем предварительную конфигурацию сетевых интерфейсов в соответствии с диаграммой, включая минимальную настройку
dnsmasq
:$ cat /etc/network/interfaces
# Loopback
auto lo
iface lo inet loopback
# WAN interface
auto enp1s0
iface enp1s0 inet dhcp
# Bridge (LAN)
auto br0
iface br0 inet static
address 192.168.1.1
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
bridge_ports enp2s0
post-up /usr/sbin/dnsmasq --pid-file=/var/run/dnsmasq.$IFACE.pid --dhcp-leasefile=/var/lib/misc/dnsmasq.$IFACE.leases --conf-file=/dev/null --interface=$IFACE --except-interface=lo \
--bind-interfaces --dhcp-range=192.168.1.10,192.168.1.150,24h
pre-down cat /var/run/dnsmasq.$IFACE.pid | xargs kill
Документация
/etc/network/interfaces
здесьКак вы могли заметить по секции
post-up
, dnsmasq стартует, как только поднимается мост. Его настройка выполняется только аргументами командной строки (--conf-file=/dev/null
), и процесс остановится при отключении интерфейса.В поле
bridge_ports
специально не указан интерфейс wlp5s0
, потому что hostapd
добавит его к мосту автоматически (brctl может отказаться делать это, прежде чем запущен hostapd для изменения режима интерфейса).См. документацию по
dnsmasq
. Теперь можно перезапустить сеть (
sudo service networking restart
) или просто перезагрузиться, чтобы проверить правильность настройки конфигурации сети.Обратите внимание: хотя мы в данный момент можем получить DHCP от
enp2s0
, но у нас не будет ни беспроводной связи (позже подробнее об этом), ни доступа в интернет (см. ниже).Маршрутизация
На этом этапе нужно маршрутизировать пакеты между интерфейсами LAN (
enp2s0
) и WAN (enp1s0
) и включить трансляцию сетевых адресов.Включить переадресацию пакетов легко:
$ sudo sysctl -w net.ipv4.ip_forward=1
$ echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
Последняя команда гарантирует, что конфигурация сохранится до следующей перезагрузки.
Трансляция сетевых адресов — другое дело, обычно придётся разбираться (или, скорее, бороться) с
iptables
. К счастью, каменный век давно закончился, и ребята из FireHol приложили немало усилий, добавив необходимый уровень абстракции:$ sudo apt-get install firehol
FireHOL — это язык для защищённого файрвола с сохранением состояния, его конфигурация легко понятна и доступна. Больше не надо писать операторы
iptables
: конфигурационный файл сам транслируется в операторы iptables
и применяется как надо. Никакого демона в фоновом режиме.Включение трансляции сетевых адресов для интерфейсов локальной сети с добавлением минимальных правил файрвола делается элементарно:
$ cat /etc/firehol/firehol.conf
version 6
# Accept all client traffic on WAN
interface enp1s0 wan
client all accept
# Accept all traffic on LAN
interface br0 lan
server all accept
client all accept
# Route packets between LAN and WAN
router lan2wan inface br0 outface enp1s0
masquerade
route all accept
FireHOL написан людьми для людей, документация здесь.
Можете проверить настройки, вручную запустив
firehol
(sudo firehol start
) и подключив ноутбук к порту LAN: теперь вы сможете выйти интернет, если подключен порт WAN.Перед перезагрузкой не забудьте отредактировать
/etc/default/firehol
, чтобы разрешить запуск FireHol при загрузке:$ sudo sed -i -E "s/^START_FIREHOL=.+$/START_FIREHOL=YES/g" /etc/default/firehol
Не буду вдаваться в детали всего синтаксиса
firehol
, конфигурационный файл сам себя объясняет, рекомендую обратиться к документации в случае более сложной настройки. Если вам действительно интересно, что firehol
сотворил с iptables
, просто введите sudo firehol status
в командной строке. Беспроводная точка доступа
Очевидно, управлять точкой доступа будем с помощью hostapd:
$ sudo apt-get install hostapd
Ниже вы найдёте минимальный и почти не требующий пояснений файл конфигурации 802.11 n/2.4 Ghz/WPA2-AES:
$ cat /etc/hostapd/hostapd-simple.conf
#### Interface configuration ####
interface=wlp5s0
bridge=br0
driver=nl80211
##### IEEE 802.11 related configuration #####
ssid=iCanHearYouHavingSex
hw_mode=g
channel=1
auth_algs=1
wmm_enabled=1
##### IEEE 802.11n related configuration #####
ieee80211n=1
##### WPA/IEEE 802.11i configuration #####
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=YouCantGuess
Документацию
hostpad.conf
см. в /usr/share/doc/hostapd/examples/hostapd.conf
.Описанную конфигурацию можно протестировать вручную:
$ sudo hostapd /etc/hostapd/hostapd-simple.conf
Если всё идёт хорошо, появится беспроводное подключение. Если вы удовлетворены результатом, не забудьте изменить конфигурацию, чтобы запустить
hostapd
сразу как поднимется интерфейс (как показано ниже).Вот ваш окончательный
/etc/network/interfaces:
$ cat /etc/network/interfaces
# Loopback
auto lo
iface lo inet loopback
# WAN interface
auto enp1s0
iface enp1s0 inet dhcp
# Bridge (LAN)
auto br0
iface br0 inet static
address 192.168.1.1
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
bridge_ports enp2s0
post-up /usr/sbin/hostapd -P /var/run/hostapd.$IFACE.pid -B /etc/hostapd/hostapd-simple.conf
post-up /usr/sbin/dnsmasq --pid-file=/var/run/dnsmasq.$IFACE.pid --dhcp-leasefile=/var/lib/misc/dnsmasq.$IFACE.leases --conf-file=/dev/null --interface=$IFACE --except-interface=lo \
--bind-interfaces --dhcp-range=192.168.1.10,192.168.1.150,24h
pre-down cat /var/run/dnsmasq.$IFACE.pid | xargs kill
pre-down cat /var/run/hostapd.$IFACE.pid | xargs kill
Установка точки доступа 802.11ac (5 ГГц)
Пассивное сканирование
Согласно документации Airetos AEX-QCA9880-NX, чипсет поддерживает 802.11ac, так что мы можем уйти из переполненных каналов 2,4 ГГц в райские 5 ГГц.
Посмотрим, какие частоты поддерживаются:
$ iw list
...
Frequencies:
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
* 2467 MHz [12] (disabled)
* 2472 MHz [13] (disabled)
* 2484 MHz [14] (disabled)
...
Frequencies:
* 5180 MHz [36] (17.0 dBm) (no IR)
* 5200 MHz [40] (17.0 dBm) (no IR)
* 5220 MHz [44] (17.0 dBm) (no IR)
* 5240 MHz [48] (17.0 dBm) (no IR)
* 5260 MHz [52] (23.0 dBm) (no IR, radar detection)
* 5280 MHz [56] (23.0 dBm) (no IR, radar detection)
* 5300 MHz [60] (23.0 dBm) (no IR, radar detection)
* 5320 MHz [64] (23.0 dBm) (no IR, radar detection)
* 5500 MHz [100] (23.0 dBm) (no IR, radar detection)
* 5520 MHz [104] (23.0 dBm) (no IR, radar detection)
* 5540 MHz [108] (23.0 dBm) (no IR, radar detection)
* 5560 MHz [112] (23.0 dBm) (no IR, radar detection)
* 5580 MHz [116] (23.0 dBm) (no IR, radar detection)
* 5600 MHz [120] (23.0 dBm) (no IR, radar detection)
* 5620 MHz [124] (23.0 dBm) (no IR, radar detection)
* 5640 MHz [128] (23.0 dBm) (no IR, radar detection)
* 5660 MHz [132] (23.0 dBm) (no IR, radar detection)
* 5680 MHz [136] (23.0 dBm) (no IR, radar detection)
* 5700 MHz [140] (23.0 dBm) (no IR, radar detection)
* 5720 MHz [144] (23.0 dBm) (no IR, radar detection)
* 5745 MHz [149] (30.0 dBm) (no IR)
* 5765 MHz [153] (30.0 dBm) (no IR)
* 5785 MHz [157] (30.0 dBm) (no IR)
* 5805 MHz [161] (30.0 dBm) (no IR)
* 5825 MHz [165] (30.0 dBm) (no IR)
...
В приведённом списке видим, что чипсет поддерживает каналы 1?14 (2,4 ГГц) и каналы 36?165 (5 ГГц), но вы заметили флаг
no IR
?Флаг
no IR
обозначает no-initiating-radiation (то есть пассивное сканирование). Это значит, что данный режим запрещён в случае, когда устройство первым инициирует излучение (включая маяки). Другими словами, нельзя запускать точку доступа на этих каналах!Нормативные требования
Вышеописанная ситуация объясняется нормативными требованиями Linux, которые регулируют использование радиочастотного спектра в зависимости от страны.
Но погодите!
Я живу в США, а по ссылке написано, что я имею право инициировать излучение на каналах 36-48, так в чём дело? Посмотрим, какой домен регулирования используется в данный момент:
$ iw reg get
country 00: DFS-UNSET
(2402 - 2472 @ 40), (N/A, 20), (N/A)
(2457 - 2482 @ 40), (N/A, 20), (N/A), NO-IR
(2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM, NO-IR
(5170 - 5250 @ 80), (N/A, 20), (N/A), NO-IR
(5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, NO-IR
(5490 - 5730 @ 160), (N/A, 20), (0 ms), DFS, NO-IR
(5735 - 5835 @ 80), (N/A, 20), (N/A), NO-IR
(57240 - 63720 @ 2160), (N/A, 0), (N/A)
Выдача показывает, что сейчас активен мировой домен (или не установлен), то есть минимальные значения, разрешённые в каждой стране.
К сожалению, вручную установить домен
sudo iw reg set
не получится, потому что домен зашит в EEPROM:$ dmesg | grep EEPROM
[ 12.123068] ath: EEPROM regdomain: 0x6c
Патч!
К счастью, нормативные требования обрабатываются на уровне драйвера, так что их можно легко изменить: находим патч в исходниках Open-WRT.
Прежде всего, не забудьте подключить репозиторий исходного кода из
/etc/apt/sources.list
:$ cat /etc/apt/sources.list
...
deb-src http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
...
Затем подготовьте окружение, установив необходимые зависимости:
$ sudo apt-get install build-essential fakeroot
$ sudo apt-get build-dep linux
Скачайте источники своего ядра:
$ apt-get source linux
Поскольку оригинальный патч Open-WRT нельзя применить «как есть» к дереву ядра Ubuntu из-за тонких различий в системе сборки, пришлось его исправить:
$ VERSION=$(uname -r)
$ cd linux-${VERSION%%-*}
$ wget -O - https://gist.github.com/renaudcerrato/02de8b2e8dc013bc71326defd2ef062c/raw/a2db325e520e6442c8c12f7599d64ac1b7596a3e/402-ath_regd_optional.patch | patch -p1 -b
Всё готово для сборки:
$ fakeroot debian/rules clean
$ fakeroot debian/rules binary-generic
Если проблем нет, то теперь можно установить исправленное ядро поверх предыдущего:
$ cd ..
$ sudo dpkg -i linux*.deb
Перезагрузка, и вуаля:
$ sudo iw reg set US
$ iw list
...
Frequencies:
* 5180 MHz [36] (17.0 dBm)
* 5200 MHz [40] (17.0 dBm)
* 5220 MHz [44] (17.0 dBm)
* 5240 MHz [48] (17.0 dBm)
* 5260 MHz [52] (23.0 dBm) (radar detection)
* 5280 MHz [56] (23.0 dBm) (radar detection)
* 5300 MHz [60] (23.0 dBm) (radar detection)
* 5320 MHz [64] (23.0 dBm) (radar detection)
* 5500 MHz [100] (23.0 dBm) (radar detection)
* 5520 MHz [104] (23.0 dBm) (radar detection)
* 5540 MHz [108] (23.0 dBm) (radar detection)
* 5560 MHz [112] (23.0 dBm) (radar detection)
* 5580 MHz [116] (23.0 dBm) (radar detection)
* 5600 MHz [120] (23.0 dBm) (radar detection)
* 5620 MHz [124] (23.0 dBm) (radar detection)
* 5640 MHz [128] (23.0 dBm) (radar detection)
* 5660 MHz [132] (23.0 dBm) (radar detection)
* 5680 MHz [136] (23.0 dBm) (radar detection)
* 5700 MHz [140] (23.0 dBm) (radar detection)
* 5720 MHz [144] (23.0 dBm) (radar detection)
* 5745 MHz [149] (30.0 dBm)
* 5765 MHz [153] (30.0 dBm)
* 5785 MHz [157] (30.0 dBm)
* 5805 MHz [161] (30.0 dBm)
* 5825 MHz [165] (30.0 dBm)
...
Во избежание автоматического обновления может потребоваться закрепить версию ядра Linux.
Конфигурация
Новый файл конфигурации
hostapd
будет довольно простым: hw_mode=a
включает диапазоны 5 ГГц, а ieee80211ac=1
включает 802.11ac (VHT). Опция ieee80211d=1
с указанием country_code=US
определяет нормативный домен, под которым мы работаем.Чтобы максимально использовать пропускную способность,
ht_capab
и vht_capab
должны отражать возможности оборудования:$ iw list
...
Band 1:
Capabilities: 0x19e3
RX LDPC
HT20/HT40
Static SM Power Save
RX HT20 SGI
RX HT40 SGI
TX STBC
RX STBC 1-stream
Max AMSDU length: 7935 bytes
DSSS/CCK HT40
...
Band 2:
VHT Capabilities (0x338001b2):
Max MPDU length: 11454
Supported Channel Width: neither 160 nor 80+80
RX LDPC
short GI (80 MHz)
TX STBC
RX antenna pattern consistency
TX antenna pattern consistency
С учётом этого вот окончательный
hostapd.conf
:$ cat /etc/hostapd/hostapd.conf
#### Interface configuration ####
interface=wlp5s0
bridge=br0
driver=nl80211
##### IEEE 802.11 related configuration #####
ssid=iCanHearYouHavingSex
hw_mode=a
channel=0
auth_algs=1
wmm_enabled=1
country_code=US
ieee80211d=1
ieee80211h=0
##### IEEE 802.11n related configuration #####
ieee80211n=1
ht_capab=[HT40+][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][DSSS_CK-40][LDPC][MAX-AMSDU-7935]
##### IEEE 802.11ac related configuration #####
ieee80211ac=1
vht_capab=[MAX-MPDU-11454][RXLDPC][SHORT-GI-80][TX-STBC-2BY1][RX-STBC-1][MAX-A-MPDU-LEN-EXP7][TX-ANTENNA-PATTERN][RX-ANTENNA-PATTERN]
vht_oper_chwidth=1
##### WPA/IEEE 802.11i configuration #####
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=YouCantGuess
Документацию
hostpad.conf
см. в /usr/share/doc/hostapd/examples/hostapd.conf
.На этом этапе беспроводной маршрутизатор полностью работоспособен, и если нужна более сложная настройка, то вы можете теперь погрузиться в конфигурационные файлы.
Настройка виртуального SSID с помощью hostapd
Независимо от того, хотите вы настроить гостевую точку доступа или выделенную беспроводную сеть для своего VPN, в какой-то момент придётся настроить виртуальный SSID.
Диаграмма
Исходя из текущей конфигурации, вот обновлённая диаграмма, что мы хотим получить. Предполагая, что
wlp5s0
является физическим беспроводным интерфейсом, виртуальный SSID будет работать на виртуальном интерфейсе wlan0
, используя собственную подсеть 192.168.2.0/24
:Подготовка
Прежде всего проверим, что ваше беспроводное устройство поддерживает несколько SSID:
$ iw list
...
valid interface combinations:
* #{ AP, mesh point } <= 8,
total <= 8, #channels <= 1, STA/AP BI must match
...
Как видим, чипсет поддерживает до восьми точек доступа на одном канале. Это означает, что можно настроить до семи виртуальных SSID, и все они будут работать на одном канале.
Сетевой интерфейс
Согласно документации в hostapd.conf, существует строгая связь между MAC-адресом физического интерфейса и BSSID виртуальных интерфейсов:
hostapd will generate a BSSID mask based on the BSSIDs that are configured. hostapd will verify that dev_addr & MASK == dev_addr. If this is not the case, the MAC address of the radio must be changed before starting hostapd. If a BSSID is configured for every secondary BSS, this limitation is not applied at hostapd and other masks may be used if the driver supports them (e.g., swap the locally administered bit)
BSSIDs are assigned in order to each BSS, unless an explicit BSSID is specified using the 'bssid' parameter.
If an explicit BSSID is specified, it must be chosen such that it:
— results in a valid MASK that covers it and the dev_addr
— is not the same as the MAC address of the radio
— is not the same as any other explicitly specified BSSID
Чтобы выполнить эти требования и позволить
hostapd
автоматически назначать BSSID виртуального интерфейса(ов), обновим MAC-адрес физического беспроводного интерфейса, обнулив четыре наименее значимых бита. Этого хватит на 15 виртуальных BSSID — намного больше, чем необходимо.Сначала определим текущий MAC-адрес:
$ ip addr show wlp5s0 | grep link | awk '{print $2}'
44:c3:06:00:03:eb
Если очистить четыре последних бита и установить бит U/L, получится MAC-адрес
46:c3:06:00:03:e0
.Теперь обновим конфигурацию, чтобы установить правильный MAC-адрес прямо перед загрузкой интерфейса, а также объявить виртуальный беспроводной интерфейс в соответствии с нашей диаграммой:
$ cat /etc/network/interfaces
...
# Physical Wireless
auto wlp5s0
iface wlp5s0 inet manual
pre-up ip link set dev wlp5s0 address 46:c3:06:00:03:e0
# Virtual Wireless
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.2.1
network 192.168.2.0
netmask 255.255.255.0
broadcast 192.168.2.255
post-up /usr/sbin/dnsmasq --pid-file=/var/run/dnsmasq-wlan0.pid --conf-file=/dev/null --interface=wlan0 --except-interface=lo --bind-interfaces --dhcp-range=192.168.2.10,192.168.2.150,24h
post-down cat /var/run/dnsmasq-wlan0.pid | xargs kill
...
Отлично. Я использую
dnsmasq
как DHCP-сервер — не стесняйтесь заменить на то, что вам нравится. Обратите внимание, что для корректной работы виртуального интерфейса требуется allow-hotplug
.Конфигурация точки доступа
Теперь самое простое: добавим виртуальный SSID к текущей конфигурации
hostapd
. Просто добавьте это в конец существующего файла hostapd.conf
:$ cat /etc/hostapd/hostapd.conf
...
### Virtual SSID(s) ###
bss=wlan0
ssid=MyVirtualSSID
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=you_cant_guess
В приведённом примере я применил шифрование WPA2, но тут доступно большинство опций радиоинтерфейса (например,
channel
). Можно добавить больше виртуальных SSID, просто дописав строчки в конфигурационном файле, согласно объявленным и правильно настроенным виртуальным интерфейсам.Теперь перезагрузимся — и видим свой новый SSID вместе с новым беспроводным интерфейсом (обратите внимание на MAC-адрес):
$ ip addr show wlan0 | grep link | awk '{print $2}'
46:c3:06:00:03:e1
Вот и всё, ребята!
Комментарии (111)
BOOTor
26.01.2019 22:56-2Xiaomi router 3G + padavan: цена вопроса 40 у.е.
dartraiden
26.01.2019 23:20+ padavan
Стало быть, «прощай, WireGuard». А стабильная версия OpenWrt (первая, которой на этом роутере можно пользоваться без боли) выйдет только на днях (при самом оптимистичном раскладе).
iliasam
27.01.2019 00:02Почему-то, прочитав название, решил, что речь пойдет про проектирование роутера «с нуля», из отдельных электронных компонентов.
Bonio
27.01.2019 00:13+1Тоже пользуюсь самодельным маршрутизатором на x86. Сделал, когда стало нужно держать на нем несколько vpn соединений. Так вот в качестве ОС лучше pfSense просто нету, это идеальная ОС для маршрутизатора, куча настроек и очень грамотный web интерфейс, настолько, что за несколько лет я ни разу не лазил в консоль.
Кстати, я тоже сперва с pci-e wifi карточками заморачивался, а потом пришел к выводу, что внешняя точка доступа проще и надежнее.kolu4iy
27.01.2019 00:19Я, знаете, тоже сразу подумал, что специализированный дистр типа pfSense/mikrotik/OpenWRT (в зависимости от требований) справится с задачей ничуть не хуже, чем монстрик-ubuntu...
borisxm
27.01.2019 07:36+1потом пришел к выводу, что внешняя точка доступа проще и надежнее
Поддержу. У меня различные инкарнации домашнего маршрутизатора/сервера/NASa живут уже лет двадцать, и за это время пришел к выводу, что делать WIFI точку лучше на внешней точке доступа. Кроме всего прочего, нет проблем с заменой или обменом.
irnis
28.01.2019 17:05когда-то, в 90-х, сделал одной конторе «роутер» на базе 486 и OpenBSD, эксплутировался он в нечеловеческих условиях — никто его специально не шатдаунил, просто вечером вырубали электричество с щитка, утром включали… через несколько лет они мне позвонили и спросили не помню ли я пароль, т.к. что-то инет работает с перебоями… оказалось — древний винт начал сыпаться… посоветовал им купить 500-й асус, как раз тогда он был в тренде с «прошивкой от Олега»…
rub_ak
27.01.2019 00:23+1Очень расточительно использовать такое железо, только как домашний роутер.
На очень похожее железо (GA-C1037UN-EU + 128 ssd 2.5 + 5Tb hdd + 2x4ddr3 в MOREX T3500-60, под 3,5 пришлось допилить корпус.)
Поставил ESXI, постоянно работает 1 win + 2 ubuntu server, а пару раз доходило до 2win + 3 linux виртуалок.
Кому интересно вот:мои фото
Последние фото из далёкого 2010(11)года, там ещё атом 525 стоялkuza2000
27.01.2019 00:47+1А смысл всего этого действа?
Посмотрел цену вай-фай адаптера — $49.
И это только вай-фай адаптер… Сколько остальное железо стоит?
К примеру, у меня стоит ASUS RT-AC58U, перешитый на OpenWRT. 5500 руб, это намного меньше $100. Поддерживает 2.4 ГГц, 5 ГГц, все порты (1 LAN + 4 WAN) гигабитные. Четыре антенны, по две на диапазон. Похоже, по всем основным параметрам превосходит данный девайс. Кроме, конечно, процессорной мощи и памяти, но зачем она, если ее некуда применить?
Похоже, тут интерес может быть только спортивный… за него и плюсанул статью :)))
Ну или вешать какие-то задачи еще… но мне бы не хватило проводных интерфейсов, как минимум.loltrol
27.01.2019 04:36Подключите гигабитный wan, запустите 10 торрентов, и ваш роутер подохнет, выдавая по 1 пакету в час(тру гигабитный роуеров, без хаков в виде hardware-nat, которые сильно ограничены, наверное ниже 200 баксов не найти). + сабж в топике может много чего, а именно — абсолютно любую вещь «взрослого» пк-умные впнки для обхода блокировок, сервер БД, файловые шары всех мастей.
Так что ваш роутер и эта железка — устройства немного разного применения.kuza2000
27.01.2019 06:46Торрентов нет, а по wan подключение гигабитное. Скорость на ноутбуке (по speedtest.net) 300+ по проводу (ограничение провайдера), 200+ по вай-фаю 802.11ac (тут уже ограничевает вай-фай).
Всего нагрузка одно-три устройства на проводе, на вайфае ноут, планшет, пара телефонов.
Ну, если по всем портам на гигабит загрузить, наверное, будет тормозить, только откуда в домашней сети такая загрузка :)
Вот клиента VPN поставить хочу, только не нашел готового для SoftEtherVPN.
Кстати, у меня под сомнением, что и целерон в той конфигурации потянет 5 гигабитных карт без тормозов на полную. А что возможностей применения больше — это без сомнения :)
NoOne
27.01.2019 11:25+1Mikrotik за 60$, жует гигабит весьма неплохо, торрентами 700-800, спидтест под 1000
Hissing_Bridge
27.01.2019 14:23только этот микротик не умеет VPN по UDP
NoOne
27.01.2019 15:30+1Так вы говорите правильно, «не умеет OpenVPN по UDP».
Но в новом RouterOS обещают (уже пару лет?)
vviz
27.01.2019 17:12Осмелюсь спросить, а зачем для VPN connectionless соединение? Да еще если через WiFi?
Hissing_Bridge
27.01.2019 19:10Микротик поднимает соединение с удаленным сервером OpenVPN. На стороне микротика настраивается машрутизация для определенных ресурсов через VPN соединение. Прозрачно для клиентов, подсоединенных к точке. Микротик не умеет OpenVPN через UDP. не умеет осуществлять безпарольную аутентификацию, tls — wat? lzo...?
OpenVPN стандарт де-факто. Зачем UDP? Надо. А TCP не надо. Конкретно для меня. Почему до сих пор настолько базовые и примитивные вещи не реализованы в routerfs? Мне не понятно. Реквест висит с 2013 года.
Вообще у микротиков, любых, даже что-то типа Mikrotik RB1100AHx4 очень большие проблемы с шифрованными соединениями. Они деградируют. Если через соединения гоняются большие объемы шифрованного трафика, то раз в несколько дней микротик начинает деградировать. Сначала это проявляется в увеличении пинга, проскакивают задержки. Со временем все становится хуже и он виснет. Как решить проблему? В интернете тишина, много кто пишет — ответа нет. Лечит перезагрузка.
Несомненно, для многих обычных пользователей микротик это отличный выбор, но с другой, для обычных пользователей и стоковых прошивок роутеров, ну как максимум какой-нибудь ddwrt или open-wrt за глазаgecube
27.01.2019 20:14Вообще у микротиков, любых, даже что-то типа Mikrotik RB1100AHx4 очень большие проблемы с шифрованными соединениями. Они деградируют. Если через соединения гоняются большие объемы шифрованного трафика, то раз в несколько дней микротик начинает деградировать. Сначала это проявляется в увеличении пинга, проскакивают задержки. Со временем все становится хуже и он виснет. Как решить проблему? В интернете тишина, много кто пишет — ответа нет. Лечит перезагрузка.
wat? никогда не имел таких проблем. Что делаю не так? Да, ес-но openvpn не для микротика. Но вот IPsec (туннельный и транспортный), l2tp, sstp, IPIP прекрасно там работают.ivn86
28.01.2019 08:02IPsec/l2tp стабильно работает? Два раза на двух различных устройствах пробовал настроить по официальной доке — сперва всё чудесно работает, но примерно через сутки падает PPPoE соединение с провайдером.
gecube
28.01.2019 08:16эм… Ну, как сказать. Были разные конфигурации.
Обычно: mikrotik в роли L2TP/IPsec сервера, клиенты — рабочие машинки, телефоны и пр. Полет отличный.
Далее была конфигурация — mikrotik'и в качестве L2TP/IPsec клиентов, в центре — либо Mikrotik CHR на VPS, либо Ubuntu/Centos с соответствующими демонами. То же проблем не было. Пока провайдер не начал изголяться. Тогда переключились на SSTP.
Два раза на двух различных устройствах пробовал настроить по официальной доке — сперва всё чудесно работает, но примерно через сутки падает PPPoE соединение с провайдером.
может быть проблема в том, что соединение с провайдером переподключается? Как бы к самому L2TP это отношения не имеет, но чисто гипотетически возможна проблема, связанная с тем, что я в микротике не нашел опции для очередности поднятия туннелей. Запросто может случиться так, что там как-то по-хитрому переплющило таблицу роутинга, назначились пересекающиеся IP-адреса и в результате туннель как бы есть, и в нем пытается подняться другой туннель, хотя должно быть ровно наоборот. Сам микротик в таких случаях, видимо, предлагает писать скрипты на их диалекте bash'а (?)
khim
27.01.2019 20:14Почему до сих пор настолько базовые и примитивные вещи не реализованы в routerfs? Мне не понятно. Реквест висит с 2013 года.
Вы тут сами себе противоречите — если они «базовые и примитивные», то что вам мешало пять лет написать patch.
А если они «сложные и никому, кроме трёх с половиной гиков, не нужные»… ну так это само по себе ответ на вопрос…gecube
27.01.2019 20:19эм. а разве routerOS опенсурс? Это как бы закрытая разработка Микротик на базе Линукс-ядра. И сурсов я не видел. Если у Вас другая информация, то прошу поделиться, т.к. очень интересно.
gecube
27.01.2019 20:23На самом деле это очевидно. Потому что паковать TCP в TCP — это гениально, очень большой оверхед и плохо работает в условиях плохого соединения.
В результате легко можно получить кейсы, описанный по ссылкам
openvpn.net/faq/what-is-tcp-meltdown
sites.inka.de/bigred/devel/tcp-tcp.html
serverfault.com/questions/630837/under-what-circumstances-is-tcp-over-tcp-performing-significantly-worse-than-tcp
Я уж не говорю, что энтерпрайз никогда не позволит себе опенвпн. А поддержка IPsec + IPIP туннели в микротиках не отличная, но хотя бы нормальная.vviz
27.01.2019 21:33Понятие «очевидность» довольно сильно субъективное. И как то не вижу в своем вопросе сочетания «Mikrotik» и VPN. Есть сочетание UDP и VPN. Аргументированного ответа не увидел, жаль.
Что касается «деградации», на мой взгляд она сушествует в каком либо виде везде, что у Микротиков, что у Цисок, что у Виндовс, что у Линукс. С древних времен придерживаюсь правила — переодически железку нужно перегружать. Любую.gecube
27.01.2019 21:39А, прошу прощения )
Еще раз повторюсь, что у меня стойкое подозрение, что Mikrotik не реализуют OVPN с UDP, т.к. не считают это нужным с т.з. целевой аудитории. Все необходимое для жизни в Mikrotik есть и без OVPN — L2tp, sstp, ipsec etc.
Что касается «деградации», на мой взгляд она сушествует в каком либо виде везде, что у Микротиков, что у Цисок, что у Виндовс, что у Линукс. С древних времен придерживаюсь правила — переодически железку нужно перегружать. Любую.
Логично предположить, что в любом ПО, кроме совсем уж mission critical, есть баги и утечки памяти, что действительно приводит к тому, что нужны перезагрузки (обнуление). Вопрос только в частоте такого события )NoOne
27.01.2019 22:07у меня стойкое подозрение, что Mikrotik не реализуют OVPN с UDP
Они его уже реализовали в RouterOS 7, в ченджлоге пролетало. Но вот вопрос, когда он выйдет в релиз…
kolu4iy
28.01.2019 09:14Ох вы тут неправы… Вот прям на прошлой неделе — апсолютли кровавый энтерпрайз выступает в роли нашего клиента. И знаете что он подсовывает в качестве VPN до того сервера, который мне надо настроить? OpenVPN. Увидев TCP в предложенном конфиге — я немного насторожился. А почитав логи внезапно нашёл, что на той стороне еще и микротик стоит… Конкретно не буду называть клиента, извините, но он действительно из Российского топ-10…
mayorovp
28.01.2019 09:37Для VPN именно connectionless соединения и нужны! Потому что инкапсуляция TCP внутри TCP отвратительно реагирует на потери пакетов: по истечении тайм-аута одновременно происходит повторная отправка как пакета по внутреннему соединению, так и по внешнему. В итоге «мусорные» пакеты воруют пропускную способность как раз в те моменты, когда её не хватает.
vviz
28.01.2019 10:18Хмм, а я как-то всегда придерживался мысли, что для «приватной» сети важнее «непрерывность» связи, чем пропускная способность. Каково «домашнему» сотруднику, сидящему через WiFi на «удаленном рабочем столе» сервера при постоянных «фризах»? И почему пакеты, поддерживающие работоспособность соединения, считаются «мусорными»? Ведь в них данные, которые уже однозначно потеряны в канале… На практике TCP стабильнее в ситуации передачи «важных» данных, но все пытаюсь найти ошибку в своих рассуждениях.
gecube
28.01.2019 10:28Почитайте по ссылкам, которые я выше приводил.
Кратко — если пакет потерян, то возможно, что его и не нужно передавать уже. В частности — это очень хорошо видно на стриминговых вещах (ну, там телефония etc.). Дополнительно — внутри туннеля у Вас тот же TCP stream (например, ssh), который даже 5-секундный обрыв может пережить (за это время можете переподключиться по ВПН как раз — главное — на тот же самый IP)
mayorovp
28.01.2019 10:30Так TCP внутри TCP именно к фризам и приводит. Мусорными пакеты становятся потому что были повторно переданы несколько раз в ситуации, когда хватило бы лишь одного.
Для того, чтобы гарантированно доставить данные, достаточно одного слоя TCP, второй слой лишь мешает.
Hissing_Bridge
27.01.2019 15:26
Currently unsupported OpenVPN features:
UDP mode
LZO compression
TLS authentication
authentication without username/password
VitohA
27.01.2019 14:17До 200$ уже есть железки на том же IPQ-4018 или MT7621 со 128-256 МБ RAM на борту, которые потянут эту нагрузку.
Но вот зачем там функционал «взрослого» пк, на роутере то? Это просто разные устройства.bugdesigner
27.01.2019 17:51Да всегда можно "дополнительное домашнее задание" на роутер повесить. Медиасервер, торрент-качалку, итд. Хотя, как по мне, слишком жирно для роутера.
DGN
27.01.2019 19:25Медиасервер, торренты и видеонаблюдение — уже открывается неплохой кейс. До кучи, элементы умного дома.
p.s. в конструкцию я бы добавил вотчдог.mishutka_ua
28.01.2019 06:30+2Вы, вот это все на роутер повесили бы, серьезно?? Элементы умного дома и видеонаблюдение и вотчдог?? На роутер?? И я не про мощность железа.
Dioxin
28.01.2019 07:39+1Посмотрел цену вай-фай адаптера — $49.
Столько стоит мой роутер тп-линк.
в нем есть:
гигабит езернет (работает)
5 Ггц
2 USB с поддержкой принтера и накопителей.
В общем все что мне дома нужно.
id_potassium_chloride
27.01.2019 01:24Создаётся ощущение, что конечный продукт — полноценный ПК с прокаченной функцией маршрутизатора. Обычно наоборот: сетью заведует какая-то мелкая железка с дополнительным функционалом слабого ПК в виде побочного эффекта. Кстати, я правильно понял, что автор статьи собирал ядро Линукса из исходников непосредственно на маршрутизаторе?
achekalin
27.01.2019 10:51+2Конечный продукт напоминает подход «because I can». Поиграться, даже потратив в разы против оптимальной только сетевой железки, можно было и попроще/дешевле, но не так наглядно. Уже корпус от компа с кучкой антенн внушает, что и говорить.
Для меня точка доступа — это что-то такое, небольшое. И, наверное, недорогое, хотя тут от задачи зависит. Потому что я привык радио прятать с глаз, и привык на точку доступа не вешать доп. функций, ибо ТД — в некотором смысле все же stateless штука, которую можно (и нужно) менять цельным блоком, и конфигурить именно так, без привязки к экземпляру.
А вот с какой целью на домашней ТД иметь реальный гигабит везде-везде, с запасом (по процу судя — там и несколько гигабит без проблем)? Это как с тем тролейбусом и буханкой: можно, но зачем? По себе сужу: не так часто крупные файлы или потоки на гигабит возникают, в сумме, имея именно чистый 1Гб в каждую сторону против реальных 200-300 Мбит (как, чаще всего, и получается с учетом канала, эфира, железа) — я себе сэкономил секунд 10 в месяц. Не стоит оно того, как по мне, хотя это, конечно, индивидуально.gecube
27.01.2019 20:12Я просто хочу обратить внимание, что уже крупные провайдеры (РТ, SkyNet) дают в дом 200МБит. Региональные маленькие — могут до 1ГБит.
Поэтому — да, честный гигабит карман не тянет.khim
27.01.2019 20:16Поэтому — да, честный гигабит карман не тянет.
Именно что тянет. И хорошо так тянет. Сравните цену китайского роутера… вот с этим.gecube
27.01.2019 20:20Давайте конкретные аргументы. А то я сравню и сравнение будет не такое, как Вы имели в виду.
achekalin
27.01.2019 22:27Начнем с того, что гигабит вживую доступен (кое-где), но не нужен (почти нигде). Точнее, кому-то нужен, кому-то нет, но в массе юзеры «не парятся». Это не отменяет желания получить таковой канал у «всех остальных», равно как и делания самого оператора не покупать канал реально многогигабитной толщины, а продать некую виртуальную скорость «до узла», но не будет сейчас об этом.
Скажу за себя: провайдер мой, даже не знаю почему, потихоньку повышая мне скорость инета (за те же деньги; присылал только сообщение, что с нового месяца мы вас решили порадовать, и все, скорость прыгала обычно в два раза, а счет не менялся), показал мне, что после некой границы (мегабит, наверное, 50), я уже перестал замечать разницу в толщина канала, потому что чаще стал упираться в скорость отдачи «на том конце». Грубо говоря, как Windows Update отдается небыстро, так оно одинаково небыстро, хоть 50 Мб, хоть гигабит у меня в доме.
Нет, конечно, есть и примеры обратного: очень редко я вижу, что файл прилетает за 20 секунд, а не за 2 минуты (условно говоря), но — погоды эта разница мне в жизни не делает.
Так что покупать, условно, роутер с ТД за 20 тыс, вместо роутера за 2 тыс. (повторюсь — именно роутер, а не комбайн «чтобы все боялись»), мне психологически не нравится. Плюс, я понимаю, что роутер за 2 тыс. при сгорании я просто отложу в сторону, куплю новый, и инет у меня появится через час-два (хождение до магаза + настройка), а с комбайном я пропрыгаю больше, ибо он кастомный. Получается, и с точки зрения времени облом.
Я отлично отношусь к идее купить роутер + ТД, а к ним в довесок (отдельно) серверок, который будет в виртуалках (или «просто») крутить мою качалку, NAS, бекапер — но идея вешать на него еще и функцию ТД… Плюс, покупая отдельный сервер, я буду выбирать серверное, а не роутерное железо, что скажется положительно на выполнении им его функций. И каждая железка будет делать то, для чего предназначена, что тоже архитектурно симпатично.
Ну апоиметьсяизучить прямоту рук можно, купив тот же Mi Router 3G, и повозившись с кастомом для него. Он мощный, недорогой, «в среднем» качественный. Да, и гигабит тянет, собственно, если что. Даже если гигабит в реальности и не нужен. *смайлик*mishutka_ua
28.01.2019 06:45Ну ОК, а если не извращаться и поставить сюда не ubuntu, а pfsense/opnsense и назвать не роутер, а шлюз для SOHO. Вам, я думаю, и кран мостовой литейный не нужен, но это не значит, что он не нужен совсем.
khim
28.01.2019 12:50Кран мостовой литейный дома — не нужен совсем. А там где он нужен — там люди понимают, зачем он им нужен.
Речь ведь не шла о том, что гигабит не нужен никому и никогда (у нас в офисе все машины имеют гигабит подключение, а сам офис имеет два резервированных десятигигабитных канала, к примеру) — но всегда надо понимать зачем.
А мотивация «честный гигабит карман не тянет» подходила бы к выбору между китайским роутером за две тысячи рублей и «хорошим» за две с половиной… ну три — от силы. Но никак не к тому чуду, что в статье описано.mishutka_ua
28.01.2019 13:08Кран мостовой литейный дома — не нужен совсем. А там где он нужен — там люди понимают, зачем он им нужен.
А я про дом и не говорил, я апеллировал, к тому, что —
Скажу за себя: провайдер мой
и указал именно на то, что есть юзкейсы именно для этой поделки, а не «скажу за себя». Более того, даже указал, каким образом возможно это использовать.
Речь ведь не шла о том, что гигабит не нужен никому и никогда (у нас в офисе все машины имеют гигабит подключение, а сам офис имеет два резервированных десятигигабитных канала, к примеру) — но всегда надо понимать зачем.
Я рад, что люди должны понимать зачем. Я не понимаю как и зачем, Вы, прилинковали это к моему комментарию??
Если быть внимательнее и читать не по диагонали, то станет очевидным, что я прокомментировал не, Вас, а другого человека. Не?
И смысл самого комментария был именно в том, что —
надонужно всегда понимать зачем.khim
28.01.2019 14:04+1Вся подведка — это отсюда:
честный гигабит карман не тянет
сравните цену китайского роутера… вот с этим.
Давайте конкретные аргументы.
Примерно так десятикратная разница в цене — это «неконкретный агрумент»?
Назвать можно как угодно, хоть «шлюз для SOHO», хоть «жопа с ручкой» — это не изменит того, что для 99% и 100 мбит/с не нужно.mishutka_ua
28.01.2019 23:57Наверное я повторюсь, но мне таки интересно, ЗАЧЕМ вы шлете мне НЕ МОИ аргументы в этой дискуссии?
Borz
27.01.2019 22:18убираем торренты. Куда вам входящий (не локалка) гигабит дома? и "честный" он ровно до провайдера, а дальше… суровый интернет, бездорожье и леса
gecube
27.01.2019 22:22я люблю стриминговые сервисы в хорошем качестве.
Еще большое желание телевизор подключить к интернетам.
Куда вам входящий (не локалка) гигабит дома?
честно — мне бы 200МБит хватило, но есть нюанс… что это уже или оптика, либо все-таки зашейпенный гигабит (т.е. сетевуха должна быть нормальная).
Гигабит по проводу в локалке — это уже must. Постоянно гоняю большие файлы между хранилкой, компом и ноутом.
Но, к сожалению, все свитчи/роутеры с гигабитными все еще стоят существенно дороже, чем обычные с 100Мбит.
Hissing_Bridge
27.01.2019 06:04Хотел сначала собрать на RaspberryPI 3B+, но опыт работы с сетью более чем 200 подобными малинами в качестве роутера (выступают в роли маршрутизаторов с VPN каналами), оставило очень негативные впечатления. В не зависимости от использования usb сетевых карт, со временем малины начинают деградировать, снижается скорость передачи данных. Если не решать это регулярной перезагрузкой — зависает. Долго пытаюсь найти причину. С виду все нормально. Также часто начинает беспричинно тротлится. Но это можно победить, указав в boot/config.txt так называемый turbo режим (avoid_warnings=2). В общем почитал отзывы и взял себе Asus RT-AC87U. Накатил прошивку Merlin. В целом все отлично. Есть проблемы с температурой. Еще очень плохо работает с провайдерской DHCP Option82. Капризный. Часто ложится линк, с сообщением, что ISP провайдер не правильно настроил свой DHCP. На стоковой прошивке с этим все нормально, но там проблемы с 5Ггц. Короче, честно, пожалел. Стоит он дохрена, хотя достался в 70% стоимости. Лучше бы собрал собственноручно что-нибудь в форм-факторе mini-itx и кинул в чулан.
gecube
27.01.2019 20:11Вы говорите, как будто тп-линки не нуждаются в перезагрузке каждую неделю.
У меня именно такие симптомы. Вай-фай начинает резко тупить и не подключаться. Подходишь к роутеру вплотную — все ОК. Ребутаешь — все нормализуется.
Давайте примем за аксиому, что перезагрузка домашнего роутера раз в неделю допустима.
Кстати, ни с одним микротиком таких проблем не наблюдал…ivlis
27.01.2019 20:40У меня Google OnHub от того же TP-link, работает месяцами без каких либо проблем.
gecube
27.01.2019 20:57И что это доказывает? Повторюсь, что в моем опыте присутствовали не один ТП-ЛИНК или Д-ЛИНК. И зачастую с ними так или иначе были проблемы. Возможно, это «ошибка выжившего» в том плане, что роутеры были уже со стажем, а тогда уже начинаются проблемы из серии «высохших конденсаторов в блоках питания», но после замены на микротики все клиенты становились счастливыми.
mystique_man
29.01.2019 12:05тплинк сделал железку, а гугл софт) вот и вся разница и ответ почему «одни» «тплинки» виснут, а другие не виснут.
irnis
28.01.2019 17:11Model: TP-Link TL-WR1043N/ND v1
Architecture: Atheros AR9132 rev 2
Firmware Version: OpenWrt 18.06.1 r7258-5eb055306f / LuCI openwrt-18.06 branch (git-18.228.31946-f64b152)
Kernel Version: 4.9.120
Local Time: Mon Jan 28 19:08:37 2019
Uptime: 35d 11h 40m 0s
Load Average: 0.00, 0.01, 0.00gecube
29.01.2019 12:07Я за Вас очень рад, но речь шла про тп-линки и д-линки в первую очередь с «родными» прошивками (пускай, и последней версии).
LESHIY_ODESSA
29.01.2019 16:15Вот вам и родная прошивка, но в целом вы правы.
Firmware Version:
0.9.1 3.2 v003a.0 Build 170221 Rel.55462n
Hardware Version:
Archer C20i v1 00000000
System Up Time:
40 day(s) 01:45:41
LESHIY_ODESSA
29.01.2019 16:14Это не самый удачный ответ, учитывая то, что в этой модели «стандартный» отвал Wi-Fi чипа (ath: phy0: DMA failed to stop...) и приходится делать Wi-Fi watchdog.
bzzz00
27.01.2019 10:07> DD-WRT всё равно предпочтительнее стоковых прошивок.
очень сильно утверждение. чем обосновано? вот у меня несколько точек на кинетиках — работает как часы, в целом.
fedorro
27.01.2019 11:15Воспользуюсь подходящей статьей и спрошу — может кто решал: RaspberryPI 3B+ @ Raspbian, нормативные ограничения запрещают 5GHz в домене RU. Можно, конечно, поставить US или другой, и не парится по этому поводу. Но хотелось бы понять — 5GHz в домене RU уже разрешены, и вроде я что-то находил, что уже всё должно работать из коробки. У меня так и не получилось, может кто сталкивался — подскажет. Спасибо.
megasuperlexa
28.01.2019 14:43как запрещают — вообще? вроде это не так
fedorro
28.01.2019 15:01Ну когда я выбираю домен RU пропадают все 5G сети. В качестве решения предлагается выбрать регион US. Я вот и интересуюсь более правильным решением.
megasuperlexa
28.01.2019 15:19думаю, речь идёт о каком-то баге конкретной прошивки. у меня 5ГГц всегда работало.
Нарыл в гугле:
Решением от 15 июля 2010 г., ГКРЧ России отменяет выдачу обязательных частных Решений ГКРЧ для использования систем фиксированного беспроводного доступа в диапазонах 5150-5350 МГц и 5650-6425 МГц. Ограничение на данные диапазоны частот снято для всей территории России.fedorro
28.01.2019 15:30Самая стандартная прошивка у меня — последний Rspbian со всеми обновлениями. Что 5Ггц в России разрешены я в изначальном комментарии написал. Какая страна у Вас установлена для Wi-Fi?
yetanotherman
27.01.2019 16:52J1900 не лучший выбор для роутера. Не сильно лучше Raspberry PI 3.
За эти же деньги или чуть-чуть дороже можно взять что-то более энергоэффективное и с поддержкой AES-NI. Посмотрите на J3455. Или, если религия позволяет поставить дополнительный сетевой адаптер — есть интересные материнки на J4105 (лучше производительность) или Z8350 (лучше потребление).
KivApple
27.01.2019 18:49Я бы хотел предостеречь от использования именно Малины в качестве Wi-Fi роутера (автор статьи её и не использовал, но упомянул). Причина проста — под капотом там 1 USB порт и почти вся периферия (кроме GPIO, HDMI и интерфейса камеры и всяких мелочей типа разъёма для наушников) висит на нём через хаб. То есть и Ethernet, и Wi-Fi (в моделях, где он есть), и 4 USB разъёма. И USB там самый обычный 2.0, а не 3.0. Что это значит? Что одновременное активное использование >1 сетевого интерфейса будет приводить к глюкам, тормозам и потерям пакетов. А в случае роутера сетевых интерфейсов как раз таки 2 — Wi-Fi и Ethernet. В общем, несмотря на достаточно мощный процессор и большой объём ОЗУ в стресс-тестах Малина проиграет практически любому Wi-Fi роутеру. И ладно если просто будет тупить, а не дропать пакеты или вообще зависать.
Я работал с немного другой задачей — передаче видео с вебкамеры по Wi-Fi. При использовании специальной камеры для Raspberry (которая является одной из немногих вещей, которая подключается не к бедному единственному USB порту) всё было хорошо, но стоило заменить её на USB-вебкамеру — V4L2 начинал выдавать битые кадры с вебки, а Wi-Fi сеть начинала работать нестабильно. На других одноплатниках (разные вариации Orange Pi) всё работало стабильно.
В общем, список вещей, которые на Малине лучше не делать:
- Wi-Fi роутер
- Сетевое хранилище (флешка/USB HDD + Wi-Fi/Ethernet)
- Видеонаблюдение/видеотрансляция (если источник подключен по USB, а не через интерфейс камеры)
Если хочется экономии можно рассмотреть различные решения от Banana Pi, Orange Pi и т. д. У них на mainline kernel обычно не работает видеоускорение (что их главный недостаток по сравнению с Малиной, у которой поддержка всего вылизана), но оно нафиг не нужно Wi-Fi-роутеру/мини-серверу, а сеть и USB работают замечательно.gecube
27.01.2019 20:09Действительно лучший комментарий ) Аналогичные проблемы то же замечал на «малинке»
catharsis
28.01.2019 21:37Стоит уточнить, что скорость "обычного USB 2.0" все же 480 Мбит/с, и использовать два устройства на одном хост-контроллере можно (иначе бы не было хабов).
На практике где-то кому-то не хватает буфера, сетевые пакеты теряются и v4l2 лагает.
Как-то вешали USB камеры к платам odroid, и v4l2 иногда давало битые картинки. Найти проблему тогда не удалось, с загрузкой другой периферии видимой корреляции не было, картинки не стримили и на флешку не писали, плат протестировали значительное количествоKivApple
28.01.2019 21:47Скорость 480 МБит/с — да, но вот беда — канал полудуплексный. К тому же производители многих железок экономят на буферах — камера может банально не уметь держать в памяти сразу 2 кадра — если не забрали предыдущий, когда уже закончил считываться с матрицы следующий — получаем тыкву (а при применении MJPEG не просто битую картинку, а вовсе невалидный JPEG, на котором некоторые либы декодирования могут и сегфолтнуться, если специально не озаботится этим вопросом). Ещё производители железок любят делать их максимально тупыми и зашивать большое количество логики в драйвера (этим могут страдать те же Wi-Fi-адаптеры). В обоих случаях требуется фактически связь с железкой в мягком реальном времени, а один USB с хабами (и что важно — несколькими активными в один момент устройствами) его дать никак не может.
Да, можно покупать исключительно дорогие и качественные устройства у которых и буферы жирные, и встроенные контроллеры умные. Но тогда экономия от использования компьютера за 30$ потеряет весь смысл.
Aleho
29.01.2019 11:35+1Уже почти 20 лет USB 2.0, а до сих пор теоретическую пропускную способность протокола принимают за рабочую скорость передачи данных по нему. Распространенные ошибки при проектировании.
wikipro
27.01.2019 18:53В КНР после такой статьи наплодили бы клонов и наводнили ими АлиЭкспресс. А у нас кто нибудь пробовал коммерциализировать такие устройства? Продовать через Авито, Беру, на B2B — рынке как WiFi роутер для кофеен/ Аэропортов, Корпоративный роутер для банков, "роутер с доступом к Рутрекеру", "роутер с торрентами и видеоплеером для подключения к ТВ для бабушки админа" и т.п.
Любопытно было бы почитать историю успеха/неуспеха. Просто общие соображения.
Особенно если Яндекс со Сбером всё таки сделают аналог АлиЭкспрес чтобы можно было из каждого если не деревни то ПГТ торговать своими поделками по почте.
miuz
27.01.2019 22:46Я сталкивался с двумя весьма стрёмными кейсами (сам не делал, но прикидывал, что к чему).
1. Несколько «аудиторий» на 30-50 слушателей (строителей пирамид).
В каждой аудитории свой «курс» со своими материалами, передаваемыми на ноутбуки слушателей, подключенными по WiFi.
Не знаю, чем дело закончилось. Бюджет около_нулевой.
2. Обеспечение подключения по WiFi всех желающих зрителей на одном недавно достроенном стадионе в Питере (+ ещё много чего).
Дело шло к нано-сотам. Бюджет всей ИТ-инфраструктуры был почти не ограничен.
Bsplesk
27.01.2019 19:04+1У меня в качестве mini-NAS выступает китайская железка, размером с mikrotik (951ui-2hnd). Kingdel NUC Mini PC Celeron J3160 Quad Core 4 Intel i210 Nic X86/Support Pfsense AES-NI. Есть правда в ней очень неприятный момент — неполноценный слот mini pci-e (только USB), но у меня там 4g modem, а wifi по USB 3.0. Будет время напишу обзор.
gecube
27.01.2019 20:01Никакого демона в фоновом режиме.
Очень жду комментариев на этот счет. Что за демон?mishutka_ua
28.01.2019 07:05+1FireHOL. Оболочка для iptables. Скрипт на BASH, запускается при загрузке и/или при настройке iptables. Упор на — «понятнее настраивать» этот iptables. Если короче, то близко по синтаксису к firewallD.
gecube
28.01.2019 07:46Все равно — как это соотносится с «никакого демона в фоновом режиме» — по сравнению с чем?
Возмущение у меня вызвала эта фраза, потому что ufw/firewalld я всегда отключаю (можете сказать, что я «неосилятор» — пускай будет так), а iptables в строгом смысле этого слова демоном не является (хотя и есть соответствующий «service» в linux).
И если уж на то пошло, то по мне синтаксис iptables более понятен, чем какой-то очередной язык, применяемый в FireHOL.mishutka_ua
28.01.2019 08:02Все равно — как это соотносится с «никакого демона в фоновом режиме» — по сравнению с чем?
Ни с чем, в статье указывается, что FireHOL просто оболочка для управления iptables не более.
синтаксис iptables более понятен, чем какой-то очередной язык, применяемый в FireHOL.
Скорее более привычен и более гибок. Для того, кто не знаком с iptables, и начинает с ним знакомство, возможно будет проще firehol/firewalld. Возможно, я не утверждаю.
WinLin2
27.01.2019 20:49Домашний сервер из GA-C1037UN-EU, 8Гб, 2 HDD / Ubuntu 18.04 / KVM
+ TP-Link-1043 v1 / OpenWRT. Реальный сервер для разработки и торрентов.
На процессоры обоих устройств установлено дополнительное охлаждение.
maikus
27.01.2019 21:20Только для роутера собирать такую штуку нерационально, мне кажется. Но если уж очень захотелось, то материнку для такого применения надо выбирать с аппаратным watchdog timer. Я делал такого типа устройство для дачи, в начале оно было только роутером вроде описанного в статье, сейчас отвечает и за домашнюю автоматику, и за видеонаблюдение, и за торренты. Использовал атомную плату от Jetway. Заказывать в Штатах пришлось, но оказалась очень удобна тем, что watchdog на плате, питание от 12 вольт, и RS485. Кстати, автор не написал об этом, но всяческие логи Линукса неплохо бы отключить совсем или перевести на RAM-диск, чтобы всё это работало подольше.
gecube
27.01.2019 21:41Вообще идеально, если на материнке такого продЮкта имеется удаленный интерфейс типа IPMI (iLO, DRAC или любой аналог), т.к. если софт зависнет, то возникнет стойкое желание удаленно настроить. Вотчдог отчасти эту проблему закрывает, но только отчасти.
Либо — опция «safe settings», когда при применении несовместимых с нормальной работой опций, роутер их через некоторое время сбрасывает на дефолту. В микротиках, кстати, такой сценарий реализован. Чтобы админу не пришлось ехать через пол-города, чтобы сделать аппаратный сброс настроек…maikus
27.01.2019 22:09Скрипт для восстановления Safe Settings — хорошая штука, спасибо. И, как мне кажется, можно будет реализовать.
werter78
27.01.2019 22:45Доброго.
Товарищ rub_ak выше писал про ESXI.
Оставлю тут forum.netgate.com/topic/120102/proxmox-ceph-zfs-pfsense
Может кого-то заинтересует.
lostmsu
28.01.2019 05:41Вы будете смеяться, но на Windows сделать такой же роутер — цена одной-двух команд в консоли.
А главное — никаких проблем с драйверами. Можно брать любую железку с x86/ARM64.
UPD. в последней версии консоль вообще не нужна: www.howtogeek.com/214080/how-to-turn-your-windows-pc-into-a-wi-fi-hotspotmishutka_ua
28.01.2019 07:19Вы будете смеяться, но на Windows сделать такой же роутер — цена одной-двух команд в консоли.
Эээээээ, proof of concept, будьте любезны.
А главное — никаких проблем с драйверами. Можно брать любую железку с x86/ARM64.
С ARM64 давно проблем нет с драйверами?lostmsu
28.01.2019 07:20Есть же ссылка в UPD
mishutka_ua
28.01.2019 07:26такой же роутер
и hotspot, как по мне, немного разные вещи.
arabesc
28.01.2019 14:51А главное — никаких проблем с драйверами.
Попробуйте найти Windows драйвера для QCA99xx, это практически единственные 802.11ас Wave2 железки с работающим MU-MIMO.
Ну и про пропатчить Windows драйвер для смены региона отдельно интересно.
irnis
28.01.2019 17:26ещё есть вот такая утилитка — www.nirsoft.net/utils/wifi_hotspot_starter.html
ЗЫ: в деревне комп на таком же проце, но другой материнке работает печатной машинкой и для одноклассников, заодно и интернет раздает.
материнка — www.onlinetrade.ru/catalogue/materinskie_platy-c340/asus/materinskaya_plata_asus_j1800i_c_celeron_miniitx-189187.html
корпус — www.onlinetrade.ru/catalogue/kompyuternye_korpusa-c1323/3cott/korpus_3cott_m05_mini_itx-938053.html
набортного вайфая у этой материнки нет, пришлось USB-затычку ставить… Кстати, чтобы получить стабильную работу сети пришлось наглухо вырубить энергосбережение как у вайфай-затычки, так и у ADSL-модема (он тоже по USB), да и вообще у всего USB :)
rozhik
Как wifi карточку выбирали? Столкнулся с тем, что включенный режим ac вешал систему (хоть в списке поддерживаемого dd-wrt карта была).
achekalin
Этот перевод, да ещё на самый искусный, так что спрашивать "как выбирали" лучше у авторов оригинала.
Цена вопроса отдельно доставляет. И по железу, и по расходу энергии.
loltrol
Но это наиболее дешевый вариант получить чесный, безкомпромисный 1 гигабит с nat(+ всякие плюшки).
MinamotoSoft
кадр знает толк в извращениях
(не реклама)
ru.aliexpress.com/w/wholesale-pfsense.html?spm=a2g0v.search0104.0.0.7c09d3fdqGSVqo&initiative_id=SB_20190127083330&site=rus&SortType=total_tranpro_desc&SearchText=pfsense&CatId=202001502
yetanotherman
Там на деле когда эти железки начинаешь покупать — цена выходит не такая уж и вкусная. Потом, когда прикинишь реальную стоимость железки после всех маркетинговых уловок — купить локально выходит в те же деньги, причем, уже не из нонейм-компонент и не из железа четырехлетней давности (я пробовал оба варианта, самосбор получился на голову шустрее/холоднее за те же деньги)
Есть редкие исключения, но они, скажем так, на очень специфичный вкус.
konchok
Железки с Али рулят, честный гигабит там вполне имеется, надо просто брать с интеловскими сетевухами.
Master_List
Наткнулся на оригинальную статью, но к сожалению уже после покупки интеловой вифи карточки. Попробовал поразбираться с модулем ядра для них, по подобию патча из статьи, но ничего не получилось. Сложилось у меня впечатление о том, что в ROM там зашит не только глобальный coutry-code, но и вся табличка разрешенных частот. А при попытке что-то из запрещенного разрешить, сама железка отказывалась заводиться. Так что лучше уж атерос.
konchok
Как тут уже написали роутер — это роутер. Для бриджа на вайфай лучше взять отдельную железку /привет микротик/, выйдет дешевле и качественнее.
irnis
более интересная, на мой взгляд железка — www.hardkernel.com/shop/odroid-h2
BaLaMuTt
Чем вариант Mi router 3G за 2.5 килорубля с прошивкой от Padavan не устраивает? По локалке то же самое выдаёт.
rozhik
Простите, не заметил.