Π‘Π»Π΅Π΄ Π³ΠΎΠ΄ΠΈΠ½Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π½ΠΎΠ²Π° Π·Π½Π°ΡΠΈΠΌΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° 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). ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ ath79 (TP-Link TL-WR941ND), bcm4908, gemini, kirkwood, mediatek, mvebu, octeon, ramips (mt7621) ΠΈ realtek Π±ΡΡ Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΈ ΠΊΡΠΌ DSA.
- Π£Π΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ LuCI ΠΈΠΌΠ° ΡΡΠΌΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ΠΆΠΈΠΌΡΡ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈ ΠΈ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅Π· ΠΌΠ΅Π½ΡΡΠΎ βΠ‘ΠΈΡΡΠ΅ΠΌΠ°β -> βΠ‘ΠΈΡΡΠ΅ΠΌΠ°β -> βΠΠ·ΠΈΠΊ ΠΈ ΡΡΠΈΠ»β.
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ 2038, ΠΏΡΠΈΡΠΈΠ½Π΅Π½ ΠΎΡ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° 32-Π±ΠΈΡΠΎΠ²ΠΈΡ ΡΠΈΠΏ time_t (32-Π±ΠΈΡΠΎΠ²ΠΈΡΡ Π±ΡΠΎΡΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° Mythic ΡΠ΅ ΠΏΡΠ΅ΠΏΡΠ»Π½ΠΈ Π½Π° 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