Π‘Π»Π΅Π΄ ΠΎΡ Π³ΠΎΠ΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ Π½ΠΎΠ²ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° OpenWrt 22.03.0, Π½Π°ΡΠΎΡΠ΅Π½ΠΎ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠ°ΡΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠΈ, ΠΊΠΎΠΌΡΡΠ°ΡΠΎΡΠΈ ΠΈ ΡΠΎΡΠΊΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ. OpenWrt ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ ΠΈ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅, ΠΊΠΎΡΡΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΊΡΠΎΡ-ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ°, Π²ΠΊΠ»ΡΡΠ²Π°ΠΉΠΊΠΈ Π² ΡΡΡΡΠ°Π²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π»Π΅ΡΠ½ΠΎΡΠΎ ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π³ΠΎΡΠΎΠ² ΡΡΡΠΌΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π· Π½Π° Π΄ΠΈΡΠΊ Ρ ΠΆΠ΅Π»Π°Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ. Π‘Π±ΠΎΡΠΊΠΈΡΠ΅ ΡΠ° ΡΠΎΡΠΌΠΈΡΠ°Π½ΠΈ Π·Π° 35 ΡΠ΅Π»Π΅Π²ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ.
ΠΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² OpenWrt 22.03.0 ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π°:
- ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ Π½ΠΎΠ²ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π° β fw4 (Firewall4), Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΡΠΈΠ»ΡΡΡ nftables. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π° (/etc/config/firewall) ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ uci Π½Π΅ ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ β fw4 ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ»ΡΠΆΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½Π° Π·Π°ΠΌΡΠ½Π° Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ fw3, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° iptables. ΠΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ°, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΡΡΠ½ΠΎ (/etc/firewall.user), ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ Π·Π° nftables (fw4 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π°, Π½ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠΌ Π΅ nftables).
Π‘ΡΠ°ΡΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° iptables, Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ ΠΎΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π½ΠΈΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΎΠ±ΡΠ°Π·ΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ opkg ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΡΡ Image Builder. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ iptables-nft, arptables-nft, ebtables-nft ΠΈ xtables-nft, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° nftables Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠ°ΡΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ iptables.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½Π°Π΄ 180 Π½ΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ 15 ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠΈΠΏΠ° MediaTek MT7915, Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Wi-Fi 6 (IEEE 802.11ax). ΠΠ±ΡΠΈΡΡ Π±ΡΠΎΠΉ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄ΠΎΡΡΠΈΠ³Π° 1580.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΠΏΡΠ΅Π²ΠΎΠ΄ΡΡ Π½Π° ΡΠ΅Π»Π΅Π²ΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ° ΡΠ΄ΡΠΎΡΠΎ DSA (Distributed Switch Architecture), ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΡΠΊΠ°Π΄ΠΈΡΠ΅ ΠΎΡ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ Ethernet ΠΊΠΎΠΌΡΡΠ°ΡΠΎΡΠΈ, ΠΏΡΠΈΠ»Π°Π³Π°ΠΉΠΊΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ (iproute2, ifconfig). DSA ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠΎΠ²Π΅ ΠΈ VLAN Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ swconfig, Π½ΠΎ Π½Π΅ Π²ΡΠΈΡΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΠΊΠΎΠΌΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ DSA. Π ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ DSA Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ bcm53xx (ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠ»Π°ΡΠΊΠΈ), lantiq (SoC Π½Π° Π±Π°Π·Π° xrx200 ΠΈ vr9) ΠΈ sunxi (ΠΏΠ»Π°ΡΠΊΠΈ Bananapi Lamobo R1). ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° DSA Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ ath79 (TP-Link TL-WR941ND), bcm4908, gemini, kirkwood, mediatek, mvebu, octeon, ramips (mt7621) ΠΈ realtek.
- Π ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° LuCI Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΡΠΌΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ΠΆΠΈΠΌΡΡ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΡΠ΅Π· ΠΌΠ΅Π½ΡΡΠΎ βΠ‘ΠΈΡΡΠ΅ΠΌΠ°β -> βΠ‘ΠΈΡΡΠ΅ΠΌΠ°β -> βΠΠ·ΠΈΠΊ ΠΈ ΡΡΠΈΠ»β.
- Π Π΅ΡΠ΅Π½ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ ΠΎΡ 2038 Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ ΠΎΡ ΠΏΡΠ΅Π»ΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° 32-Π±ΠΈΡΠΎΠ²ΠΈΡ ΡΠΈΠΏ time_t (32-Π±ΠΈΡΠΎΠ²ΠΈΡΡ Π΅ΠΏΠΎΡ Π°Π»Π΅Π½ Π±ΡΠΎΡΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ ΠΏΡΠ΅Π»Π΅Π΅ Π½Π° 19 ΡΠ½ΡΠ°ΡΠΈ 2038 Π³ΠΎΠ΄ΠΈΠ½Π°). Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° musl 1.2.x, Π² ΠΊΠΎΡΡΠΎ Π½Π° 32-Π±ΠΈΡΠΎΠ²ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ 32-Π±ΠΈΡΠΎΠ²ΠΈ Π±ΡΠΎΡΡΠΈ Π½Π° Π²ΡΠ΅ΠΌΠ΅ ΡΠ° Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ Ρ 64-Π±ΠΈΡΠΎΠ²ΠΈ (ΡΠΈΠΏ time_t Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ Ρ time64_t). ΠΠ° 64-Π±ΠΈΡΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΈΠΏΡΡ time64_t ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ (Π±ΡΠΎΡΡΡΡ ΡΠ΅ ΠΏΡΠ΅Π»Π΅Π΅ ΡΠ»Π΅Π΄ 292 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° Π³ΠΎΠ΄ΠΈΠ½ΠΈ). ΠΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ ΠΊΡΠΌ Π½ΠΎΠ²ΠΈΡ ΡΠΈΠΏ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ABI, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ 32-Π±ΠΈΡΠΎΠ²ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ musl libc (Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° 64-Π±ΠΈΡΠΎΠ²ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ).
- ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ° Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Linux ΡΠ΄ΡΠΎΡΠΎ 5.10.138 Ρ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π±Π΅Π·ΠΆΠΈΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ cfg80211/mac80211 ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ 5.15.58 (ΠΏΠΎ-ΡΠ°Π½ΠΎ Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΠ΄ΡΠΎΡΠΎ 5.4 Ρ Π±Π΅Π·ΠΆΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ ΠΎΡ Π²Π΅ΡΡΠΈΡ 5.10), musl libc 1.2.3, glibc 2.34, gcc 11.2.0, binutils 2.37, hostapd 2.10, dnsmasq 2.86, dropbear 2022.82, busybox 1.35.0.
- Π‘ΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ±ΠΎΡΠΊΠΈ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° arc770 (Synopsys DesignWare ARC 770D) Π²Π΅ΡΠ΅ Π΅ Π² ΡΠΈΠ»Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
