Π‘Π»ΠΎΠΆΠΈΠ»ΠΎΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠΈ (ΡΡΠΊΡΠ°ΡΠ΅Π½ΠΎ: ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ) ΠΈ ΠΈΠΌΠ°ΠΌ Π½Π°Π΄ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΎΠΏΠΈΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ Ρ ΡΠ°ΠΊΠΈΠ²Π°, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ [ΠΏΠΎ|Π·Π°]Π²ΠΈΡΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΊΠΈ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΎΡΠΊΡΠΈΡ
, ΡΠ΅ ΡΠ΅ΠΌΠ°ΡΠ° ΠΌΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°. , ΠΈ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π³ΠΎ ΠΏΠΎΠ»Π·Π²Π°Ρ
, Π° ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Ρ
Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠΈΠΊΡΠΎ-ΡΠ΅ΡΠ²ΠΈΠ·Π°, Π·Π° Π΄Π° Π½Π°ΡΡΠ° ΠΊΠ°ΠΊ Π΄Π° ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Ρ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π½Π° Π±ΠΈΡΠΊΠΎΠΉΠ½ (ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° Π΅, p2p Π΅). Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½Π΅ ΡΡΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π½ΠΎ Π½Π΅ ΡΠΎΠ²Π° ΠΌΠΈ Π΅ ΡΠ΅ΠΌΠ°ΡΠ°, Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π°ΡΠ° ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΡΡΠ΅Π΄Π° Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. devΠ€ΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈΡΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (
fintech) Π²ΡΡΠ²ΡΡ ΡΡΠΊΠ° Π·Π° ΡΡΠΊΠ° Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ (infosec), Π° ΠΏΡΡΠ²ΠΎΡΠΎ Π±Π΅Π· Π²ΡΠΎΡΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ, Π½ΠΎ Π½Π΅ Π·Π° Π΄ΡΠ»Π³ΠΎ. ΠΠΌΠ΅Π½Π½ΠΎ Π·Π°ΡΠΎΠ²Π° ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ ΡΠ²ΠΎΡ ΠΎΠΏΠΈΡ ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ, ΠΈ ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΊΠ°ΠΊΡΠΎ, Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠ°ΠΊΠ° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΠΏΠΎ-ΡΠΈΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΡΡΠ²ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π»ΠΈ. Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ° Π½Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π·Π° Π±ΠΈΡΠΊΠΎΠΉΠ½, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π·Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΠΈ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ Π½Π° ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ (ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ) ΡΡΠ»ΡΠ³ΠΈ β Ρ Π΅Π΄Π½Π° Π΄ΡΠΌΠ°, Π·Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅, ΠΊΡΠ΄Π΅ΡΠΎ βΠβ ΠΈΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠΎ ΠΊΠ°ΠΊΡΠΎ Π·Π° Π±ΠΈΡΠΊΠΎΠΉΠ½ Π±ΠΎΡΡΠ°, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΡΠΈΠΏΠΈΡΠ΅Π½ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π΅Π½ Π·ΠΎΠΎΠΏΠ°ΡΠΊ Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π½Π° ΠΌΠ°Π»ΠΊΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, ΠΊΠΎΡΡΠΎ Π½ΡΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²Π° Π²ΡΡΠ·ΠΊΠ° Ρ Π±ΠΈΡΠΊΠΎΠΉΠ½. ) Π²ΡΡΠ²ΡΡ ΡΡΠΊΠ° Π·Π° ΡΡΠΊΠ° Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ (, ΡΠ°ΠΊΠ° ΠΈ ), Π° ΠΏΡΡΠ²ΠΎΡΠΎ Π±Π΅Π· Π²ΡΠΎΡΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ, Π½ΠΎ Π½Π΅ Π·Π° Π΄ΡΠ»Π³ΠΎ. ΠΠΌΠ΅Π½Π½ΠΎ Π·Π°ΡΠΎΠ²Π° ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ ΡΠ²ΠΎΡ ΠΎΠΏΠΈΡ ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ, ΠΈ ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΊΠ°ΠΊΡΠΎΠΡΠΊΠ°ΠΌ Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠ°, ΡΠ΅ ΡΡΠΌ ΠΏΡΠΈΠ²ΡΡΠΆΠ΅Π½ΠΈΠΊ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅
Β«keep it stupid simpleΒ» Β«less is moreΒ» ΠΈ , Π·Π°ΡΠΎΠ²Π° ΠΊΠ°ΠΊΡΠΎ ΡΡΠ°ΡΠΈΡΡΠ°, ΡΠ°ΠΊΠ° ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΎΡΠΎ Π² Π½Π΅Ρ ΡΠ΅ ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π°Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ.ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅ΡΠ΅ ΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ:
ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΉ: ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Π±ΠΈΡΠΊΠΎΠΉΠ½ ΠΎΠ±ΠΌΠ΅Π½Π½ΠΈΠΊ. Π Π΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΡΡΠ±Π»ΠΈ, Π΄ΠΎΠ»Π°ΡΠΈ ΠΈ Π΅Π²ΡΠΎ Π·Π° Π±ΠΈΡΠΊΠΎΠΉΠ½ΠΈ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, ΠΈ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈ ΡΠΈΡΡΠΎΠ²ΠΈ Π²Π°Π»ΡΡΠΈ ΠΊΠ°ΡΠΎ Qiwi ΠΈ WebMoney, Ρ.Π΅. Π·Π°ΠΊΡΠΈΠ»ΠΈ ΡΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΡΠΎΡΠΈ, ΠΈ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅ Ρ Π³ΠΎΡΠΎΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΠΊΠ°ΡΠΎ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅Π½ ΡΠ»ΡΠ· Π·Π° ΡΡΠ±Π»ΠΈ, Π΄ΠΎΠ»Π°ΡΠΈ ΠΈ Π΅Π²ΡΠΎ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π’ΠΎ Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Π½Π°ΡΠΈΡΠ΅ Π±Π°Π½ΠΊΠΎΠ²ΠΈ ΡΠΌΠ΅ΡΠΊΠΈ ΠΈ ΠΈΠΌΠ° API Π·Π° Π½Π°ΡΠΈΡΠ΅ ΠΊΡΠ°ΠΉΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°ΡΠΎ ΠΊΠ°ΡΠΎ ΠΎΠ±ΠΌΠ΅Π½Π½ΠΈΠΊ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΡΠΈΠΏΠΈΡΠ½ΠΈΡ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ Π½Π° Qiwi ΠΈΠ»ΠΈ WebMoney β ΡΡΠ·Π΄Π°ΠΉΡΠ΅ Π°ΠΊΠ°ΡΠ½Ρ, Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ ΠΊΠ°ΡΡΠ° ΠΈ ΡΠ°ΠΊΠ° Π½Π°ΡΠ°ΡΡΠΊ. Π’ΠΎ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ° Ρ Π½Π°ΡΠ΅ΡΠΎ ΡΠ»ΡΠ·ΠΎΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠ΅Π· REST API Π² Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. Π ΡΠ°ΠΊΠ°, ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΠΌ Π±ΠΈΡΠΊΠΎΠΉΠ½ΠΈ ΠΈ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π²ΡΠΈΡΠΊΠΎ Π±Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΎ Π½Π° VirtualBox Π½Π° ΠΎΡΠΈΡ Π±ΡΡΠΎΡΠΎ... ΡΠ°ΠΉΡΡΡ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π° Π½ΠΈΠ΅ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΡΠ΅ΡΠ½ΡΠ²Π°ΠΌΠ΅ Π·Π° uptime ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ.
Π ΡΠ°ΠΊΠ°, Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ β ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΡΡΠ²ΡΡ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π±ΠΈΠ·Π½Π΅ΡΡΡ Π² Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΅ ΠΌΠ°Π»ΡΠΊ ΠΈ Π½ΠΈΠ΅ Π΄ΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π½Π° Ρ ΠΎΡΡΠ΅ΡΠ° (OVH), ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ Π² ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅Π½ ΠΎΠ±ΡΠ°Π· .iso, Π½ΠΎ Π½Π΅ Π΅ Π±Π΅Π΄Π°, ΠΎΡΠ΄Π΅Π»ΡΡ ΠΏΠΎ ΠΠ’ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·. Π ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΠ°ΡΠ½Π΅ΠΌ, ΡΠ΅ Π½Π°Π΅ΠΌΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΠΊΠ°Ρ Ρ ΠΊΠ»ΡΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏ, Π° ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π΄ΠΎΡΠΈ ΡΠ΅ ΠΏΠΎΡΡΡΠΎΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡ. ΠΡΠ² Π²ΡΠ΅ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΉ, Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠΌΠ½ΠΈ, ΡΠ΅ ΠΏΡΠΈ Π½Π°Π΅ΠΌΠ°Π½Π΅ Π½Π° Ρ Π°ΡΠ΄ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π³ΠΎΡΠΎΠ²ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ, ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΠΈΡΠΊ Π²ΡΠ² Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π° ΠΈΠΌΠ° βΡΡΠΎΡΠ½ ΠΎΡ Ρ ΠΎΡΡΠ΅ΡΠ°β, ΠΊΠΎΠΉΡΠΎ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ Π½Π΅ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΡΠ»Π΅Π΄Π΅Π½Π΅ Π½Π° Π²Π°Ρ, Π° Π·Π° ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ²Π΅ΡΠ°.
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡ
Π’ΡΠΊ Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ. ΠΠ·Π±ΠΈΡΠ°ΠΌΠ΅ Ρ Π°ΡΠ΄ΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ ΠΎΠ±ΡΠ°Π· Π½Π° FreeBSD. ΠΠ»ΠΈ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°ΠΌΠ΅ (Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π΄ΡΡΠ³ Ρ ΠΎΡΡΠ΅Ρ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Ρ Π°ΡΠ΄ΡΡ) ΡΡΠ΅Π· IPMI ΠΈΠ»ΠΈ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°ΠΌΠ΅ .iso ΠΎΠ±ΡΠ°Π·Π° Π½Π° FreeBSD. ΠΠ° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΎΠ½Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ΠΈ . ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ, Π² Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Ρ Kimsufi, ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π·Π° Π΄Π° ΠΈΠΌΠ°Ρ Π΄Π²Π°ΡΠ° Π΄ΠΈΡΠΊΠ° Π² ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎ βΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈβ ΡΠ°ΠΌΠΎ Π·Π° Π΄ΡΠ»ΠΎΠ²Π΅ΡΠ΅ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΈ \/home, ΠΎΡΡΠ°Π½Π°Π»ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° Π΄ΠΈΡΠΊΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΎ, Π½ΠΎ Π·Π° ΡΠΎΠ²Π° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ.

ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΡΠ°Π²Π° ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ Π½Π°ΡΠΈΠ½, Π½ΡΠΌΠ° Π΄Π° ΡΠΏΠΈΡΠ°ΠΌ Π½Π° ΡΠΎΠ²Π°, ΡΠ°ΠΌΠΎ ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠ°, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° Π΅ Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠΈΠ»Π²Π°Π½Π΅ ΠΎΠΏΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π° bsdinstaller Π² ΠΊΡΠ°Ρ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° (Π°ΠΊΠΎ ΡΠ°ΠΌΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°):

ΠΠΌΠ° ΠΏΠΎ ΡΠ°Π·ΠΈ ΡΠ΅ΠΌΠ°, Π½Π°ΠΊΡΠ°ΡΠΊΠΎ ΡΠ΅ Π³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡ ΡΡΠΊ.
ΠΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π° Π²Π΅ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ° ΡΠ΅Π»ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°ΡΠ° ΠΈ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ. *ee β ΡΠΎΠ²Π° Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π² BSD
# ee /etc/rc.conf
...
#sec hard
clear_tmp_enable="YES"
syslogd_flags="-ss"
sendmail_enable="NONE"
# ee /etc/sysctl.conf
...
#sec hard
security.bsd.see_other_uids=0
security.bsd.see_other_gids=0
security.bsd.unprivileged_read_msgbuf=0
security.bsd.unprivileged_proc_debug=0
kern.randompid=$(jot -r 1 9999)
security.bsd.stack_guard_page=1Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΈ . Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠΏΠ³ΡΠ΅ΠΉΠ΄ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π·ΠΈ ΠΈΠ·ΠΎΡΡΠ°Π²Π°Ρ Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ Π΄ΠΎ Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°. Π ΡΠ°ΠΌ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ SSH ΠΏΠΎΡΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΎΡ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°ΡΠΈΡ ΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡ Ρ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΌΠ΅ ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ aide, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ .
pkg install aide
ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΌΠ΅ Π½Π°ΡΠΈΡ ΠΊΡΠΎΠ½ΡΠ°Π±
crontab -e
06 01 * * 0-6 /root/chkaide.sh
#! /bin/sh
#chkaide.sh
MYDATE=`date +%Y-%m-%d`
MYFILENAME="Aide-"$MYDATE.txt
/bin/echo "Aide check !! `date`" > /tmp/$MYFILENAME
/usr/local/bin/aide --check > /tmp/myAide.txt
/bin/cat /tmp/myAide.txt|/usr/bin/grep -v failed >> /tmp/$MYFILENAME
/bin/echo "**************************************" >> /tmp/$MYFILENAME
/usr/bin/tail -20 /tmp/myAide.txt >> /tmp/$MYFILENAME
/bin/echo "****************DONE******************" >> /tmp/$MYFILENAMEΠΠΊΠ»ΡΡΠ²Π°ΠΌΠ΅
sysrc auditd_enable=YES
# service auditd start
ΠΠ°ΠΊ Π΄Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°ΠΌΠ΅ ΡΠΎΠ²Π° Π΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² .
Π‘Π΅Π³Π° ΠΏΠ΅ΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΊΡΠΌ ΡΠΎΡΡΡΠ΅ΡΠ° Π½Π° ΡΡΡΠ²Π΅ΡΠ°. ΠΡΠ΅ΠΊΠΈ ΡΡΡΠ²ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠ»Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ. ΠΠ°ΡΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ, ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° VT-x ΠΈ EPT, Π°ΠΊΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΡΠ»Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
ΠΠ°ΡΠΎ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΠΌΡΠ½Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ΠΎΡ , ΠΆΠ΅Π»Π°Ρ ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π΄ΡΠ°Π²Π΅ ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π΅Π½ΡΡΠ²ΠΈΠ΅ Π·Π° ΡΠ°Π·ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½Π° ΡΡΠΈΠ»ΠΈΡΠ°!
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ? ΠΠ°ΠΊ Π»ΠΈ docker?
Π Π΅ΡΠΎ ΠΈ Π½Π΅. β ΡΠΎΠ²Π° Π΅ ΠΎΡΠ»ΠΈΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΡ, Π° ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡΡ cbsd Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π½Π°ΡΠΈΡΠ° β ΠΊΠ»Π΅ΡΠΊΠΈ.
ΠΠ»Π΅ΡΠΊΠ°ΡΠ° Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π»ΠΈ, ΠΏΡΠΈ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΡΠ»Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ. ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ²Π° Π΅ ΠΊΠ»ΠΎΠ½ΠΈΠ½Π³ Π½Π° Ρ ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π½ΠΎ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΡΠ»Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ°. Π’Π°ΠΊΠ° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π΅ ΡΠ΅ Ρ Π°ΡΡΠ°Ρ Π·Π° "Π³ΠΎΡΡΠΎΠΏΡΠΈΠ΅ΠΌΠ½Π° ΠΠ‘", Π° ΡΠ°ΠΌΠΎ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ°. ΠΠΎΠ³Π°ΡΠΎ ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° Π²ΡΡΡΠ΅ΡΠ½ΠΈ Π½ΡΠΆΠ΄ΠΈ, ΡΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠ° β ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ»Π΅ΡΠΊΠΈ Π½Π° Π΅Π΄ΠΈΠ½ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠ³Π°Ρ Π²ΡΡΠΊΠ° ΠΏΠΎΠΎΡΠ΄Π΅Π»Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ΅Π»ΠΈΡ ΡΠ΅ΡΡΡΡ Π½Π° ΡΡΡΠ²ΡΡΠ° ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ. ΠΠ°ΡΠΎ ΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄, ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΠ²ΠΈΠ·ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠΌΠ°Ρ Π½ΡΠΆΠ΄Π° ΠΎΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ, Π°ΠΊΠΎ ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΈ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ²ΡΡΠΈΡΠ΅. ΠΡΠΈ Π½ΡΠΆΠ΄Π° Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π½Π°Π»ΠΎΠΆΠ°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ.

Π ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΊΠ°ΠΆΠ΅Ρ Π·Π° ΠΏΡΠ»Π½Π°ΡΠ° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ?
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, cbsd ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π±ΠΎΡΠ° bhyve ΠΈ XEN Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΈ. ΠΡΠΎΡΠΈΡΡ Π½Π΅ ΡΡΠΌ ΠΏΠΎΠ»Π·Π²Π°Π», Π½ΠΎ ΠΏΡΡΠ²ΠΈΡΡ Π΅ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ»Π°Π΄ . Π ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ bhyve Π² ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠΎ-Π΄ΠΎΠ»Ρ.
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Ρ ΠΎΡΡ ΠΎΠΊΠΎΠ»Π½Π° ΡΡΠ΅Π΄Π°.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π’ΠΎΠ²Π° Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΡΡΠ²Π΅ΡΠ°. Π‘ ZFS ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡ Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅ Π΄Π° ΡΡΡΠΎΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ²ΠΈ Ρ Π½Π°ΠΉ-ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π΄Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ "Π½Π° Π³ΠΎΡΠ΅ΡΠΎ", Π΄Π° ΡΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠΎΠ²ΡΠ΅Π΄Π΅Π½ΠΈ Π΄ΠΈΡΠΊΠΎΠ²Π΅, Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π±ΠΈ ΠΌΠΎΠ³Π»ΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΡΠ»Π° ΡΠ΅ΡΠΈΡ ΡΡΠ°ΡΠΈΠΈ. ΠΡΡΠ½Π΅ΠΌ ΡΠ΅ ΠΊΡΠΌ Π½Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²Π΅. Π Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° ΠΎΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈ. ΠΠ°ΡΠΎ ΡΠ°ΠΊΠ°? Π’ΠΎΠ²Π° Π΅, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈ Π΄Π° ΡΠ»ΡΡΠ° ΠΏΠΎ SSH.
gpart add -t freebsd-zfs /dev/ada0
/dev/ada0p4 added!
Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ ΡΠ°Π·Π΄Π΅Π» Π½Π° Π΄ΠΈΡΠΊΠ° Π² ΠΎΡΡΠ°Π²Π°ΡΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ.
geli init /dev/ada0p4
Π²ΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅.
geli attach /dev/ada0p4
ΠΎΡΠ½ΠΎΠ²ΠΎ Π²ΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ /dev/ada0p4.eli β ΡΠΎΠ²Π° Π΅ Π½Π°ΡΠ΅ΡΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΠΎΠ²ΡΠ°ΡΡΠΌΠ΅ ΡΡΡΠΎΡΠΎ Π·Π° /dev/ada1 ΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²Π΅ Π² ΠΌΠ°ΡΠΈΠ²Π°. Π ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ Π½ΠΎΠ² .
zpool create vms mirror /dev/ada0p4.eli /dev/ada1p4.eli /dev/ada3p4.eli β Π΅ΡΠΎ, ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ Π±ΠΎΠ΅Π½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ. ΠΠ΅ΡΠΊΠ°Π»Π΅Π½ ΠΌΠ°ΡΠΈΠ² ΠΎΡ Π΄ΠΈΡΠΊΠΎΠ²Π΅ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΠΈΡΠ΅.
Π‘ΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ dataset Π½Π° Π½ΠΎΠ²ΠΈΡ "pool"
zfs create vms/jails
pkg install cbsd β ΡΡΠ°ΡΡΠΈΡΠ°Ρ
ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π·Π° Π½Π°ΡΠΈΡΠ΅ jail-ΠΈ.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ cbsd Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½, ΡΠΎΠΉ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½:
# env workdir="/vms/jails" /usr/local/cbsd/sudoexec/initenv
ΠΈ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΠΌΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΡΠΎΡΠΈ, ΠΎΡΠ½ΠΎΠ²Π½ΠΎ Ρ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
*ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅, Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡ cbsdd Π΄Π° Π½Π΅ ΡΡΠ°ΡΡΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ, Π΄ΠΎΠΊΠ°ΡΠΎ Π½Π΅ Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅ ΡΡΡΠ½ΠΎ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ (Π² Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ²Π° ΠΏΡΠ°Π²ΠΈ zabbix)
**Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ NAT ΠΎΡ cbsd, Π° Π³ΠΎ Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΠΌ ΡΠ°ΠΌ Π² pf.
# sysrc pf_enable=YES
# ee /etc/pf.conf
IF_PUBLIC="em0"
IP_PUBLIC="1.23.34.56"
JAIL_IP_POOL="192.168.0.0/24"
#WHITE_CL="{ 127.0.0.1 }"
icmp_types="echoreq"
set limit { states 20000, frags 20000, src-nodes 20000 }
set skip on lo0
scrub in all
#NAT Π·Π° jail-ΠΎΠ²Π΅
nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC
## ΠΠΎΡΡ Π·Π° Bitcoin ΠΌΡΠ΅ΠΆΠ° Π½Π°ΠΏΡΠ΅Π΄
IP_JAIL="192.168.0.1"
PORT_JAIL="{8333}"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL
# service pf start
# pfctl -f /etc/pf.conf
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΡΠ°Π΅ΡΠ²ΠΎΠ»Π° Π΅ ΡΡΡΠΎ ΠΎΡΠ΄Π΅Π»Π½Π° ΡΠ΅ΠΌΠ°, Π·Π°ΡΠΎΠ²Π° Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ°Π²Π°ΠΌ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° BLOCK ALL ΠΈ Π±Π΅Π»ΠΈΡΠ΅ ΡΠΏΠΈΡΡΡΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ, ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΡ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎ ΡΡΠ°ΡΠΈΠΈ, Π½Π°Π»ΠΈΡΠ½ΠΈ Π² Google.
ΠΠ°ΠΊΠ²ΠΎ ΠΏΡΠΊ... ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Ρ ΠΌΠ΅ cbsd, Π²ΡΠ΅ΠΌΠ΅ Π΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π½Π°ΡΠΈΡ ΠΏΡΡΠ²ΠΈ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΊΠΎΠ½ β Π΄Π΅ΠΌΠΎΠ½ Π½Π° Bitcoin Π² jail!
cbsd jconstruct-tui

Π’ΡΠΊ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° jail. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π·Π°Π΄Π°Π΄Π΅ΠΌ Π²ΡΠΈΡΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅!
ΠΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΡΠ²ΠΈΡ jail, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° Π·Π° jail-ΠΎΠ²Π΅ΡΠ΅. ΠΠ·Π±ΠΈΡΠ°ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ ΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ FreeBSD Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° repo. Π’ΠΎΠ·ΠΈ ΠΈΠ·Π±ΠΎΡ ΡΠ΅ ΠΏΡΠ°Π²ΠΈ ΡΠ°ΠΌΠΎ ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΡΠ²ΠΈΡ jail Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ (ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ
ΠΎΡΡΠ²Π°ΡΠ΅ jail-ΠΎΠ²Π΅ Π½Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ, ΠΏΠΎ-ΡΡΠ°ΡΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Ρ
ΠΎΡΡΠ°).
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΎ β ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ jail-Π°!
# cbsd jstart bitcoind
ΠΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΡΠΎΡΡΡΠ΅ΡΠ° Π² jail.
# jls
JID IP Address Hostname Path
1 192.168.0.1 bitcoind.space.com /zroot/jails/jails/bitcoindjexec bitcoind Π·Π° Π΄Π° Π²Π»Π΅Π·Π΅ΡΠ΅ Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° Π½Π° jail
ΠΈ Π²ΡΡΡΠ΅ Π² jail ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΡΠΎΡΡΡΠ΅ΡΠ° Ρ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Π½Π°ΡΠ°ΡΠ° Ρ ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΡΠ°Π²Π° ΡΠΈΡΡΠ°)
bitcoind:/@[15:25] # pkg install bitcoin-daemon bitcoin-utils
bitcoind:/@[15:30] # sysrc bitcoind_enable=YES
bitcoind:/@[15:30] # service bitcoind start
Bitcoin Π² jail Π΅ Π½Π°Π»ΠΈΡΠ΅Π½, Π½ΠΎ Π½ΠΈ ΡΡΡΠ±Π²Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΡΡ, Π·Π°ΡΠΎΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°ΠΌΠ΅ Ρ Π½ΡΠΊΠΎΠΈ jail-ΠΎΠ²Π΅ ΠΏΡΠ΅Π· TOR ΠΌΡΠ΅ΠΆΠ°ΡΠ°. Π ΠΈΠ·ΠΎΠ±ΡΠΎ, Π² ΠΏΠ»Π°Π½ΠΎΠ²Π΅ΡΠ΅ Π½ΠΈ Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ jail-ΠΎΠ²Π΅ Ρ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΡΠ°ΠΌΠΎ ΠΏΡΠ΅Π· ΠΏΡΠΎΠΊΡΠΈ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° pf ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΊΠ»ΡΡΠΈΠΌ NAT Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ IP Π°Π΄ΡΠ΅ΡΠΈ Π² Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° ΠΈ ΡΠ°Π·ΡΠ΅ΡΠΈΠΌ NAT ΡΠ°ΠΌΠΎ Π·Π° Π½Π°ΡΠΈΡ TOR-ΡΠ·Π΅Π». ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ Π·Π»ΠΎΠ²ΡΠ΅Π΄Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ ΠΏΠΎΠΏΠ°Π΄Π½Π΅ Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ°, ΡΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ Ρ Π²ΡΠ½ΡΠ½ΠΈΡ ΡΠ²ΡΡ, Π° Π°ΠΊΠΎ ΡΡΠΏΠ΅Π΅, Π½ΡΠΌΠ° Π΄Π° ΡΠ°Π·ΠΊΡΠΈΠ΅ IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π½Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ. ΠΠ°ΡΠΎΠ²Π° ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΎΡΠ΅ Π΅Π΄Π½Π° ΠΊΠ»Π΅ΡΠΊΠ° Π·Π° βΠΏΡΠΎΠ±ΡΠΎΡβ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΠΊΠ°ΡΠΎ β.onionβ-ΡΠ΅ΡΠ²ΠΈΠ· ΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠΊΡΠΈ Π·Π° ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠ»Π΅ΡΠΊΠΈ.
# cbsd jsconstruct-tui
# cbsd jstart tor
# jexec tor
tor: /@[15:38] # pkg install tor
tor: /@[15:38] # sysrc tor_enable=YES
tor: /@[15:38] # ee /usr/local/etc/tor/torrc
ΠΠ°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ Π΄Π° ΡΠ»ΡΡΠ° Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ Π°Π΄ΡΠ΅Ρ (Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠ»Π΅ΡΠΊΠΈ)
SOCKSPort 192.168.0.2:9050
ΠΠ°ΠΊΠ²ΠΎ ΠΎΡΠ΅ Π½ΠΈ Π»ΠΈΠΏΡΠ²Π° Π·Π° ΠΏΡΠ»Π½ΠΎ ΡΠ°ΡΡΠΈΠ΅? ΠΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π½ΠΈ Π΅ ΡΠ΅ΡΠ²ΠΈΡ Π·Π° Π½Π°ΡΠΈΡ ΡΠ΅Π±, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½. Π©Π΅ ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ nginx, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ ΡΠΎΠ»ΡΡΠ° Π½Π° reverse-proxy ΠΈ ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ³ΡΠΈΠΆΠΈ Π·Π° ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅ Π½Π° Letβs Encrypt.
# cbsd jsconstruct-tui
# cbsd jstart nginx-rev
# jexec nginx-rev
nginx-rev: /@[15:47] # pkg install nginx py36-certbot
Π Π΅ΡΠΎ, 150 ΠΠ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠΌΠ΅ ΡΠ»ΠΎΠΆΠΈΠ»ΠΈ Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ°. Π Ρ ΠΎΡΡΡΡ Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ ΡΠΈΡΡ.
Π©Π΅ ΡΠ΅ Π²ΡΡΠ½Π΅ΠΌ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° nginx ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅ΠΌ ΠΎΡΠ΅ Π΄Π²Π΅ ΠΊΠ»Π΅ΡΠΊΠΈ Π·Π° Π½Π°ΡΠΈΡ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅Π½ ΡΠ»ΡΠ· Π½Π° nodejs ΠΈ rust ΠΈ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° Π΅ Π½Π° Π°ΠΏΠ°Ρ ΠΈ php, Π° Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ Π΅ Π½ΡΠΆΠ½Π° ΠΠ MySQL.
# cbsd jsconstruct-tui
# cbsd jstart paygw
# jexec paygw
paygw: /@[15:55] # pkg install git node npm
paygw: /@[15:55] # curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
β¦ ΠΈ ΠΎΡΠ΅ 380 ΠΠ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΎ
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½ΠΈ Ρ git ΠΈ Π³ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅.
# cbsd jsconstruct-tui
# cbsd jstart webapp
# jexec webapp
webapp: /@[16:02] # pkg install mariadb104-server apache24 php74 mod_php74 php74-pdo_mysql
450 ΠΠ ΠΏΠ°ΠΊΠ΅ΡΠΈ. Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ°.
Π’ΡΠΊ Π΄Π°Π²Π°ΠΌΠ΅ Π΄ΠΎΡΡΡΠΏ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎ SSH Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ°, ΡΠ΅ ΡΠ°ΠΌΠΈ ΡΠ΅ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ:
webapp: /@[16:02] # ee /etc/ssh/sshd_config
Port 2267 β ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ ΠΏΠΎΡΡΠ° Π½Π° SSH ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½
webapp: /@[16:02] # sysrc sshd_enable=YES
webapp: /@[16:02] # service sshd start
ΠΡΠΎ, ΡΠ΅ΡΠ²ΠΈΡΡΡ Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½, ΠΎΡΡΠ°Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π² pf ΡΠ°ΠΉΠ΅ΡΠ²ΠΎΠ»Π°
ΠΠ΅ΠΊΠ° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π°ΡΠ°ΡΠ° βΠ»ΠΎΠΊΠ°Π»ΠΊΠ°β
# jls
JID IP Address Hostname Path
1 192.168.0.1 bitcoind.space.com /zroot/jails/jails/bitcoind
2 192.168.0.2 tor.space.com /zroot/jails/jails/tor
3 192.168.0.3 nginx-rev.space.com /zroot/jails/jails/nginx-rev
4 192.168.0.4 paygw.space.com /zroot/jails/jails/paygw
5 192.168.0.5 webapp.my.domain /zroot/jails/jails/webappΠΈ Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ
# ee /etc/pf.conf
## SSH for web-Devs
IP_JAIL="192.168.0.5"
PORT_JAIL="{ 2267 }"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL
Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅, ΠΏΠΎΠ½Π΅ΠΆΠ΅ ΡΠΌΠ΅ ΡΡΠΊ, Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° reverse-proxy:
## web-ports for nginx-rev
IP_JAIL="192.168.0.3"
PORT_JAIL="{ 80, 443 }"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL# pfctl -f /etc/pf.conf
Π ΡΠ΅Π³Π° ΠΌΠ°Π»ΠΊΠΎ Π·Π° Π±ΠΈΡΠΊΠΎΠΉΠ½ΠΈΡΠ΅
ΠΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ β Ρ Π½Π°Ρ Π΅ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΎΡΠ²ΡΠ½ ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ° Ρ Π½Π°ΡΠΈΡ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅Π½ ΡΠ»ΡΠ·. Π‘Π΅Π³Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π° Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΠ°ΠΌΠ°ΡΠ° Π±ΠΈΡΠΊΠΎΠΉΠ½ ΠΌΡΠ΅ΠΆΠ° β Π½ΠΎΠ΄Π° bitcoind ΡΠΎΠ²Π° Π΅ ΠΏΡΠΎΡΡΠΎ Π΄Π΅ΠΌΠΎΠ½, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π°ΠΊΡΡΠ°Π»Π½Π°ΡΠ° Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½. Π’ΠΎΠ·ΠΈ Π΄Π΅ΠΌΠΎΠ½ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° Ρ RPC ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π½Π° ΠΏΠΎΡΡΡΠ΅ΠΉΠ», Π½ΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½ΠΈ βΠΎΠ±Π²ΠΈΠ²ΠΊΠΈβ. Π Π½Π°ΡΠ°Π»ΠΎΡΠΎ ΡΠ΅ΡΠΈΡ
ΠΌΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ electrum β ΡΠΎΠ²Π° Π΅ CLI ΠΏΠΎΡΡΡΠ΅ΠΉΠ». ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠ°ΡΠΎ βΡΡΡΠ΄Π΅Π½ ΡΠΊΠ»Π°Π΄β Π·Π° Π½Π°ΡΠΈΡΠ΅ Π±ΠΈΡΠΊΠΎΠΉΠ½ΠΈ β ΠΎΠ±ΡΠΎ Π²Π·Π΅ΡΠΎ, ΡΠ΅Π·ΠΈ Π±ΠΈΡΠΊΠΎΠΉΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΡ
ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ βΠΈΠ·Π²ΡΠ½β ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π΄ΠΎΡΡΡΠΏΠ½Π° Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈ Π½Π°ΠΈΡΡΠΈΠ½Π° Π΄Π°Π»Π΅Ρ ΠΎΡ Π²ΡΠΈΡΠΊΠΈ. Π’ΠΎΠΉ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° Ρ GUI, Π·Π°ΡΠΎΠ²Π° ΡΡΡΠΈΡ ΠΏΠΎΡΡΡΠ΅ΠΉΠ» ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π° Π½Π°ΡΠΈΡΠ΅
Π»Π°ΠΏΡΠΎΠΏΠΈ. ΠΠ°ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Electrum Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ, Π° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ , Π·Π° Π΄Π° Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΡ Π½ΠΈΠΊΠΎΠ³ΠΎ.
# cbsd jsconstruct-tui
# cbsd jstart electrum
# jexec electrum
electrum: /@[8:45] # pkg install py36-electrum
ΠΎΡΠ΅ 700 MB ΡΠΎΡΡΡΠ΅Ρ Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ° Π½ΠΈ
electrum: /@[8:53] # adduser
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅: wallet
ΠΡΠ»Π½ΠΎ ΠΈΠΌΠ΅:
Uid (ΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΠΏΡΠ°Π·Π½ΠΎ Π·Π° ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅):
ΠΡΡΠΏΠ° Π·Π° Π²Ρ
ΠΎΠ΄ [wallet]:
ΠΡΡΠΏΠ° Π·Π° Π²Ρ
ΠΎΠ΄ Π΅ wallet. ΠΠ° ΠΏΠΎΠΊΠ°Π½ΠΈΠΌ wallet Π² Π΄ΡΡΠ³ΠΈ Π³ΡΡΠΏΠΈ? []:
ΠΠ»Π°Ρ Π·Π° Π²Ρ
ΠΎΠ΄ [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅]:
ΠΠ±Π²ΠΈΠ²ΠΊΠ° (sh csh tcsh nologin) [sh]: tcsh
ΠΠΎΠΌΠ°ΡΠ΅Π½ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ [ /home/wallet]:
ΠΡΠ°Π²Π° Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ (ΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΠΏΡΠ°Π·Π½ΠΎ Π·Π° ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅):
ΠΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°ΡΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡ Ρ ΠΏΠ°ΡΠΎΠ»Π°? [Π΄Π°]: Π½Π΅
ΠΠ° Π·Π°ΠΊΠ»ΡΡΠΈΠΌ Π»ΠΈ Π°ΠΊΠ°ΡΠ½ΡΠ° ΡΠ»Π΅Π΄ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ? [Π½Π΅]:
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅ : wallet
ΠΠ°ΡΠΎΠ»Π° :
ΠΡΠ»Π½ΠΎ ΠΈΠΌΠ΅ :
Uid : 1001
ΠΠ»Π°Ρ :
ΠΡΡΠΏΠΈ : wallet
ΠΠΎΠΌΠ°ΡΠ΅Π½ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ : /home/wallet
Π Π΅ΠΆΠΈΠΌ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ΅Π½ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ :
ΠΠ±Π²ΠΈΠ²ΠΊΠ° : /bin/tcsh
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ : Π½Π΅
ΠΠΎΠ±ΡΠ΅? (Π΄Π°/Π½Π΅): Π΄Π°
adduser: ΠΠΠ€Π: Π£ΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ
ΠΌΠ΅ (wallet) Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅.
ΠΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π»ΠΈ Π΄ΡΡΠ³ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»? (Π΄Π°/Π½Π΅): Π½Π΅
ΠΠΎ ΡΠΊΠΎΡΠΎ!
electrum: /@[8:53] # su walletelectrum: /@[8:53] # su wallet
wallet@electrum:/ % electrum-3.6 create
{
"msg": "ΠΠΎΠ»Ρ, Π·Π°ΠΏΠ°Π·Π΅ΡΠ΅ ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠΈ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎ ΠΌΡΡΡΠΎ; Π°ΠΊΠΎ Π³ΠΎ Π·Π°Π³ΡΠ±ΠΈΡΠ΅, Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΡΡΠ΅ΠΉΠ»Π° ΡΠΈ.",
"path": "/usr/home/wallet/.electrum/wallets/default_wallet",
"seed": "jealous win pig material ribbon young punch visual okay cactus random bird"
}Π‘Π΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΏΠΎΡΡΡΠ΅ΠΉΠ».
wallet@electrum:/ % electrum-3.6 listaddresses
[
"18WEhbjvMLGRMfwudzUrUd25U5C7uZYkzE",
"14XHSejhxsZNDRtk4eFbqAX3L8rftzwQQU",
"1KQXaN8RXiCN1ne9iYngUWAr6KJ6d4pPas",
...
"1KeVcAwEYhk29qEyAfPwcBgF5mMMoy4qjw",
"18VaUuSeBr6T2GwpSHYF3XyNgLyLCt1SWk"
]wallet@electrum:/ % electrum-3.6 help
Π Π½Π°ΡΠΈΡ on-chain ΠΏΠΎΡΡΡΠ΅ΠΉΠ» Π² Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° ΡΠ°ΠΌΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΠΊΡΡΠ³ Π»ΠΈΡΠ°. ΠΠ° Π΄Π° Π½Π΅ ΠΎΡΠ²Π°ΡΡΠΌΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΈΠ·Π²ΡΠ½ ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ°, Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΠΏΠΎ SSH ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΡΡΠ΅Π· Π’ΠΠ (ΡΠ°ΠΊΡΠ² Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° VPN). Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ° SSH, Π½ΠΎ Π½Π΅ Π·Π°ΡΡΠ³Π°ΠΌΠ΅ Π½Π°ΡΠΈΡ pf.conf Π½Π° Ρ ΠΎΡΡΠ°.
electrum: /@[9:00] # sysrc sshd_enable=YES
electrum: /@[9:00] # service sshd start
Π‘Π΅Π³Π° ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΠΌ ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ° Ρ ΠΏΠΎΡΡΡΠ΅ΠΉΠ»Π° ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ. Π©Π΅ ΠΌΡ Π·Π°Π΄Π°Π΄Π΅ΠΌ IP Π°Π΄ΡΠ΅Ρ ΠΎΡ Π΄ΡΡΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ Π΅ NAT-Π²Π°Π½ΠΎ. ΠΡΡΠ²ΠΎ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠΌ /etc/pf.conf Π½Π° Ρ
ΠΎΡΡΠ°
# ee /etc/pf.conf
JAIL_IP_POOL="192.168.0.0/24" Π΄Π° ΡΠΌΠ΅Π½ΠΈΠΌ Π½Π° JAIL_IP_POOL="192.168.0.0/25", ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π²ΡΠΈΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠΈ 192.168.0.126-255 Π½ΡΠΌΠ° Π΄Π° ΠΈΠΌΠ°Ρ ΠΏΡΡΠΊ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ. ΠΡΠΊΠ°ΠΊΠ²Π° ΡΠΎΡΡΡΠ΅ΡΠ½Π° βair-gapβ ΠΌΡΠ΅ΠΆΠ°. Π NAT ΠΏΡΠ°Π²ΠΈΠ»ΠΎΡΠΎ ΠΎΡΡΠ°Π²Π° ΡΠ°ΠΊΠΎΠ²Π°, ΠΊΠ°ΠΊΠ²ΠΎΡΠΎ Π±Π΅ΡΠ΅
nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC
ΠΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ°
# pfctl -f /etc/pf.conf
Π‘Π΅Π³Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΊΡΠΌ Π½Π°ΡΠ°ΡΠ° ΠΊΠ»Π΅ΡΠΊΠ°
# cbsd jconfig jname=electrum


jset mode=quiet jname=electrum ip4_addr="192.168.0.200"
ΠΡΠ΅ΠΌΠ°Ρ
Π²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡ IP: /sbin/ifconfig em0 inet 192.168.0.6 -alias
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Π½ΠΎΠ²ΠΈΡ IP: /sbin/ifconfig em0 inet 192.168.0.200 alias
ip4_addr: 192.168.0.200Π₯ΠΌ, Π½ΠΎ ΡΠ΅Π³Π° ΡΠ°ΠΌΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ ΡΠΏΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΏΡΠΎΠΊΡΠΈ. ΠΠΎ ΠΈΠΌΠ° Π΅Π΄Π½ΠΎ Π½ΠΎ, Π·Π° TOR ΡΠΎΠ²Π° Π΅ SOCKS5 ΠΏΡΠΎΠΊΡΠΈ, Π° Π·Π° ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ Π±ΠΈΡ ΠΌΠ΅ ΠΈΡΠΊΠ°Π»ΠΈ ΠΈ HTTP ΠΏΡΠΎΠΊΡΠΈ.
# cbsd jsconstruct-tui
# cbsd jstart polipo
# jexec polipo
polipo:/@[9:28] # pkg install polipo
polipo:/@[9:28] # ee /usr/local/etc/polipo/config
socksParentProxy = "192.168.0.2:9050"
socksProxyType = socks5polipo:/@[9:42] # sysrc polipo_enable=YES
polipo:/@[9:43] # service polipo start
ΠΡ Π²ΠΎΡ, ΡΠ΅ΠΏΠ΅ΡΡ Π² Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΅ΡΡΡ Π΄Π²Π° ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΈ ΠΎΠ±Π° Π²ΡΠ²ΠΎΠ΄ΡΡ ΡΠ΅ΡΠ΅Π· TOR: socks5://192.168.0.2:9050 ΠΈ
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΠΌ ΠΎΠΊΠΎΠ»Π½Π°ΡΠ° ΡΡΠ΅Π΄Π° Π½Π° Π½Π°ΡΠΈΡ ΠΏΠΎΡΡΡΠ΅ΠΉΠ»
# jexec electrum
electrum:/@[9:45] # su wallet
wallet@electrum:/ % ee ~/cshrc
#in the end of file proxy config
setenv http_proxy http://192.168.0.6:8123
setenv https_proxy http://192.168.0.6:8123ΠΡΠΎ, ΡΠ΅Π³Π° ΡΠ΅Π»ΡΡ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ΅Π· ΠΏΡΠΎΠΊΡΠΈ. ΠΠΊΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² /usr/local/etc/pkg.conf ΠΎΡ ΠΏΠΎΠ΄ ΡΡΡ Π½Π° ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ°
pkg_env: {
http_proxy: "http://my_proxy_ip:8123",
}Π ΡΠ΅Π³Π° Π΄ΠΎΠΉΠ΄Π΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ TOR hidden service ΠΊΠ°ΡΠΎ Π°Π΄ΡΠ΅Ρ Π½Π° Π½Π°ΡΠΈΡ SSH ΡΠ΅ΡΠ²ΠΈΡ Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΡΠ΅ΠΉΠ»Π°.
# jexec tor
tor:/@[9:59] # ee /usr/local/etc/tor/torrc
HiddenServiceDir /var/db/tor/electrum/
HiddenServicePort 22 192.168.0.200:22tor:/@[10:01] # mkdir /var/db/tor/electrum
tor:/@[10:01] # chown -R _tor:_tor /var/db/tor/electrum
tor:/@[10:01] # chmod 700 /var/db/tor/electrum
tor:/@[10:03] # service tor restart
tor:/@[10:04] # cat /var/db/tor/electrum/hostname
mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onionΠΡΠΎ Π³ΠΎ Π½Π°ΡΠΈΡΡ Π°Π΄ΡΠ΅Ρ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅. ΠΠ΅ΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΎΡ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π°. ΠΠΎ ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π°ΡΠΈΡ SSH ΠΊΠ»ΡΡ:
wallet@electrum:/ % mkdir ~/.ssh
wallet@electrum:/ % ee ~/.ssh/authorized_keys
ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAG9Fk2Lqi4GQ8EXZrsH3EgSrVIQPQaAlS38MmJLBabihv9KHIDGXH7r018hxqLNNGbaJWO/wrWk7sG4T0yLHAbdQAFsMYof9kjoyuG56z0XZ8qaD/X/AjrhLMsIoBbUNj0AzxjKNlPJL4NbHsFwbmxGulKS0PdAD5oLcTQi/VnNdU7iFw== user@localΠ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π»ΠΈΠ½ΡΠΊΡ-ΠΌΠ°ΡΠΈΠ½Π°
user@local ~$ nano ~/.ssh/config
#remote electrum wallet
Host remotebtc
User wallet
Port 22
Hostname mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion
ProxyCommand /bin/ncat --proxy localhost:9050 --proxy-type socks5 %h %p
Π‘Π²ΡΡΠ·Π²Π°ΠΌΠ΅ ΡΠ΅ (ΠΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎΠ²Π°, Π΅ Π½ΡΠΆΠ΅Π½ Π»ΠΎΠΊΠ°Π»Π΅Π½ Π΄Π΅ΠΌΠΎΠ½ Π½Π° TOR, ΠΊΠΎΠΉΡΠΎ ΡΠ»ΡΡΠ° Π½Π° 9050)
user@local ~$ ssh remotebtc
ΠΠ²ΡΠ΅Π½ΡΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° Ρ
ΠΎΡΡ 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion ()' Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°.
ECDSA ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΡ ΠΎΡΠΏΠ΅ΡΠ°ΡΡΠΊ Π΅ SHA256:iW8FKjhVF4yyOZB1z4sBkzyvCM+evQ9cCL/EuWm0Du4.
Π‘ΠΈΠ³ΡΡΠ½ΠΈ Π»ΠΈ ΡΡΠ΅, ΡΠ΅ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ (Π΄Π°/Π½Π΅/[ΠΎΡΠΏΠ΅ΡΠ°ΡΡΠΊ])? Π΄Π°
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion' (ECDSA) Π² ΡΠΏΠΈΡΡΠΊΠ° Π½Π° ΠΏΠΎΠ·Π½Π°ΡΠΈΡΠ΅ Ρ
ΠΎΡΡΠΎΠ²Π΅.
FreeBSD 12.1-RELEASE-p1 GENERIC
ΠΠ° Π΄Π° ΡΠΏΠ΅ΡΡΠΈΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² Π΄ΠΎΠΌΠ°ΡΠ½Π°ΡΠ° ΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Ρ "gzip filename".
-- Dru
wallet@electrum:~ % logout
Π£ΡΠΏΠ΅Ρ !
ΠΠ° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΠΈ ΠΌΠΈΠΊΡΠΎ-ΠΏΠ»Π°ΡΠ°Π½ΠΈΡ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° ΠΈ Π½ΠΎΠ΄Π° , Π²ΡΡΡΠ½ΠΎΡΡ ΡΠΎΠ²Π° ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π°ΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π±ΠΈΡΠΊΠΎΠΉΠ½. Π£ *, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠ°ΡΠΎ Π΄Π΅ΠΌΠΎΠ½, ΠΈΠΌΠ° , ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΡΠ»Π΅Π½ HTTP (REST) ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π±ΠΎΡΠ° ΠΊΠ°ΠΊΡΠΎ Ρ off-chain ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠ° ΠΈ Ρ on-chain ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. c-lightning Π·Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° bitcoind Π½ΠΎΠ΄Π°.
*ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π―Π Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Lightning Network. ΠΡ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅, c-lightning (Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π‘) ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π½Π°ΠΉ-ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅
# cbsd jsconstruct-tui
# cbsd jstart cln
# jexec cln
lightning:β/@[10:23] # adduser
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅: lightning
...lightning:β/@[10:24] # pkg install git
lightning:β/@[10:23] # su lightning
cd ~ && git clone https://github.com/ElementsProject/lightning
lightning@lightning:~ % exit
lightning:β/@[10:30] # cd /home/lightning/lightning/
lightning:/home/lightning/lightning@[10:31] # pkg install autoconf automake gettext git gmp gmake libtool python python3 sqlite3 libsodium py36-mako bash bitcoin-utils
lightning:/home/lightning/lightning@[10:34] # ./configure && gmake && gmake install
ΠΠΎΠΊΠ°ΡΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Ρ ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Ρ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ RPC ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π·Π° lightningd Π² bitcoind
# jexec bitcoind
bitcoind:β/@[10:36] # ee /usr/local/etc/bitcoin.conf
rpcbind=192.168.0.1
rpcuser=test
rpcpassword=test
# ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° c-lightning
rpcallowip=192.168.0.7/32bitcoind:β/@[10:39] # service bitcoind restart
ΠΠΎΠ΅ΡΠΎ Ρ
Π°ΠΎΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ ΡΠ΅ ΠΎΠΊΠ°Π·Π²Π° Π½Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Ρ
Π°ΠΎΡΠΈΡΠ½ΠΎ, Π°ΠΊΠΎ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈΠΌ ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° tmux, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΡΠ΅ΡΠΈΡ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄-ΡΠ΅ΡΠΈΠΈ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΈ. ΠΠ½Π°Π»ΠΎΠ³: screen

ΠΠΎΠ±ΡΠ΅, Π½Π΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΠ°Π·ΠΊΡΠΈΠ²Π°ΠΌΠ΅ Π½Π°ΡΠΈΡ ΠΈΡΡΠΈΠ½ΡΠΊΠΈ IP Π°Π΄ΡΠ΅Ρ ΠΈ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π· TOR. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΎΡΠ΅ Π΅Π΄Π½Π° .onion.
# jexec tor
tor:/@[9:59] # ee /usr/local/etc/tor/torrc
HiddenServiceDir /var/db/tor/cln/
HiddenServicePort 9735 192.168.0.7:9735tor:β/@[10:01] # mkdir /var/db/tor/cln
tor:β/@[10:01] # chown -R _tor:_tor /var/db/tor/cln
tor:β/@[10:01] # chmod 700 /var/db/tor/cln
tor:/@[10:03] # service tor restart
tor:β/@[10:04] # cat /var/db/tor/cln/hostname
en5wbkavnytti334jc5uzaudkansypfs6aguv6kech4hbzpcz2ove3yd.onionΡΠ΅Π³Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π° c-lightning
lightning:β/@[10:31] # su lightning
lightning@lightning:~ % mkdir .lightning
lightning@lightning:~ % ee .lightning/config
alias=My-LN-Node
bind-addr=192.168.0.7:9735
rgb=ff0000
announce-addr=en5wbkavnytti334jc5uzaudkansypfs6aguv6kech4hbzpcz2ove3yd.onion:9735
network=bitcoin
log-level=info
fee-base=0
fee-per-satoshi=1
proxy=192.168.0.2:9050
log-file=/home/lightning/.lightning/c-lightning.log
min-capacity-sat=200000
# sparko ΠΏΠ»ΡΠ³ΠΈΠ½
# https://github.com/fiatjaf/lightningd-gjson-rpc/tree/master/cmd/sparko
sparko-host=192.168.0.7
sparko-port=9737
sparko-tls-path=sparko-tls
#sparko-login=mywalletusername:mywalletpassword
#sparko-keys=masterkey;secretread:+listchannels,+listnodes;secretwrite:+invoice,+listinvoices,+delinvoice,+decodepay,+waitpay,+waitinvoice
sparko-keys=masterkey;secretread:+listchannels,+listnodes;ultrawrite:+invoice,+listinvoices,+delinvoice,+decodepay,+waitpay,+waitinvoice
# Π·Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΆΡΡΠ½Π°Π»ΠΈ (ΡΠΌΠ΅ΡΠ°Π½ΠΎ Ρ ΠΆΡΡΠ½Π°Π»ΠΈ Π½Π° lightningd) ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠ΅ΡΠ°ΡΠ°Ρ Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎlightning@lightning:~ % mkdir .lightning/plugins
lightning@lightning:~ % cd .lightning/plugins/
lightning@lightning:~/.lightning/plugins:% fetch https://github.com/fiatjaf/sparko/releases/download/v0.2.1/sparko_full_freebsd_amd64
lightning@lightning:~/.lightning/plugins % mkdir ~/.lightning/sparko-tls
lightning@lightning:~/.lightning/sparko-tls % cd ~/.lightning/sparko-tls
lightning@lightning:~/.lightning/sparko-tls % openssl genrsa -out key.pem 2048
lightning@lightning:~/.lightning/sparko-tls % openssl req -new -x509 -sha256 -key key.pem -out cert.pem -days 3650
lightning@lightning:~/.lightning/plugins % chmod +x sparko_full_freebsd_amd64
lightning@lightning:~/.lightning/plugins % mv sparko_full_freebsd_amd64 sparko
lightning@lightning:~/.lightning/plugins % cd ~
ΡΡΡΠ±Π²Π° ΡΡΡΠΎ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π·Π° bitcoin-cli, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ° Ρ bitcoind
lightning@lightning:~ % mkdir .bitcoin
lightning@lightning:~ % ee .bitcoin/bitcoin.conf
rpcconnect=192.168.0.1
rpcuser=test
rpcpassword=testΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅
lightning@lightning:~ % bitcoin-cli echo "test"
[
"test"
]ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ lightningd
lightning@lightning:~ % lightningd --daemon
Π‘Π°ΠΌΠΈΡΡ lightningd ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° lightning-cli, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
lightning-cli newaddr Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π°Π΄ΡΠ΅Ρ Π·Π° Π½ΠΎΠ²ΠΎ Π²Ρ
ΠΎΠ΄ΡΡΠΎ ΠΏΠ»Π°ΡΠ°Π½Π΅
{
"address": "bc1q2n2ffq3lplhme8jufcxahfrnfhruwjgx3c78pv",
"bech32": "bc1q2n2ffq3lplhme8jufcxahfrnfhruwjgx3c78pv"
}lightning-cli withdraw bc1jufcxahfrnfhruwjgx3cq2n2ffq3lplhme878pv all Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΡ ΠΏΠΎΡΡΡΠ΅ΠΉΠ»Π° (Π²ΡΠΈΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠΈ ΠΎΠ½-ΡΠ΅ΠΉΠ½)
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π·Π° off-chain ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ lightning-cli invoice, lightning-cli listinvoices, lightning-cli pay ΠΈ Ρ.Π½.
Π Π·Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅ Ρ REST Api
curl -k https://192.168.0.7:9737/rpc -d '{"method": "pay", "params": ["lnbc..."]}' -H 'X-Access masterkey'
ΠΠ΅ΠΊΠ° ΠΎΠ±ΠΎΠ±ΡΠΈΠΌ
# jls
JID IP Address Hostname Path
1 192.168.0.1 bitcoind.space.com /zroot/jails/jails/bitcoind
2 192.168.0.2 tor.space.com /zroot/jails/jails/tor
3 192.168.0.3 nginx-rev.space.com /zroot/jails/jails/nginx-rev
4 192.168.0.4 paygw.space.com /zroot/jails/jails/paygw
5 192.168.0.5 webapp.my.domain /zroot/jails/jails/webapp
7 192.168.0.200 electrum.space.com /zroot/jails/jails/electrum
8 192.168.0.6 polipo.space.com /zroot/jails/jails/polipo
9 192.168.0.7 lightning.space.com /zroot/jails/jails/cln
ΠΠΌΠ°ΠΌΠ΅ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Π²ΡΠ΅ΠΊΠΈ ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΊΠ°ΠΊΡΠΎ Π·Π° Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°, ΡΠ°ΠΊΠ° ΠΈ ΠΎΡΠ²ΡΠ½.
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 279G 1.48T 88K /zroot
zroot/ROOT 1.89G 1.48T 88K none
zroot/ROOT/default 1.89G 17.6G 1.89G /
zroot/home 88K 1.48T 88K /home
zroot/jails 277G 1.48T 404M /zroot/jails
zroot/jails/bitcoind 190G 1.48T 190G /zroot/jails/jails-data/bitcoind-data
zroot/jails/cln 653M 1.48T 653M /zroot/jails/jails-data/cln-data
zroot/jails/electrum 703M 1.48T 703M /zroot/jails/jails-data/electrum-data
zroot/jails/nginx-rev 190M 1.48T 190M /zroot/jails/jails-data/nginx-rev-data
zroot/jails/paygw 82.4G 1.48T 82.4G /zroot/jails/jails-data/paygw-data
zroot/jails/polipo 57.6M 1.48T 57.6M /zroot/jails/jails-data/polipo-data
zroot/jails/tor 81.5M 1.48T 81.5M /zroot/jails/jails-data/tor-data
zroot/jails/webapp 360M 1.48T 360M /zroot/jails/jails-data/webapp-dataΠΠ°ΠΊΡΠΎ Π²ΠΈΠΆΠ΄Π°ΡΠ΅, bitcoind Π·Π°Π΅ΠΌΠ° ΡΠ΅Π»ΠΈΡ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅Ρ ΠΎΡ 190 ΠΠ. Π ΠΊΠ°ΠΊΠ²ΠΎ, Π°ΠΊΠΎ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° ΠΎΡΠ΅ Π΅Π΄Π½Π° Π½ΠΎΠ΄Π° Π·Π° ΡΠ΅ΡΡΠΎΠ²Π΅? Π’ΡΠΊ ZFS Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π΅Π½. ΠΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ cbsd jclone old=bitcoind new=bitcoind-clone host_hostname=clonedbtc.space.com ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΈ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Π½ΠΎΠ²Π° ΠΊΠ»Π΅ΡΠΊΠ° ΠΊΡΠΌ ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ΅Π½ ΡΠ½ΠΈΠΌΠΊΠ°. ΠΠΎΠ²Π°ΡΠ° ΠΊΠ»Π΅ΡΠΊΠ° ΡΠ΅ ΠΈΠΌΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ ΡΠ΅ ΠΎΡΡΠΈΡΠ° ΡΠ°ΠΌΠΎ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° (ΡΠ΅ ΡΠΏΠ΅ΡΡΠΈΠΌ ΠΏΠΎΠ½Π΅ 190 ΠΠ)
ΠΡΡΠΊΠ° ΠΊΠ»Π΅ΡΠΊΠ° Π΅ ΡΠ²ΠΎΠΉ ΠΎΡΠ΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ ZFS, ΠΈ ΡΠΎΠ²Π° Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ. Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΡΡΠ³ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ Π½Π΅ΡΠ°, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΏΠΎ SSH. ΠΡΠΌΠ° Π΄Π° Π³ΠΎ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅, Π²Π΅ΡΠ΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ.
ΠΠ°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠΏΠΎΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° Ρ ΠΎΡΡΠ°, Π·Π° ΡΠ΅Π»ΡΠ° ΠΈΠΌΠ°ΠΌΠ΅ .
Π β ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, Π΄Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°:
ΠΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΎΡΡ β Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π½Π° UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠΌΠ΅ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Π²ΡΠ΅ΠΊΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠ΄Π΅Π»Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° β ΠΊΠ»Π΅ΡΠΊΠ°. ΠΠΎΡΡΡΠΏΡΡ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ ΠΏΠΎ Π»ΠΈΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅. Π¦ΡΠ»Π°ΡΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ ΠΈ Π΄ΠΎ ΠΊΡΠ°ΠΉΠ½ΠΈΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠΈ ΠΏΡΠΎΡΠΈΡΠ° Π² ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ Π²ΠΈΠ΄. Π§ΡΠ΅Π· ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π΅ ΡΠ΅ ΠΏΡΠΈΡΠ΅ΡΠ½ΡΠ²Π°ΠΌΠ΅ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΡΠΈ Π·Π°ΠΌΡΠ½Π° Π½Π° Π΄ΠΈΡΠΊ ΠΈΠ»ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° Π΄ΡΡΠ³ ΡΡΡΠ²ΡΡ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΡ ΠΊΡΠΈΡΠΈΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΅ Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ Ρ ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°ΠΊΡΠ² Π΄ΠΎΡΡΡΠΏ Π² ΠΎΠ±ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ Π²ΡΡΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅.
Π¦Π΅Π»ΠΎΡΡΠ½ΠΎΡΡ β ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½ΠΈΠ²Π°. ΠΡΡΠ²ΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΡΠ²ΡΡΠ½ΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅, ECC ΠΏΠ°ΠΌΠ΅Ρ, ZFS Π²Π΅ΡΠ΅ "ΠΈΠ·Π²ΡΠ½ ΠΊΡΡΠΈΡ" ΡΠ΅ Π³ΡΠΈΠΆΠΈ Π·Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ Π±ΠΈΡΠΎΠ²Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠΎΠΌΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ ΠΏΠΎ Π²ΡΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π£Π΄ΠΎΠ±Π½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π΅ΠΊΡΠΏΠΎΠ»Π·Π°ΡΠΈΡ-ΠΈΠΌΠΏΠΎΡΡΠ° Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΡΡ Π»Π΅ΡΠ½ΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈ.
ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡ β Π’ΡΠΊ Π²Π΅ΡΠ΅ Π΅ ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ. ΠΠ°Π²ΠΈΡΠΈ ΠΎΡ Π²Π°ΡΠ°ΡΠ° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΡΡ ΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΡΠΈ. Π Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΌΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈΠ»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΡΡΡΠ΅ΠΉΠ»Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΡ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π’ΠΠ . ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π° ΡΠ°Π΅ΡΠ²ΠΎΠ»Π° Π΄Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΠΈ Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΠ²ΡΡΠ° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ ΡΡΠ΅Π· ΡΡΠ½Π΅Π»ΠΈ (Π’ΠΠ ΠΈΠ»ΠΈ VPN, ΡΠΎΠ²Π° Π΅ Π΄ΡΡΠ³ Π²ΡΠΏΡΠΎΡ). Π’Π°ΠΊΠ° ΡΡΡΠ²ΡΡΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΡΠΊΡΡΠ½Π°Ρ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈΡ ΡΠ²ΡΡ, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΠ΅ΠΌ Π½Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ ΡΠ°ΠΌΠΎ Π½ΠΈΠ΅ ΡΠ°ΠΌΠΈ.
ΠΠ΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΡΠΊΠ°Π· β Π’ΠΎΠ²Π° Π·Π°Π²ΠΈΡΠΈ ΠΎΡ Π±ΡΠ΄Π΅ΡΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΈ ΡΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ ΠΏΡΠ°Π²Π°, Π΄ΠΎΡΡΡΠΏΠ° ΠΈ Ρ.Π½. ΠΠΎ ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π²ΡΠΈΡΠΊΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΠ΅ ΠΎΠ΄ΠΈΡΠΈΡΠ°Ρ, Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅Π΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ²Π° ΠΊΠΎΠΉ ΠΈ ΠΊΠΎΠ³Π° Π΅ ΠΈΠ·Π²ΡΡΡΠΈΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΎΠΏΠΈΡΠ°Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π΅ Π΅ Π°Π±ΡΠΎΠ»ΡΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅, Π° ΠΏΠΎ-ΡΠΊΠΎΡΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠΈΡΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅, Π·Π°ΠΏΠ°Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΡΠ²ΠΊΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅.
Π ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π²Π° Ρ ΠΏΡΠ»Π½Π°ΡΠ° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ?
ΠΠ° ΠΏΡΠ»Π½Π°ΡΠ° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Ρ cbsd ΠΌΠΎΠΆΠ΅ . Π©Π΅ Π΄ΠΎΠ±Π°Π²Ρ ΡΠ°ΠΌΠΎ, ΡΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° bhyve Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π½ΡΠΊΠΎΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
# cat /etc/rc.conf
...
kld_list="vmm if_tap if_bridge nmdm"
...# cat /boot/loader.conf
...
vmm_load="YES"
...Π’Π°ΠΊΠ° ΡΠ΅, Π°ΠΊΠΎ ΠΈΠ·Π²Π΅Π΄Π½ΡΠΆ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Docker, ΠΏΡΠΎΡΡΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² Debian ΠΈ Π½Π°ΠΏΡΠ΅Π΄!

ΠΡΠΎ ΠΈ Π²ΡΠΈΡΠΊΠΎ.
ΠΠΎΠΆΠ΅ Π±ΠΈ ΡΠΎΠ²Π° Π΅ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΡΠΊΠ°Ρ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ. ΠΠΊΠΎ Π²ΠΈ Π΅ Ρ Π°ΡΠ΅ΡΠ°Π»Π° ΡΡΠ°ΡΠΈΡΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΌΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ Π±ΠΈΡΠΊΠΎΠΉΠ½ΠΈ β . ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΎΠΏΠΈΡΠ°ΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈ ΠΈΠΌΠ°ΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ Π±ΠΈΡΠΊΠΎΠΉΠ½ΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΌΠΎΡ .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
