0887 371 498 support@itservice-bg.net
26.01.2021 · Самуил Арсов · openwrt, Рутери

OpenWrt: интерфейси и настройките след инсталацията

Шест настройки, които почти винаги се налагат след като сложите OpenWrt на рутер: да го достигате отдалечено, да дадете постоянен адрес на домашния сървър, да пуснете порт към него, да ограничите скоростта на отделни клиенти, да вдигнете таблицата за проследяване на връзките и — ако доставчикът връзва услугата към MAC адрес — да смените MAC-а на WAN. Първите три се правят от уеб интерфейса LuCI, останалите три са през конзолата.

Преди всичко: интерфейсите

Конфигурацията през уеб интерфейса няма да ви затрудни — няма нищо по-различно от другите рутери, освен разширените функции. OpenWrt е опростил нещата до три основни менюта: Status, System и Network.

OpenWrt LuCI — основните менюта Status, System и Network

По-долу е реална конфигурация с dual-stack — едновременно IPv4 и IPv6. Започваме от Network → Interfaces, където основните интерфейси са WAN и LAN.

OpenWrt — списък на мрежовите интерфейси в LuCI

Важно: IPv6 ULA-Prefix 2001:678:904:4::/64 на практика е IPv6 LAN мрежата, която получават клиентите зад рутера.

WAN

OpenWrt — настройки на WAN интерфейса

LAN

OpenWrt — настройки на LAN интерфейса

Проверка на dual-stack

OpenWrt — Status Overview с IPv4 и IPv6 адреси

Проверка през браузър дали наистина има и двата протокола:

Проверка на IPv4 и IPv6 адрес през браузър

И същото от терминала на клиентската машина:

traceroute по IPv4 и IPv6 от Linux терминал

Безжична мрежа: 40 MHz за 300 Mbit/s

В конфигурацията по подразбиране лаптопът се свързва с рутера на 130 Mbit/s, а реалната скорост е около 35 Mbit/s. С настройката по-долу връзката става 300 Mbit/s, а реалната — около 80 Mbit/s.

OpenWrt — настройки на безжичната мрежа

OpenWrt — избор на честота и канал за безжичната мрежа

OpenWrt — включване на force 40 MHz режим

Проверката се прави на три метра от рутера — иначе мери разстоянието, а не настройката:

Speedtest резултат на 2.4 GHz при 300 Mbit/s връзка

Забележка: 40 MHz в обхвата 2.4 GHz заема почти целия наличен спектър. В блок с много съседни мрежи това по-скоро вреди — печели се пропускливост, губи се стабилност.

1. Отдалечен достъп

Едно от най-важните неща в един рутер е отдалеченият достъп, за да може устройството да се администрира от друга точка в Интернет, меню: Network => Firewall => Traffic Rules

Правило за отдалечен достъп в OpenWrt

Ако отваряте управлението към Интернет, ограничете правилото до конкретен адрес или мрежа и не оставяйте достъпа по HTTP — оставете само HTTPS и SSH с ключ.

2. Статичен адрес по DHCP

Домашният ми сървър трябва да получава всеки път един и същ вътрешен IP адрес в моята локална мрежа, меню: Network => DHCP and DNS => Static Leases

Статичен DHCP lease в OpenWrt

3. Пренасочване на порт

Пренасочване на порт от Интернет към домашния ми сървър в локалната мрежа, меню: Network => Firewall => Port Forwards

Пренасочване на порт в OpenWrt

4. Ограничаване на скоростта по IP или MAC

nft-qos е леко QoS решение върху nftables, с което ограничавате скоростта на отделни клиенти по IP или MAC адрес, направо от уеб интерфейса.

root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install nft-qos luci-app-nft-qos
Настройки на nft-qos в LuCI
Лимити по IP и MAC адрес
Проверка на ограничението със speedtest

След инсталацията лимитите се задават от LuCI в меню Services => QoS over Nftables — статичен лимит per IP или per MAC, без ръчни правила. Пакетът изисква OpenWrt с nftables (firewall4).

5. Таблицата за проследяване на връзките (conntrack)

Connection tracking таблицата на OpenWrt пази запис за всяка активна връзка. На рутери с малко памет лимитът е нисък и при повече клиенти или P2P трафик таблицата се пълни — в лога се появява nf_conntrack: table full, dropping packet и нови връзки започват да отпадат. Лимитът се вдига с:

Текуща стойност на nf_conntrack_max
sysctl net.nf_conntrack_max=32768
Прилагане на новата стойност
Брой активни връзки
Проверка след промяната

За да остане настройката след рестарт, добавете реда net.nf_conntrack_max=32768 във файл в /etc/sysctl.d/. Всеки запис заема памет — на устройства с 32 MB RAM не увеличавайте стойността излишно.

6. Смяна на MAC адреса на WAN (без LuCI)

Някои доставчици връзват услугата към MAC адреса на рутера. При смяна на устройството с OpenWrt най-бързото решение е WAN интерфейсът да получи стария MAC. Командите по-долу (WAN на VLAN интерфейс eth0.2) се изпълняват еднократно или се добавят в /etc/rc.local, за да оцелеят рестарт:

Смяна на MAC адреса на WAN интерфейса в OpenWrt
sleep 5
ifconfig eth0.2 down
sleep 5
ifconfig eth0.2 hw ether 74:4D:28:86:1F:1B
sleep 5
ifconfig eth0.2 up

Трайният вариант без скриптове е през UCI: uci set network.wan.macaddr='74:4D:28:86:1F:1B', после uci commit network и service network restart. Името на интерфейса зависи от устройството — проверете с ip link.