OpenWrt: отдалечен достъп, DHCP, port forward, shaping и conntrack
Шест настройки, които почти винаги се налагат след като сложите OpenWrt на рутер: да го достигате отдалечено, да дадете постоянен адрес на домашния сървър, да пуснете порт към него, да ограничите скоростта на отделни клиенти, да вдигнете таблицата за проследяване на връзките и — ако доставчикът връзва услугата към MAC адрес — да смените MAC-а на WAN. Първите три се правят от уеб интерфейса LuCI, останалите три са през конзолата.
1. Отдалечен достъп
Едно от най-важните неща в един рутер е отдалеченият достъп, за да може устройството да се администрира от друга точка в Интернет, меню: Network => Firewall => Traffic Rules

Ако отваряте управлението към Интернет, ограничете правилото до конкретен адрес или мрежа и не оставяйте достъпа по HTTP — оставете само HTTPS и SSH с ключ.
2. Статичен адрес по DHCP
Домашният ми сървър трябва да получава всеки път един и същ вътрешен IP адрес в моята локална мрежа, меню: Network => DHCP and DNS => Static Leases

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

4. Ограничаване на скоростта по IP или MAC
nft-qos е леко QoS решение върху nftables, с което ограничавате скоростта на отделни клиенти по IP или MAC адрес, направо от уеб интерфейса.
root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install nft-qos luci-app-nft-qos



След инсталацията лимитите се задават от LuCI в меню Services => QoS over Nftables — статичен лимит per IP или per MAC, без ръчни правила. Пакетът изисква OpenWrt с nftables (firewall4).
5. Таблицата за проследяване на връзките (conntrack)
Connection tracking таблицата на OpenWrt пази запис за всяка активна връзка. На рутери с малко памет лимитът е нисък и при повече клиенти или P2P трафик таблицата се пълни — в лога се появява nf_conntrack: table full, dropping packet и нови връзки започват да отпадат. Лимитът се вдига с:

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, за да оцелеят рестарт:

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.