ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ! Π‘Π΅Π³ΠΎΠ΄Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΊΠ°Π» ΡΡΡΠ°ΡΡΠ΅ΠΉ Π²ΠΎΠΊΡΡΠ³ Β«ΡΠ΄Π°Π»ΡΠ½ΠΊΠΈΒ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠ°Π», Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΎΠ² ΠΏΠΎΠ±Π΅Π΄ΠΈΠ»ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΠΊ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅ΡΠΈ, ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΌΠΎΠ΅ΠΉ Π΄Π°Π²Π½Π΅ΠΉ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΏΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ VPN. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΌΠΎΠ΄Π½ΡΡ
Π½ΡΠ½Π΅ IPSec IKEv2 ΠΈ xAuth. Π Π΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΊΠ°ΠΊ Π·Π°ΡΠΈΡΠΈΡΡ MikroTik PPP-VPN Π΄Π°ΠΆΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ Β«ΡΠ³ΠΎΠ½Π°Β» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΡΡΠΊΠΈ. ΠΠΎΠ³Π΄Π° ΡΡΠ° ΡΡ
Π΅ΠΌΠ° Π±ΡΠ»Π° Π²Π½Π΅Π΄ΡΠ΅Π½Π° ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· ΠΌΠΎΠΈΡ
Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ², ΠΎΠ½ ΠΎΡ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°Π» Π΅Π³ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΎ Β«Π½Ρ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΠΊΠ°ΠΊ Π² Π±Π°Π½ΠΊΠ΅!Β».
ΠΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²-Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ². ΠΠ°Π΄Π°ΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ°. ΠΠ΅Π· Π·Π°ΡΡΠ°Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π‘ΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² PC, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΠ±ΡΠ°Ρ ΡΡ Π΅ΠΌΠ° Π·Π°ΡΠΈΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
- ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ IP-Π°Π΄ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ²ΡΠ΅Π³ΠΎΡΡ ΠΊ Π² VPN-ΡΠ΅ΡΠ²Π΅ΡΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² Β«ΡΠ΅ΡΡΠΉΒ» ΡΠΏΠΈΡΠΎΠΊ.
- Π‘ΠΎΠ±ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ².
- ΠΠ΄ΡΠ΅ΡΠ°ΠΌ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΌΡΡ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ° Β«Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°Β», ΠΎΠΆΠΈΠ΄Π°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°-ΠΏΠ°ΡΠΎΠ»Ρ.
- ΠΠΎΡΠ»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΡΠ΅ΡΠΈ.
ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΠΌΠ°Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ, ΡΡΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠΈ Π΅ΠΌΡ ΠΊΠΎΠ΄Π° 2FA. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π² ΠΌΠΈΠΊΡΠΎΡΠΈΠΊΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ, Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΠΎΠ»Π΅ Β«commentΒ»:
/ppp secrets add name=Petrov password=4M@ngr! comment=Β«89876543210Β»
ΠΡΠΎΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ ΠΏΠΎΡΠ΅ΡΡΡΠ·Π½Π΅Π΅ β Π²ΡΠ±ΠΎΡ ΠΏΡΡΠΈ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠ΄Π°. Π ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΡΠΈ ΡΡ
Π΅ΠΌΡ: Π°) SMS ΡΠ΅ΡΠ΅Π· USB-ΠΌΠΎΠ΄Π΅ΠΌ Π±) e-mail Π²) SMS via e-mail Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Π΄Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°.
ΠΠ°, ΡΡ
Π΅ΠΌΡ Ρ SMS ΠΏΡΠΈΠ½ΠΎΡΡΡ Π·Π°ΡΡΠ°ΡΡ. ΠΠΎ Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, Β«Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎ Π΄Π΅Π½ΡΠ³ΠΈΒ» (Ρ).
Π‘Ρ
Π΅ΠΌΠ° Ρ e-mail Π»ΠΈΡΠ½ΠΎ ΠΌΠ½Π΅ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ. ΠΠ΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ Π±Π΅ΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΡΠ» ΠΏΠ°ΡΠΎΠ»ΠΈ Π½Π° ΠΈ Π½Π° vpn ΠΈ Π½Π° ΠΏΠΎΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΡΠ΅ΡΡΠ» ΡΠ²ΠΎΠΉ Π½ΠΎΡΡΠ±ΡΠΊ, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΠΎΠ»ΡΡΠΈΡ Ρ Π½Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅ΡΠΈ.
ΠΡΠ°ΠΊ, ΡΠ΅ΡΠ΅Π½ΠΎ β Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ SMS-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
Π’ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° Π² ΡΠΎΠΌ, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Π² MikroTik ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ 2FA. Π ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ RouterOS Π½Π΅Ρ Π°Π½Π°Π»ΠΎΠ³Π° ΡΡΠ½ΠΊΡΠΈΠΈ random() ΠΈ ΠΏΡΠ΅ΠΆΠ΄Π΅ Ρ Π²ΠΈΠ΄Π΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΡΡΡΠ»ΡΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π». ΠΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ Π² MikroTik ΠΠ‘Π’Π¬! ΠΡΠΈΠΏΡΡΡΠ°Π½ ΠΎΠ½ ΠΎΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π³Π»ΡΠ΄Π° Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ /certificates scep-server. ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ Π»Π΅Π³ΠΎΠΊ ΠΈ ΠΏΡΠΎΡΡ β ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ /certificates scep-server otp generate. ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° array, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ .
ΠΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠΎΠ»Ρ ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°
ΠΠΎΠ΄
:global rnd1 [:pick ([/tool fetch url="https://www.random.org/strings/?num=1&len=7&digits=on&unique=on&format=plain&rnd=new" as-value output=user ]->"da
ta") 1 6]
:put $rnd1
ΠΠ°ΠΏΡΠΎΡ ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ (Π² ΡΠ΅Π»Π΅ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²) ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ ΠΈΠ· ΡΠ΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²-ΡΠΈΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $rnd1. Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«putΒ» ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ MikroTik.
Π§Π΅ΡΠ²Π΅ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΡΠ΅ΡΠ°ΡΡ β ΡΡΠΎ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈ ΠΊΡΠ΄Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π½Π° Π²ΡΠΎΡΠΎΠΉ ΡΡΠ°Π΄ΠΈΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠ° ΡΠΎΡΡΠ΅ΡΠ΅ MikroTik Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ»ΡΠΆΠ±Π° ΡΠΏΠΎΡΠΎΠ±Π½Π°Ρ ΠΏΡΠΈΠ½ΡΡΡ ΠΊΠΎΠ΄ ΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ. ΠΡΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌ Π°Π΄ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΏΠ°ΡΡΡ Π² Π½Π΅ΠΊΠΈΠΉ Β«Π±Π΅Π»ΡΠΉΒ» ΡΠΏΠΈΡΠΎΠΊ, Π°Π΄ΡΠ΅ΡΠ°ΠΌ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ΅ΡΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
ΠΠ²ΠΈΠ΄Ρ Π½Π΅Π±ΠΎΠ³Π°ΡΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ° ΡΠ»ΡΠΆΠ±, Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΠ΄Ρ ΠΏΠΎ http ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΌΠΈΠΊΡΠΎΡΠΈΠΊ webproxy. Π ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π΅ΡΠ²ΠΎΠ» ΡΠΌΠ΅Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ IP-Π°Π΄ΡΠ΅ΡΠΎΠ², ΡΠΎ ΠΏΠΎΠΈΡΠΊ ΠΊΠΎΠ΄Π°, ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ IP ΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΠ΅ Π² Β«Π±Π΅Π»ΡΠΉΒ» ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π΅ΡΠ²ΠΎΠ» ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Layer7 regexp. Π‘Π°ΠΌΠΎΠΌΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ DNS-ΠΈΠΌΡ Β«gw.localΒ», Π½Π° Π½Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π-Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ Π²ΡΠ΄Π°ΡΠΈ PPP-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ:
DNS
/ip dns static add name=gw.local address=172.31.1.1
ΠΠ°Ρ
Π²Π°Ρ Π½Π° ΠΏΡΠΎΠΊΡΠΈ ΡΡΠ°ΡΠΈΠΊΠ° Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²:
/ip firewall nat add chain=dstnat dst-port=80,443 in-interface=2fa protocol=tcp !src-address-list=2fa_approved action=redirect to-ports=3128
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΠΏΡΠΎΠΊΡΠΈ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
1. ΠΡΠΊΡΡΠ²Π°ΡΡ tcp-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ;
2. Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π°Π΄ΡΠ΅ΡΠΎΠ²Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΊΡ ΠΈΠ»ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ·Π²Π΅ΡΠ°ΡΡΡΡ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ:
Proxy config
/ip proxy
set enabled=yes port=3128
/ip proxy access
add action=deny disabled=no redirect-to=gw.local./mikrotik_logo.png src-address=0.0.0.0/0
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Ρ Π²Π°ΠΆΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ:
- interface-list Β«2faΒ» β Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΡΠ°ΡΠΈΠΊ Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ 2FA;
- address-list Β«2fa_jailedΒ» β Β«ΡΠ΅ΡΡΠΉΒ» ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ½Π½Π΅Π»ΡΠ½ΡΡ IP-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² VPN;
- address_list Β«2fa_approvedΒ» β Β«Π±Π΅Π»ΡΠΉΒ» ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ½Π½Π΅Π»ΡΠ½ΡΡ IP-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² VPN, ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΡ Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
- ΡΠ΅ΠΏΠΎΡΠΊΠ° ΡΠ°Π΅ΡΠ²ΠΎΠ»Π° Β«input_2faΒ» β Π² Π½Π΅ΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° tcp-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠΎΠ΄Π° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ IP-Π°Π΄ΡΠ΅ΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΊΠΎΠ΄Π° Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΌ. ΠΡΠ°Π²ΠΈΠ»Π° Π² ΡΠ΅ΠΏΠΎΡΠΊΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ.
Π£ΠΏΡΠΎΡΠ΅Π½Π½Π°Ρ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠ»Ρ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ Π² ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎ Layer7 ΡΡΠ°ΡΠΈΠΊΠ° ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈΠ· Β«ΡΠ΅ΡΠΎΠ³ΠΎΒ» ΡΠΏΠΈΡΠΊΠ° Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΡ Π²ΡΠΎΡΠΎΠΉ ΡΡΠ°ΠΏ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠ΅ Β«inputΒ» ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ:
ΠΠΎΠ΄
/ip firewall filter add chain=input !src-address-list=2fa_approved action=jump jump-target=input_2fa
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΡΠ½Π΅ΠΌ ΠΏΡΠΈΠΊΡΡΡΠΈΠ²Π°ΡΡ Π²ΡΡ ΡΡΠΎ Π±ΠΎΠ³Π°ΡΡΡΠ²ΠΎ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ PPP. MikroTik ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π² ΠΏΡΠΎΡΠΈΠ»ΡΡ (ppp-profile) ΠΈ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΠΈΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ°Π·ΡΡΠ²Π° ppp-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ppp-profile ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ PPP-ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ profile ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°Ρ ΡΠ²ΠΎΠΈΠΌΠΈ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ profile Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ Π΄Π»Ρ Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½ΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π½Π°Π·Π½Π°ΡΠΈΡΡ Π΅Π³ΠΎ Π½Π΅ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌ, ΠΊΠΎΠΌΡ ΡΡΠΈΡΠ°Π΅ΠΌ Π½ΡΠΆΠ½ΡΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΡΠ»ΡΠΆΠ±Ρ PPP Ρ Π²Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ site-to-site ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ.
ΠΠΎ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΠΈΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ²ΡΠ΅Π³ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Β«ΡΠ΅ΡΡΠ΅Β» ΡΠΏΠΈΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²:
ΠΠΎΠ΄
/ppp profile add address-list=2fa_jailed change-tcp-mss=no local-address=192.0.2.254 name=2FA interface-list=2fa only-one=yes remote-address=dhcp_pool1 use-compression=no use-encryption= required use-mpls=no use-upnp=no dns-server=172.31.1.1
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠΏΠΈΡΠΊΠΈ Β«address-listΒ» ΠΈ Β«interface-listΒ» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈ Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΎΡ Π½Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΡ Π²ΡΠΎΡΠΈΡΠ½ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ VPN-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ dstnat (prerouting).
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΡΠ°Π΅ΡΠ²ΠΎΠ»Π° ΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ ΡΠΎΠ·Π΄Π°Π½Ρ, Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° Π°Π²ΡΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° 2FA ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΈΠ» ΡΠ°Π΅ΡΠ²ΠΎΠ»Π°.
ΠΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΠΏΡΠΎΡΠΈΠ»Π΅ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ PPP on-up
#ΠΠΎΠ³ΠΈΡΡΠ΅ΠΌ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ :log info (
quot;local-address")
:log info (quot;remote-address")
:log info (quot;caller-id")
:log info (quot;called-id")
:log info ([/int pptp-server get (quot;interface") name])
#ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΡΠ²ΠΎΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
:local listname "2fa_jailed"
:local viamodem false
:local modemport "usb2"
#ΠΈΡΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ Π² Π°Π΄ΡΠ΅Ρ-Π»ΠΈΡΡΠ΅ "2fa_jailed"
:local recnum1 [/ip fi address-list find address=(quot;remote-address") list=$listname]
#ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ΅Π· random.org
#:local rnd1 [:pick ([/tool fetch url="https://www.random.org/strings/?num=1&len=7&digits=on&unique=on&format=plain&rnd=new" as-value output=user]->"data") 0 4] #Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ΅Π· Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ
#:local rnd1 [pick ([/cert scep-server otp generate as-value minutes-valid=1]->"password") 0 4 ]#ΠΡΠ΅ΠΌ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ ΠΊ Π·Π°ΠΏΠΈΡΠΈ Π² Π°Π΄ΡΠ΅Ρ-Π»ΠΈΡΡΠ΅. ΠΠ½ΠΎΡΠΈΠΌ ΠΈΡΠΊΠΎΠΌΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
/ip fir address-list set $recnum1 comment=$rnd1
#ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΊΡΠ΄Π° ΡΠ»Π°ΡΡ SMS
:local vphone [/ppp secret get [find name=$user] comment]#ΠΠΎΡΠΎΠ²ΠΈΠΌ ΡΠ΅Π»ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ VPN ΠΏΡΡΠΌΠΎ Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π΅ΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ
#Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΡΡΠΌΠΎ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΈΠ· ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
:local msgboby ("Your code: ".$comm1."n Or open link http://gw.local/otp/".$comm1."/")# ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ SMS ΠΏΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ - USB-ΠΌΠΎΠ΄Π΅ΠΌ ΠΈΠ»ΠΈ email-to-sms
if $viamodem do={
/tool sms send phone-number=$vphone message=$msgboby port=$modemport }
else={
/tool e-mail send server=a.b.c.d [email protected] [email protected] subject="@".$vphone body=$msgboby }#ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ Layer7 regexp
local vregexp ("otp\/".$comm1)
:local vcomment ("2fa_".(quot;remote-address"))
/ip firewall layer7-protocol add name=(quot;vcomment") comment=(
quot;remote-address") regexp=(
quot;vregexp")
#ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΠ΅Π΅ ΠΏΠΎ Layer7 ΡΡΠ°ΡΠΈΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
#ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π·Π°ΡΠΈΡΠΎΠΉ ΠΎΡ Π±ΡΡΡΡΠΎΡΡΠ° ΠΊΠΎΠ΄ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ dst-limit
/ip firewall filter add action=add-src-to-address-list address-list=2fa_approved address-list-timeout=none-dynamic chain=input_2fa dst-port=80,443,3128 layer7-protocol=(quot;vcomment") protocol=tcp src-address=(
quot;remote-address") dst-limit=1,1,src-address/1m40s
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ Π±Π΅Π·Π΄ΡΠΌΠ½ΠΎ ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Ρ β ΠΊΠΎΠ΄ Π²Π·ΡΡ Ρ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠ΅ΠΏΡΡΠΊΠΈ. Π Π°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ ΡΡΡΠ΄Π° Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ.ΠΡΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ Β«On-DownΒ» ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠ°Π΄Π°ΡΠ° ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° β ΠΏΠΎΡΠΈΡΡΠΈΡΡ Π·Π° ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°Π΅ΡΠ²ΠΎΠ»Π°, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠΈΠ²ΡΠ΅Π³ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΠΏΡΠΎΡΠΈΠ»Π΅ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ PPP on-down
:local vcomment ("2fa_".(
quot;remote-address"))
/ip firewall address-list remove [find address=(quot;remote-address") list=2fa_approved] /ip firewall filter remove [find chain="input_2fa" src-address=(
quot;remote-address") ] /ip firewall layer7-protocol remove [find name=$vcomment]
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π½Π°Π·Π½Π°ΡΠ°ΡΡ Π²ΡΠ΅ΠΌ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠ· Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ»Ρ Ρ Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½ΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ.winbox
ΠΠΎΠ΄
/ppp secrets set [find name=Petrov] profile=2FA
ΠΠ°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ VPN-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½/ΠΏΠ»Π°Π½ΡΠ΅Ρ Π½Π° Π°Π½Π΄ΡΠΎΠΈΠ΄/iOS Ρ ΡΠΈΠΌ-ΠΊΠ°ΡΡΠΎΠΉ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ SMS ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°:
SMSΠΊΠ°
ΠΡΠ»ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°/ΠΏΠ»Π°Π½ΡΠ΅ΡΠ°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ 2FA ΠΏΡΠΎΡΡΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡΠ² ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΡΠ»ΠΈ VPN-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Ρ PC, ΡΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠΎΠ»Ρ. ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠΎΡΠΌΠ° Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΉΠ»Π° HTML ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ VPN. Π€Π°ΠΉΠ»ΠΈΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ»Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΠ» Π΅Π³ΠΎ Ρ ΡΠ΅Π±Ρ ΠΈ ΡΠΎΠ·Π΄Π°Π» ΡΡΠ»ΡΠΊ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ:
Π―ΡΠ»ΡΠΊ Π½Π° ΡΡΠΎΠ»Π΅
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠ»ΠΊΠ°Π΅Ρ ΠΌΡΡΠΊΠΎΠΉ ΠΏΠΎ ΡΡΠ»ΡΠΊΡ, ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠ°Ρ ΡΠΎΡΠΌΠ° Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠ°Π²ΠΈΡ ΠΊΠΎΠ΄ Π² ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌΡΠΉ URL:
Π‘ΠΊΡΠΈΠ½ ΡΠΎΡΠΌΡ
Π€ΠΎΡΠΌΠ° ΡΠ°ΠΌΠ°Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½Π°Ρ, Π΄Π°Π½Π° Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°. ΠΠ΅Π»Π°ΡΡΠΈΠ΅ ΠΌΠΎΠ³ΡΡ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ.
2fa_login_mini.html
<html> <head> <title>SMS OTP login</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <form name="login" action="location.href='http://gw.local/otp/'+document.getElementById(βtext').value" method="post" <input id="text" type="text"/> <input type="button" value="Login" onclick="location.href='http://gw.local/otp/'+document.getElementById('text').value"/> </form> </body> </html>
ΠΡΠ»ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΡΠ²ΠΈΠ΄ΠΈΡ Π»ΠΎΠ³ΠΎ MikroTik, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ»ΡΠΆΠΈΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ:
ΠΠ°ΠΌΠ΅ΡΡ, ΡΡΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΈΠ· Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ web-ΡΠ΅ΡΠ²Π΅ΡΠ° MikroTik Ρ ΠΏΠΎΠΌΠΎΡΡΡ WebProxy Deny Redirect.
ΠΠΎΠ»Π°Π³Π°Ρ, ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Β«hotspotΒ», Π·Π°Π³ΡΡΠ·ΠΈΠ² ΡΡΠ΄Π° ΡΠ²ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈ Π·Π°Π΄Π°Π² Π½Π° Π½Π΅Π³ΠΎ Deny Redirect URL Ρ WebProxy.
ΠΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΡΡΠ±Π° ΠΊ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΊΡΠΏΠΈΠ² ΡΠ°ΠΌΡΠΉ Π΄Π΅ΡΠ΅Π²ΡΠΉ Β«ΠΈΠ³ΡΡΡΠ΅ΡΠ½ΡΠΉΒ» ΠΌΠΈΠΊΡΠΎΡΠΈΠΊ Π·Π° $20, Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ Π·Π° $500 β Π½Π΅ Π½Π°Π΄ΠΎ ΡΠ°ΠΊ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ. Π£ΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠΈΠΏΠ° Β«hAP LiteΒ»/Β«hAP miniΒ» (home access point) ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ»Π°Π±ΡΠΉ CPU(smips), ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π½Π΅ ΡΠΏΡΠ°Π²ΡΡΡΡ Ρ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π² Π±ΠΈΠ·Π½Π΅Ρ-ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅.
Warning! Π£ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠ½ΡΡ: ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ-ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ½Π΅ΡΠ³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ°ΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ -ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ , ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ Π² ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ΅.
P.S.: ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Ρ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Ρ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π²Π°ΡΠΈΡ Π²Π°ΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² telegram ΠΈΠ»ΠΈβ¦ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΠΉΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ!
ΠΠ°Π΄Π΅ΡΡΡ ΡΡΠ°ΡΡΡ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠΈ ΠΌΠ°Π»ΠΎΠ³ΠΎ ΠΈ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ Π±ΠΈΠ·Π½Π΅ΡΠ° Π΅ΡΠ΅ ΡΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com