OpenWrt je open-source firmware pro bezdrátové směrovače (router), který poskytuje uživatelům plnou kontrolu nad funkcemi a nastaveními svých routerů. Jedná se o alternativu k proprietárním firmwarem, které obvykle dodávají výrobci routerů.

Podporovaná zařízení:

TP Link TL-WR1043ND verze 1.1

TP Link TL-WR1043ND verze 2.1

TP Link TP-WR841N verze 11

TP Link TP-WR3600 verze 1

Asus RT-AC85P

Orange Pi R1 Plus LTS

OpenWrt je založen na operačním systému Linux a obsahuje mnoho balíčků, které umožňují uživatelům přidávat a odebírat funkce podle svých potřeb. Mezi tyto funkce patří například podpora různých bezdrátových protokolů, VPN, firewally, QoS a další.

Jednou z největších výhod OpenWrt je jeho otevřenost a flexibilita. Uživatelé mohou přizpůsobit své routery přesně svým potřebám a využít všechny funkce a možnosti, které OpenWrt nabízí. Díky tomu mohou uživatelé vytvořit robustní a bezpečné domácí sítě, které mohou efektivně řídit a spravovat.

OpenWrt je k dispozici pro různé druhy routerů a je vyvíjen velkým komunitním týmem. Jeho zdrojový kód je k dispozici jako open-source a je možné ho upravovat a distribuovat pod licencí GNU General Public License (GPL).

Testovaný hardware

TP Link TL-WR1043ND verze 1.1 (oficiální stránka)

TP Link TL-WR1043ND verze 2.1 (oficiální stránka)

TP Link TP-WR841N verze 11 (oficiální stránka)

TP Link TP-WR3600 verze 1 (oficiální stránka)

Asus RT-AC85P (oficiální stránka)

Potřebné soubory a aplikace

Správný soubor s firmwarem
Toto je opravdu důležité. Vždy zkontrolujte, zda název firmwaru souhlasí s názvem a typem vašeho zařízení!

Firmware
https://firmware-selector.openwrt.org/
Do formuláře zadejte typ svého zařízení a stáhněte nejnovější verzi

Wireshark
https://www.wireshark.org/
Nutný k instalaci TFTP způsobem.

TFTP server
https://pjo2.github.io/tftpd64/

SSH klient
Pokud si nevystačíte s příkazovou řádkou/ terminálem, můžete použít například Putty.

Způsoby instalace

Samotnou instalaci je možné provést několika způsoby. Starší TP LINKy bylo možné aktualizovat přímo z webové rozhraní, stačilo pouze soubor přejmenovat. Jiné routery bylo nutné aktualizovat trochu složitěji pomocí TFTP serveru. Moderní ASUS má možnost SSH připojení a neomezenou instalaci firmwarů.

Instalace přes webové rozhraní (TPLink TL-WR1043ND, TP-WR841N)

Nejprve stáhněte správný soubor s firmwarem a přejmenujte na firmware.bin
Je nutné mít router již nastavený a přihlásit se do webového rozhraní. V nabídce routeru podle návodu najděte sekci Aktualizace vyberte přejmenovaný soubor a spusťte.

Instalace přes SSH klienta (Asus RT-AC85P)

I v tomto případě je nutné mít již nastavený router a stažený správný soubor s firmwarem. V administraci ASUS RT-AC85P je nutné aktivovat přístup přes SSH (defaultně je vypnutý).

Nejprve zkopírujeme soubor do složky tmp na router příkazem

cp openwrt-ramips-mt7621-asus_rt-ac85p-squashfs-factory.bin admin@192.168.1.1:/tmp

Následuje připojení k routeru

ssh admin@192.168.1.1

instalace firmwaru

mtd-write -i /tmp/VAS_SOUBOR_FIRMWARE.bin -d linux

a restart zařízení například příkazem v SSH konzoli

reboot

Instalace přes TFTP server (TPLink TP-WR3600)

Na všech routrech TP-Link, které jsem testoval, byla adresa počítače 192.168.0.66. Pro všechny případy ale můžete adresu ověři pomocí aplikace WireShark.

Spusťte WireShark a zapněte router a hledejte následující text v ARP protokolech zprávu „Who has 192.168.0.66? Tell 192.168.0.86

Pokud ho najdete, hledejte v TFTP protokolu větu „Read Request, File: [název_souboru_firmware].bin, Transfer type: octet, timeout=2“. V ní pak naleznete i správný název souboru

Nyní upravte IP adresu počítače podle dané hodnoty ve Windows

Přejmenujte soubor s firmwarem podle názvu a nakopírujte do složky s tftp a spusťte tftp32

Zapněte router a krátce stiskněte tlačítko reset (soubor se nahraje)

Orange Pi R1 Plus LTS

Pozor! Je rozdíl mezi verzí R1 Plus a R1 Plus LTS!!!

Příprava image

Nainstalujeme potřebné balíčky

sudo apt-get install build-essential libncurses5-dev zlib1g-dev
sudo apt-get install gawk gcc-multilib flex git gettext libssl-dev
sudo apt-get install python3-distutils gawk

Naklonujeme potřebné soubory, provedeme checkout a update

git clone https://github.com/walmartshopper/openwrt-orangepi-r1-plus.git
git clone https://github.com/walmartshopper/openwrt-orangepi-r1-plus.git 
cd openwrt-orangepi-r1-plus
git checkout v22.03.2-orangepi-r1plus
./scripts/feeds update -a
./scripts/feeds install -a

Poprvé je dobré nahrát předpřipravený soubor .config a ten si poté zálohovat.

Nyní spustíme konfigurační nabídku.

make menuconfig

Je nutné zadat správné údaje cílového systému:

Target System = Rockchip
Target Profile = Xunlong OrangePi R1 Plus or Xunlong OrangePi R1 Plus LTS

Dále vybereme námi požadované balíčky. Poté Save a Exit a pokračujeme v sestavení příkazy

make download
make -j1 world
make V=s world

Původní firmware

Nejprve nakopírujeme oficiální firmware (např. Tplink.bin) do složky /tmp na router (například pomocí sftp serveru) a spusťte příkaz

sysupgrade /tmp/tplink.bin

Balíčkovací systém OPKG

Opkg je správce balíčků používaný v operačním systému OpenWrt. Před každou instalací balíčku je dobré provést update, který aktualizuje seznam balíčků a po každém restartu se smaže, příkazem

opkg update

Nástroje pro editaci

Pro editaci slouží editor Vi. Při spuštění je v režimu procházení. Zde je několik základních příkazů

[I]       - režim editace textu 
[ESC]     - ukončí editaci textu
[DELETE]  - vymaže řádek (v obou režimech)


Příkazy v příkazovém řádku
:q!       - ukončit bez uložení změn
:w        - uložit změny
:wq       - uložit a ukončit

Základní nastavení sítě

Defaultní adresa routeru po instalaci je 192.168.1.1 s uživatelem root bez hesla a můžeme se k ní přihlásit přes SSH klienta nebo webové rozhraní LuCI

Nastavíme IP a DNS adresy brány a restartujeme (pokud tedy nenačetli automaticky). K nastavení lze použít příkaz uci nebo editovat konfigurační soubory napřímo ve složce /etc/config/

uci set network.lan.ipaddr="10.77.101.1"
uci set network.lan.gateway="77.133.45.1"
uci set network.lan.dns="77.133.45.1"
uci commit
/etc/init.d/network restart
+