ΠΠΎΠ»ΡΡΠΈΠ»ΠΎ ΡΠ΅ ΡΠ°ΠΊΠ°, ΡΠ΅ Π°Π· ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΠΈΡ ΡΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠΈ (ΠΏΠΎ-ΠΊΡΠ°ΡΠΊΠΎ: ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ) ΠΈ ΠΈΠΌΠ°ΠΌ Π½Π°Π΄ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΎΠΏΠΈΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ ΡΠ°ΠΊΠΈΠ²Π°, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ [ΠΏΠΎ|Π·Π°]Π²ΠΈΡΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΊΠΈ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ΅ΡΠ΅ΡΠ° Π½Π°Π·Π°Π΄ ΠΎΡΠΊΡΠΈΡ
Π² ΡΠ΅Π±Π΅ ΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΊΡΠΌ , ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠ΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ
, Π½ΠΎ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Ρ
Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠΈΠΊΡΠΎ-ΡΠ΅ΡΠ²ΠΈΠ·Π°, Π·Π° Π΄Π° Π½Π°ΡΡΠ° ΠΊΠ°ΠΊ Π΄Π° ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Ρ Π±ΠΈΡΠΊΠΎΠΉΠ½ ΠΌΡΠ΅ΠΆΠ°ΡΠ° (Π²ΡΠ΅ ΠΏΠ°ΠΊ ΡΠΎΠΉ Π΅ p2p) ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° (ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½ΡΠΌΠ°ΠΌ ΡΠ°ΠΊΠΈΠ²Π° ΡΠΌΠ΅Π½ΠΈΡ) dev, ΠΏΡΠΎΡΡΠΎ ΠΌΠΈΠ½Π°Π²Π°Ρ
ΠΏΠΎΠΊΡΠ°ΠΉ Π½Π΅Π³ΠΎ). ΠΠΎ Π½Π΅ ΡΡΠ°Π²Π° Π΄ΡΠΌΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π° Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΡΡΠ΅Π΄Π° Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π€ΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (fintech) Π²ΡΡΠ²ΡΡ ΡΡΠΊΠ° Π·Π° ΡΡΠΊΠ° Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ (infosec) ΠΈ ΠΏΡΡΠ²ΠΎΡΠΎ Π±Π΅Π· Π²ΡΠΎΡΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ, Π½ΠΎ Π½Π΅ Π·Π° Π΄ΡΠ»Π³ΠΎ. ΠΠ°ΡΠΎΠ²Π° ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ ΡΠ²ΠΎΡ ΠΎΠΏΠΈΡ ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ, ΠΊΠΎΠΈΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΊΠ°ΠΊΡΠΎ fintech, ΡΠ°ΠΊΠ° ΠΈ infosec, ΠΈ ΡΠΎ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΈ Π² ΠΏΠΎ-ΡΠΈΡΠΎΠΊ ΠΈΠ»ΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ. Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ° Π½Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π·Π° Π±ΠΈΡΠΊΠΎΠΉΠ½, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π·Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ Π½Π° ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ (ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ) ΡΡΠ»ΡΠ³ΠΈ β Ρ Π΅Π΄Π½Π° Π΄ΡΠΌΠ°, Π½Π° ΡΠ΅Π·ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ βΠβ ΠΈΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈΠ»Π°Π³Π° ΡΠ΅ ΠΊΠ°ΠΊΡΠΎ ΠΊΡΠΌ Π±ΠΈΡΠΊΠΎΠΉΠ½ Π±ΠΎΡΡΠ°, ΡΠ°ΠΊΠ° ΠΈ ΠΊΡΠΌ ΡΠΈΠΏΠΈΡΠ½ΠΈΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π΅Π½ Π·ΠΎΠΎΠΏΠ°ΡΠΊ ΠΎΡ ΡΡΠ»ΡΠ³ΠΈ Π½Π° ΠΌΠ°Π»ΠΊΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΏΠΎ Π½ΠΈΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ Π½Π΅ Π΅ ΡΠ²ΡΡΠ·Π°Π½Π° Ρ Π±ΠΈΡΠΊΠΎΠΉΠ½.
ΠΡΠΊΠ°ΠΌ Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠ°, ΡΠ΅ ΡΡΠΌ ΠΏΡΠΈΠ²ΡΡΠΆΠ΅Π½ΠΈΠΊ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ βkeep it stupid simpleβ ΠΈ βless is moreβ, Π·Π°ΡΠΎΠ²Π° ΠΈ ΡΡΠ°ΡΠΈΡΡΠ°, ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΎΡΠΎ Π² Π½Π΅Ρ ΡΠ΅ ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π°Ρ Eigenschaften, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ.
ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΉ: ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΡΠ΅Π· ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Π±ΠΈΡΠΊΠΎΠΉΠ½ ΠΎΠ±ΠΌΠ΅Π½Π½ΠΈΠΊ. Π Π΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΡΡΠ±Π»ΠΈ, Π΄ΠΎΠ»Π°ΡΠΈ ΠΈ Π΅Π²ΡΠΎ Π·Π° Π±ΠΈΡΠΊΠΎΠΉΠ½ΠΈ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, ΠΈ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈ ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠ°ΡΠΈ ΠΊΠ°ΡΠΎ Qiwi ΠΈ WebMoney, Ρ.Π΅. Π²ΡΠΈΡΠΊΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΡΠΎΡΠΈ ΡΠ° ΡΡΠ΅Π΄Π΅Π½ΠΈ. ΠΠΌΠ°ΠΌΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»ΡΠΆΠΈ Π·Π° ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅Π½ ΡΠ»ΡΠ· Π·Π° ΡΡΠ±Π»ΠΈ, Π΄ΠΎΠ»Π°ΡΠΈ ΠΈ Π΅Π²ΡΠΎ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π’ΠΎ Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Π½Π°ΡΠΈΡΠ΅ Π±Π°Π½ΠΊΠΎΠ²ΠΈ ΡΠΌΠ΅ΡΠΊΠΈ ΠΈ ΠΈΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ API Π·Π° Π½Π°ΡΠΈΡΠ΅ ΠΊΡΠ°ΠΉΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΌΠ°ΠΌΠ΅ ΠΈ ΡΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ³ΡΠ°Π΅ ΡΠΎΠ»ΡΡΠ° Π½Π° ΠΎΠ±ΠΌΠ΅Π½Π½ΠΈΠΊ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, Π½Π΅ΡΠΎ ΠΊΠ°ΡΠΎ ΡΠΈΠΏΠΈΡΠ΅Π½ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ Π½Π° Qiwi ΠΈΠ»ΠΈ WebMoney β ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° Π°ΠΊΠ°ΡΠ½Ρ, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΊΠ°ΡΡΠ° ΠΈ Ρ.Π½. Π’ΠΎ ΠΎΠ±ΡΡΠ²Π° Ρ Π½Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΡΠ»ΡΠ·, Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΡΠ΅Π· REST API Π² Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. Π ΡΠ°ΠΊΠ°, ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π±ΠΈΡΠΊΠΎΠΉΠ½ΠΈ ΠΈ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π±Π΅ΡΠ΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΎ Π² Π±ΡΡΠ·ΠΈΠ½Π°ΡΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Π±ΠΎΠΊΡΠΎΠ²Π΅ ΠΏΠΎΠ΄ Π±ΡΡΠΎΡΠΎ Π² ΠΎΡΠΈΡΠ°... Π‘Π°ΠΉΡΡΡ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π° Π½ΠΈΠ΅ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΡΠ΅ΡΠ½ΡΠ²Π°ΠΌΠ΅ Π·Π° uptime ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ.
Π ΡΠ°ΠΊΠ°, Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ β ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΡΡΠ²ΡΡ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π±ΠΈΠ·Π½Π΅ΡΡΡ Π² Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΅ ΠΌΠ°Π»ΡΠΊ ΠΈ Π½ΠΈΠ΅ Π²ΡΡΠ²Π°ΠΌΠ΅ Π½Π° Ρ ΠΎΡΡΠ΅ΡΠ° (OVH), ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ Π² ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅Π½ ΠΎΠ±ΡΠ°Π· .iso, Π½ΠΎ Π½Π΅ Π΅ Π±Π΅Π΄Π°, ΠΎΡΠ΄Π΅Π»ΡΡ Π·Π° ΠΠ’-ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·. Π ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΠ°ΡΠ½Π΅ΠΌ, ΡΠ΅ Π½Π°Π΅ΠΌΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΠΊΠ°Ρ Ρ ΠΊΠ»ΡΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏ, ΠΈΠ»ΠΈ Π΄ΠΎΡΠΈ ΡΠ΅ ΠΏΠΎΡΡΡΠΎΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡ. ΠΡΠ² Π²ΡΠ΅ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΉ, Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΠ΅ ΠΏΡΠΈ Π½Π°Π΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅Ρ ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΡΠΎΠ²ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ, ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΠΈΡΠΊ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΄Π° ΠΎΡΡΠ°Π½Π΅ βΡΡΠΎΡΠ½Π΅Ρ ΠΎΡ Ρ ΠΎΡΡΠ΅ΡΠ°β, ΠΊΠΎΠΉΡΠΎ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ Π½Π΅ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π° Π²ΠΈ ΡΠ»Π΅Π΄ΠΈ, Π° Π·Π° Π΄Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈ ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ²ΡΡΠ°.
ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° ΡΡΡΠ²ΡΡΠ°
Π’ΡΠΊ Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ. ΠΠ·Π±ΠΈΡΠ°ΠΌΠ΅ Ρ Π°ΡΠ΄ΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ ΠΎΠ±ΡΠ°Π· FreeBSD. ΠΠ»ΠΈ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°ΠΌΠ΅ (Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π΄ΡΡΠ³ Ρ ΠΎΡΡΠ΅Ρ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅) ΠΏΠΎ IPMI ΠΈΠ»ΠΈ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΎΠ±ΡΠ°Π·Π° Π½Π° FreeBSD .iso. ΠΠ° ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠ°Π½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ΠΈ . ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ, Π² Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Ρ Kimsufi, ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π·Π° Π΄Π° ΠΈΠΌΠ°Ρ Π΄Π²Π°ΡΠ° Π΄ΠΈΡΠΊΠ° Π² ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎ βΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈβ ΡΠ°ΠΌΠΎ Π·Π° boot ΠΈ /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 Π² ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΠΊ.
ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Ρ ΠΎΡΡ ΡΡΠ΅Π΄Π°
ΠΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ FS . Π’ΠΎΠ²Π° Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΡΡΠ²ΡΡΠ°. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° 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 β Π΅ΡΠΎ, ΠΈΠΌΠ°ΠΌΠ΅ Π³ΠΎΡΠΎΠ² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ Π±ΠΎΠ΅Π½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ. ΠΠ΅ΡΠΊΠ°Π»Π΅Π½ ΠΌΠ°ΡΠΈΠ² ΠΎΡ Π΄ΠΈΡΠΊΠΎΠ²Π΅ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΠΈΡΠ΅.
Π‘ΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ Π΄Π°ΡΠ°ΡΠ΅Ρ Π½Π° Π½ΠΎΠ²ΠΈΡ "ΠΏΡΠ»"
zfs create vms/jails
pkg install cbsd β ΡΡΠ°ΡΡΠΈΡΠ°Ρ
ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π·Π° Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠΈ.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ 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 Π·Π° ΠΊΠ»Π΅ΡΠΊΠΈ
nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC
## ΠΠΎΡΡ Π·Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π±ΠΈΡΠΊΠΎΠΉΠ½ ΠΌΡΠ΅ΠΆΠ°ΡΠ°
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 ΠΈ Π±Π΅Π»ΠΈΡΠ΅ ΡΠΏΠΈΡΡΡΠΈ, ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ, ΠΏΡΠΎΡΠΈΡΠ°ΠΉΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΡΡΠΎ ΠΈ Π΄Π° Π΅ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎ ΡΡΠ°ΡΠΈΠΈ, Π½Π°Π»ΠΈΡΠ½ΠΈ Π² Π³ΡΠ³ΡΠ».
Π, ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ cbsd, Π²ΡΠ΅ΠΌΠ΅ Π΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π½Π°ΡΠ΅ΡΠΎ ΠΏΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ β Π±ΠΈΡΠΊΠΎΠΉΠ½ Π΄Π΅ΠΌΠΎΠ½ Π² ΠΊΠ»Π΅ΡΠΊΠ°!
cbsd jconstruct-tui

Π’ΡΠΊ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π·Π° ΡΡΠ·Π΄Π°Π²Π½Π΅ Π½Π° ΠΊΠ»Π΅ΡΠΊΠ°. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π·Π°Π΄Π°Π΄Π΅ΠΌ Π²ΡΠΈΡΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅!
ΠΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΡΠ²Π°ΡΠ° ΠΊΠ»Π΅ΡΠΊΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° Π·Π° ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅. ΠΠ· ΠΈΠ·Π±ΠΈΡΠ°ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ ΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ FreeBSD Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° repo. Π’ΠΎΠ·ΠΈ ΠΈΠ·Π±ΠΎΡ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ°ΠΌΠΎ ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΡΠ²Π°ΡΠ° ΠΊΠ»Π΅ΡΠΊΠ° Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ (ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ
ΠΎΡΡΠ²Π°ΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠΈ Π½Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎ-ΡΡΠ°ΡΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Ρ
ΠΎΡΡΠ°).
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΎ β ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ°!
# cbsd jstart bitcoind
ΠΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΡΠΎΡΡΡΠ΅ΡΠ° Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ°.
# jls
JID IP Address Hostname Path
1 192.168.0.1 bitcoind.space.com /zroot/jails/jails/bitcoindjexec bitcoind Π·Π° Π΄Π° Π²Π»Π΅Π·Π΅ΠΌ Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° Π½Π° ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ°
ΠΈ Π²Π΅ΡΠ΅ Π²ΡΡΡΠ΅ Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΡΠΎΡΡΡΠ΅ΡΠ° Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΠΌΡ (Π½Π°ΡΠ°ΡΠ° Ρ ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΡΠ°Π²Π° ΡΠΈΡΡΠ°)
bitcoind:/@[15:25] # pkg install bitcoin-daemon bitcoin-utils
bitcoind:/@[15:30] # sysrc bitcoind_enable=YES
bitcoind:/@[15:30] # service bitcoind start
ΠΠΈΡΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ° Π΅ Π½Π°Π»ΠΈΡΠ΅Π½, Π½ΠΎ Π½ΠΈ ΡΡΡΠ±Π²Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΡΡ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°ΠΌΠ΅ Ρ Π½ΡΠΊΠΎΠΈ ΠΊΠ»Π΅ΡΠΊΠΈ ΠΏΡΠ΅Π· ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π’ΠΠ . Π Π²ΡΡΡΠ½ΠΎΡΡ Π² ΠΏΠ»Π°Π½ΠΎΠ²Π΅ΡΠ΅ Π½ΠΈ Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΊΠ»Π΅ΡΠΊΠΈ Ρ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΡΠ°ΠΌΠΎ ΠΏΡΠ΅Π· ΠΏΡΠΎΠΊΡΠΈ. ΠΠΎΡΠ°Π΄ΠΈ ΡΠΎΠ²Π° 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 ΠΈ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π΅ Π½Π° apache ΠΈ 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 firewall
ΠΠ΅ΠΊΠ° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ 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, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΡΡΠΈΡΡ ΠΏΠΎΡΡΡΠ΅ΠΉΠ» ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π°
Π»Π°ΠΏΡΠΎΠΏΠΈΡΠ΅ Π½ΠΈ. ΠΠ° ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΅Π»Π΅ΠΊΡΡΡΠΌ Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ, Π° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ Π² ΠΎΡΠ΅ Π΅Π΄Π½Π° ΠΊΠ»Π΅ΡΠΊΠ° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ , Π·Π° Π΄Π° Π·Π°Π²ΠΈΡΠΈΠΌ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΡ Π½ΠΈΠΊΠΎΠ³ΠΎ.
# cbsd jsconstruct-tui
# cbsd jstart electrum
# jexec electrum
electrum:β@[8:45] # pkg install py36-electrum
ΠΎΡΠ΅ 700 ΠΠ ΡΠΎΡΡΡΠ΅Ρ ΠΈΠΌΠ°ΠΌΠ΅ Π² ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ°
electrum:β@[8:53] # adduser
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅: wallet
ΠΡΠ»Π½ΠΎ ΠΈΠΌΠ΅:
Uid (ΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΠΏΡΠ°Π·Π½ΠΎ Π·Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅):
Login group [wallet]:
Login group Π΅ wallet. ΠΠ° ΠΏΠΎΠΊΠ°Π½ΠΈΠΌ wallet Π² Π΄ΡΡΠ³ΠΈ Π³ΡΡΠΏΠΈ? []:
Login class [default]:
Π§Π΅ΡΡΠΏΠΊΠ° (sh csh tcsh nologin) [sh]: tcsh
ΠΠΎΠΌΠ°ΡΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ [βhomeβwallet]:
ΠΡΠ°Π²Π° Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ (ΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΠΏΡΠ°Π·Π½ΠΎ Π·Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅):
ΠΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π»ΠΈ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Ρ ΠΏΠ°ΡΠΎΠ»Π°? [Π΄Π°]: Π½Π΅
ΠΠ° ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠ° Π»ΠΈ ΠΏΡΠΎΡΠΈΠ»Π° ΡΠ»Π΅Π΄ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅? [Π½Π΅]:
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅: wallet
ΠΠ°ΡΠΎΠ»Π°: <disabled>
ΠΡΠ»Π½ΠΎ ΠΈΠΌΠ΅:
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Π Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Linux ΠΌΠ°ΡΠΈΠ½Π°
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 (<no hostip for proxy command>)' Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°.
ECDSA ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΡ ΠΎΡΠΏΠ΅ΡΠ°ΡΡΠΊ Π΅ SHA256:iW8FKjhVF4yyOZB1z4sBkzyvCM+evQ9cCL/EuWm0Du4.
Π‘ΠΈΠ³ΡΡΠ½ΠΈ Π»ΠΈ ΡΡΠ΅, ΡΠ΅ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅ ΡΡΡ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ (Π΄Π°/Π½Π΅/[ΠΎΡΠΏΠ΅ΡΠ°ΡΡΠΊ])? Π΄Π°
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π΅Π½ 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion' (ECDSA) ΠΊΡΠΌ ΡΠΏΠΈΡΡΠΊΠ° Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Ρ
ΠΎΡΡΠΎΠ²Π΅.
FreeBSD 12.1-RELEASE-p1 GENERIC
ΠΠ° Π΄Π° ΡΠΏΠ΅ΡΡΠΈΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² Π΄ΠΎΠΌΠ°ΡΠ½Π°ΡΠ° ΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Ρ "gzip filename".
-- Dru <genesis@istar.ca>
wallet@electrum:~ % logout
Π£ΡΠΏΠ΅Ρ !
ΠΠ° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½ΠΈ ΠΈ ΠΌΠΈΠΊΡΠΎ ΠΏΠ»Π°ΡΠ°Π½ΠΈΡ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° ΠΈ Π½ΠΎΠ΄Π° , Π²ΡΡΡΠ½ΠΎΡΡ ΡΠΎΠ²Π° ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π°ΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Ρ Π±ΠΈΡΠΊΠΎΠΉΠ½. Π£ *, ΠΊΠΎΠΉΡΠΎ ΡΠΌΡΡΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠ°ΡΠΎ Π΄Π΅ΠΌΠΎΠ½, ΠΈΠΌΠ° , ΠΊΠΎΠΉΡΠΎ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Ρ HTTP (REST) ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π±ΠΎΡΠ° ΠΊΠ°ΠΊΡΠΎ Ρ off-chain ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠ° ΠΈ Ρ on-chain ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. c-lightning Π·Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ Π½ΡΠΆΠ½Π° bitcoind Π½ΠΎΠ΄.
*ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π―Π Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Lightning Network. ΠΡ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΡΠ²Π°Ρ ΠΌΠ΅, c-lightning (Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C) ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π½Π°ΠΉ-ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΈ ΡΠ΅ΡΡΡΡΠ½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½.
# 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 Π°Π΄ΡΠ΅Ρ Π½Π° Π½Π°ΡΠ°ΡΠ° Π½ΠΎΠ΄Π° ΠΈ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π· Π’ΠΠ . ΠΠ°ΡΠΎΠ²Π° Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ .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: /home/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 ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ snapshots ΠΈ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Π½ΠΎΠ²Π° ΠΊΠ»Π΅ΡΠΊΠ° Ρ ΡΠΎΠ·ΠΈ snapshot. ΠΠΎΠ²Π°ΡΠ° ΠΊΠ»Π΅ΡΠΊΠ° ΡΠ΅ ΠΈΠΌΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π½ΠΎ Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ ΡΠ΅ ΠΎΡΡΠΈΡΠ° ΡΠ°ΠΌΠΎ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° (ΡΠ΅ ΡΠΏΠ΅ΡΡΠΈΠΌ ΠΏΠΎΠ½Π΅ 190 GB).
ΠΡΡΠΊΠ° ΠΊΠ»Π΅ΡΠΊΠ° Π΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΎΡΠ΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ ZFS ΠΈ ΡΠΎΠ²Π° Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ. Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ Π½Π΅ΡΠ°, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° snapshots ΠΏΠΎ SSH. ΠΡΠΌΠ° Π΄Π° Π³ΠΎ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, Π²Π΅ΡΠ΅ Π΅ Π΄ΠΎΡΡΠ°.
ΠΠ°ΠΆΠ½ΠΎ Π΅ ΡΡΡΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Ρ ΠΎΡΡΠ°, Π·Π° ΠΊΠΎΠ΅ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ .
Π β Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ
Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΠ°, Π½Π΅ΠΊΠ° Π΄Π° ΠΈΠ·Ρ ΠΎΠ΄ΠΈΠΌ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°:
ΠΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΎΡΡ β Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π½Π° UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠΌΠ΅ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Π²ΡΠ΅ΠΊΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠ΄Π΅Π»Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° β ΠΊΠ»Π΅ΡΠΊΠ°. ΠΠΎΡΡΡΠΏΡΡ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Ρ Π»ΠΈΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅. Π¦ΡΠ»Π°ΡΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈ Π΄ΠΎ ΠΊΡΠ°ΠΉΠ½ΠΈΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠΈ ΠΏΡΠΎΡΠΈΡΠ° Π² ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ Π²ΠΈΠ΄. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π΅ ΡΠ΅ ΠΏΡΠΈΡΠ΅ΡΠ½ΡΠ²Π°ΠΌΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΡΠΈ ΡΠΌΡΠ½Π° Π½Π° Π΄ΠΈΡΠΊ ΠΈΠ»ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° Π΄ΡΡΠ³ ΡΡΡΠ²ΡΡ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΡ ΠΊΡΠΈΡΠΈΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΅ Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ Ρ ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°ΠΊΡΠ² Π΄ΠΎΡΡΡΠΏ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅.
ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ΅Ρ β ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΡΠ°Π²Π° Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½ΠΈΠ²Π°. ΠΡΡΠ²ΠΎ, Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ Π² ΡΠ»ΡΡΠ°Ρ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅, ECC ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ZFS Π²Π΅ΡΠ΅ "ΠΈΠ·Π²ΡΠ½ ΡΠ°Π·ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°" ΡΠ΅ Π³ΡΠΈΠΆΠΈ Π·Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ Π±ΠΈΡΠΎΠ²Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ³Π½ΠΎΠ²Π΅Π½ snapshots ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ ΠΏΠΎ Π²ΡΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅, Π½Π° Π»Π΅ΡΠΈΡΠ°. Π£Π΄ΠΎΠ±Π½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎ.
ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡ β Π’ΡΠΊ Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½ΠΎ. ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΎΡ ΡΡΠ΅ΠΏΠ΅Π½ΡΠ° Π½Π° Π²Π°ΡΠ°ΡΠ° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΡΡ ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠ°Π³ΠΎΠ²Π΅. Π Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠΈΠ³ΡΡΠΈΡ ΠΌΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠΎΡΡΡΠ΅ΠΉΠ»Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ ΠΎΡ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π½Π° TOR. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ Π½Π° Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π° ΠΈ Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΡΡΡΠ²ΡΡΠ° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ ΠΏΡΠ΅Π· ΡΡΠ½Π΅Π»ΠΈ (TOR ΠΈΠ»ΠΈ 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
