Π‘Π΅ ΡΠ»ΡΡΠΈ ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ° Π΄Π° ΡΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠΈ (Π½Π°ΠΊΡΠ°ΡΠΊΠΎ: ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ), Π° Π½Π΅ΡΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈΠΌΠ°Π² ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΌΡ ΠΊΠ°ΠΆΠ°ΠΌ Π½Π° ΠΏΡΠΎΡ. Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΠΎΠΊ ΡΠΏΠ΅ΠΊΡΠ°Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΠΈ ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ Π±Π°ΡΠ°Π°Ρ [Π΅ΠΊΡΡΡΠ΅ΠΌΠ½ΠΈ] Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΈ ΠΌΠ΅ΡΠΊΠΈ. Π‘Π΅ ΡΠ»ΡΡΠΈ ΠΈ ΠΏΡΠ΅Π΄ Π½Π΅ΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΠΌΠΈ ΡΠ΅ ΡΠΈΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ dev
, Π·Π½Π°ΡΠΈ, ΠΌΠΈΠ½ΡΠ²Π°Π²). ΠΠΎ, Π½Π΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌ Π·Π° ΡΠ°Π·Π²ΠΎΡ, Π·Π±ΠΎΡΡΠ²Π°ΠΌ Π·Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ ΠΈ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ ΠΎΠΏΠΊΡΡΠΆΡΠ²Π°ΡΠ΅ Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ.
Π€ΠΈΠ½Π°Π½ΡΠΈΡΠΊΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° (fintech) ΠΎΠ΄ΠΈ Π²Π΅Π΄Π½Π°Ρ Π΄ΠΎ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈΡΠ΅ (ΠΈΠ½ΡΠΎΡΠ΅ΠΊ) ΠΈ ΠΏΡΠ²ΠΈΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π±Π΅Π· Π²ΡΠΎΡΠΈΠΎΡ, Π½ΠΎ Π½Π΅ Π΄ΠΎΠ»Π³ΠΎ. ΠΠ°ΡΠΎΠ° ΡΠ°ΠΊΠ°ΠΌ Π΄Π° Π³ΠΎ ΡΠΏΠΎΠ΄Π΅Π»Π°ΠΌ ΠΌΠΎΠ΅ΡΠΎ ΠΈΡΠΊΡΡΡΠ²ΠΎ ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠΎΡ Π°Π»Π°ΡΠΊΠΈ ΡΡΠΎ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠ°ΠΌ, Π° ΠΊΠΎΠΈ Π³ΠΈ Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ ΠΈ Π΄Π²Π΅ΡΠ΅ fintechΠ ΠΈΠ½ΡΠΎΡΠ΅ΠΊ, Π° Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈ Π·Π° ΠΏΠΎΡΠΈΡΠΎΠΊΠ° ΠΈΠ»ΠΈ ΡΠΎΡΠ΅ΠΌΠ° ΠΏΠΎΠΈΠ½Π°ΠΊΠ²Π° Π½Π°ΠΌΠ΅Π½Π°. ΠΠΎ ΠΎΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ° ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ Π½Π΅ ΡΠΎΠ»ΠΊΡ Π·Π° ΠΠΈΡΠΊΠΎΠΈΠ½, ΡΡΠΊΡ Π·Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π» Π·Π° ΡΠ°Π·Π²ΠΎΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΈΠ½Π°Π½ΡΠΈΡΠΊΠΈ (ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ) ΡΡΠ»ΡΠ³ΠΈ - ΡΠΎ Π΅Π΄Π΅Π½ Π·Π±ΠΎΡ, ΠΎΠ½ΠΈΠ΅ ΡΡΠ»ΡΠ³ΠΈ ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ βΠβ. ΠΠ²Π° ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π° ΠΈ Π½Π° ΡΠ°Π·ΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΠΠΈΡΠΊΠΎΠΈΠ½ ΠΈ Π½Π° Π½Π°ΡΡΠΈΠΏΠΈΡΠ½Π°ΡΠ° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½Π° Π·ΠΎΠΎΠ»ΠΎΡΠΊΠ° Π³ΡΠ°Π΄ΠΈΠ½Π° Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π½Π° ΠΌΠ°Π»Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠ° ΠΊΠΎΡΠ° Π½Π° ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ Π½Π°ΡΠΈΠ½ Π½Π΅ Π΅ ΠΏΠΎΠ²ΡΠ·Π°Π½Π° ΡΠΎ ΠΠΈΡΠΊΠΎΠΈΠ½.
ΠΠΈ ΡΠ°ΠΊΠ°Π» Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠ°ΠΌ Π΄Π΅ΠΊΠ° ΡΡΠΌ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Ρ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ βΠΠ΅ΠΊΠ° Π±ΠΈΠ΄Π΅ Π³Π»ΡΠΏΠ°Π²ΠΎ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎβ ΠΈ "ΠΏΠΎΠΌΠ°Π»ΠΊΡ Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅", Π·Π°ΡΠΎΠ°, ΠΈ ΡΡΠ°ΡΠΈΡΠ°ΡΠ° ΠΈ ΠΎΠ½Π° ΡΡΠΎ Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΠΎ Π½Π΅Π³ΠΎ ΡΠ΅ Π³ΠΈ ΠΈΠΌΠ°Π°Ρ ΡΠ²ΠΎΡΡΡΠ²Π°ΡΠ° Π·Π° ΠΊΠΎΠΈ ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π°Π°Ρ ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ.
ΠΠΌΠ°Π³ΠΈΠ½Π°ΡΠ½ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΎ: ΠΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΡΓ¨ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ Π½Π° ΡΠ°Π·ΠΌΠ΅Π½ΡΠ²Π°Ρ Π½Π° Π±ΠΈΡΠΊΠΎΠΈΠ½. Π Π΅ΡΠΈΠ²ΠΌΠ΅ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌΠ΅ ΡΠ°Π·ΠΌΠ΅Π½Π° Π½Π° ΡΡΠ±Π»ΠΈ, Π΄ΠΎΠ»Π°ΡΠΈ, Π΅Π²ΡΠ° Π·Π° Π±ΠΈΡΠΊΠΎΠΈΠ½ΠΈ ΠΈ Π½Π°Π·Π°Π΄, ΠΈ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈ ΠΏΠ°ΡΠΈ ΠΊΠ°ΠΊΠΎ qiwi ΠΈ webmoney, Ρ.Π΅. ΠΠΈ Π·Π°ΡΠ²ΠΎΡΠΈΠ²ΠΌΠ΅ ΡΠΈΡΠ΅ ΠΏΡΠ°Π²Π½ΠΈ ΠΏΡΠ°ΡΠ°ΡΠ°, ΠΈΠΌΠ°ΠΌΠ΅ Π³ΠΎΡΠΎΠ²Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠ° ΡΠ»ΡΠΆΠΈ ΠΊΠ°ΠΊΠΎ ΠΏΠΎΡΡΠ° Π·Π° ΠΏΠ»Π°ΡΠ°ΡΠ΅ Π½Π° ΡΡΠ±Π»ΠΈ, Π΄ΠΎΠ»Π°ΡΠΈ ΠΈ Π΅Π²ΡΠ° ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠΎΠ²ΡΠ·Π°Π½ Π΅ ΡΠΎ Π½Π°ΡΠΈΡΠ΅ Π±Π°Π½ΠΊΠ°ΡΡΠΊΠΈ ΡΠΌΠ΅ΡΠΊΠΈ ΠΈ ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΡ Π²ΠΈΠ΄ API Π·Π° Π½Π°ΡΠΈΡΠ΅ ΠΊΡΠ°ΡΠ½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠΌΠ°ΠΌΠ΅ ΠΈ Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠ° Π΄Π΅Π»ΡΠ²Π° ΠΊΠ°ΠΊΠΎ ΡΠ°Π·ΠΌΠ΅Π½ΡΠ²Π°Ρ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅, Π΄ΠΎΠ±ΡΠΎ, ΠΊΠ°ΠΊΠΎ ΡΠΈΠΏΠΈΡΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π½Π° qiwi ΠΈΠ»ΠΈ webmoney - ΠΊΡΠ΅ΠΈΡΠ°ΡΡΠ΅ ΡΠΌΠ΅ΡΠΊΠ°, Π΄ΠΎΠ΄Π°ΡΡΠ΅ ΠΊΠ°ΡΡΠΈΡΠΊΠ° ΠΈΡΠ½. ΠΠΎΠΌΡΠ½ΠΈΡΠΈΡΠ° ΡΠΎ Π½Π°ΡΠ°ΡΠ° ΠΏΠΎΡΡΠ°Π»Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°, ΠΈΠ°ΠΊΠΎ ΠΏΡΠ΅ΠΊΡ REST API Π²ΠΎ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΎΠ±Π»Π°ΡΡ. Π ΡΠ°ΠΊΠ° ΡΠ΅ΡΠΈΠ²ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ²ΡΠ·Π΅ΠΌΠ΅ Π±ΠΈΡΠΊΠΎΠΈΠ½ΠΈ ΠΈ Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΡΠ° Π½Π°Π΄Π³ΡΠ°Π΄ΠΈΠΌΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, Π±ΠΈΠ΄Π΅ΡΡΠΈ ... ΠΡΠ²ΠΈΡΠ½ΠΎ, ΡΓ¨ Π±Π΅ΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΎ Π½Π°Π±ΡΠ·ΠΈΠ½Π° Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΊΡΡΠΈΠΈ Π²ΠΎ ΠΊΠ°Π½ΡΠ΅Π»Π°ΡΠΈΡΠ°ΡΠ° ΠΏΠΎΠ΄ ΠΌΠ°ΡΠ°ΡΠ°... ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΏΠΎΡΠ½Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ, Π° Π½ΠΈΠ΅ ΠΏΠΎΡΠ½Π°Π²ΠΌΠ΅ Π΄Π° ΡΠ΅ Π³ΡΠΈΠΆΠΈΠΌΠ΅ Π·Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅.
ΠΠ½Π°ΡΠΈ, Π΄Π° ΠΏΠΎΡΠ½Π΅ΠΌΠ΅ ΡΠΎ Π³Π»Π°Π²Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° - ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΈΠ΄Π΅ΡΡΠΈ Π±ΠΈΠ·Π½ΠΈΡΠΎΡ Π²ΠΎ Π½Π°ΡΠΈΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΅ ΠΌΠ°Π» ΠΈ ΠΌΡ Π²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π½Π° Ρ
ΠΎΡΡΠ΅ΡΠΎΡ (OVH) ΡΡΠΎ ΡΠ΅ Π³ΠΎ ΠΈΠ·Π±Π΅ΡΠ΅ΠΌΠ΅
ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ
Π‘Γ¨ Π΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΎΠ²Π΄Π΅. ΠΠΈΠ΅ Π³ΠΎ ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ Ρ
Π°ΡΠ΄Π²Π΅ΡΠΎΡ ΡΡΠΎ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π½Π° Π½Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈ. ΠΠΎΡΠΎΠ° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΡΠ° ΡΠ»ΠΈΠΊΠ°ΡΠ° Π½Π° FreeBSD. ΠΠ°, ΠΈΠ»ΠΈ ΡΠ΅ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΠΌΠ΅ (Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° Π΄ΡΡΠ³ Ρ
ΠΎΡΡΠ΅Ρ ΠΈ Π½Π°Ρ ΡΠΎΠΏΡΡΠ²Π΅Π½ Ρ
Π°ΡΠ΄Π²Π΅Ρ) ΠΏΡΠ΅ΠΊΡ IPMI ΠΈΠ»ΠΈ ΡΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΈ ΡΠ° Π²Π½Π΅ΡΡΠ²Π°ΠΌΠ΅ ΡΠ»ΠΈΠΊΠ°ΡΠ° .iso FreeBSD Π²ΠΎ ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ΡΠΎ. ΠΠ° ΠΎΡΠΊΠ΅ΡΡΠ°ΡΡΠΊΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°ΠΌ
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π΅Π½ Π½Π°ΡΠΈΠ½, Π½Π΅ΠΌΠ° Π΄Π° ΡΠ΅ Π·Π°Π΄ΡΠΆΠ°ΠΌ Π½Π° ΠΎΠ²Π°, ΡΠ°ΠΌΠΎ ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠ°ΠΌ Π΄Π΅ΠΊΠ° ΠΏΡΠ΅Π΄ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ ΡΠΎ ΡΠ°Π±ΠΎΡΠ° Π²ΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ½Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠ²ΡΠ΄Π½ΡΠ²Π°ΡΠ΅ ΠΎΠΏΡΠΈΠΈ ΡΡΠΎ Π³ΠΈ Π½ΡΠ΄ΠΈ 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
ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΈ Π΄Π΅ΠΊΠ° ΡΠ° ΠΈΠΌΠ°ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΎ Π½Π°ΡΠ½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΈ
ΠΠΎΡΠΎΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ 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 Π°ΠΊΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΡΠ΅Π»ΠΎΡΠ½Π° Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ°.
ΠΠ° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΠΈ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΡΡΠΎ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠ°ΠΌ
ΠΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ? ΠΠΎΠΊΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ»ΠΈ ΡΡΠΎ?
ΠΠΎ Π½Π΅. cbsd
Π΄Π° Π³ΠΈ ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠ° ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ, ΠΊΠΎΠΈ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π°Π°Ρ ΠΊΠ»Π΅ΡΠΊΠΈ.
ΠΠ°ΡΠ΅Π·ΠΎΡ Π΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ·Π³ΡΠ°Π΄Π±Π° Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½Π°ΠΌΠ΅Π½ΠΈ, ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π½Π° ΠΊΡΠ°ΡΠΎΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° ΡΠ΅Π»ΠΎΡΠ½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ. ΠΠΎ ΡΡΡΡΠΈΠ½Π°, ΡΠΎΠ° Π΅ ΠΊΠ»ΠΎΠ½ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΄ΠΎΠΌΠ°ΡΠΈΠ½, Π½ΠΎ Π½Π΅ Π±Π°ΡΠ° ΡΠ΅Π»ΠΎΡΠ½Π° Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΠΎΡ. Π Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ²Π°, ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π΅ ΡΠ΅ ΡΡΠΎΡΠ°Ρ Π½Π° βΠ³ΠΎΡΡΠΈΠ½ΡΠΊΠΈΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌβ, ΡΡΠΊΡ ΡΠ°ΠΌΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°. ΠΠΎΠ³Π° ΡΠ΅Π»ΠΈΠΈΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π° Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈ, ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ - Π΅Π΄Π΅Π½ ΠΊΡΠΏ ΡΠ΅Π»ΠΈΠΈ Π½Π° Π΅Π΄Π΅Π½ Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅ ΡΠ΅ΠΊΠΎΡ ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΎ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅Π»ΠΈΠΎΡ ΡΠ΅ΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ. ΠΠΌΠ°ΡΡΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° ΠΎΠ±ΠΈΡΠ½ΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΠ΄ΡΡΠ»ΡΠ³ΠΈ ΠΈΠΌ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ. ΡΠ΅ΡΡΡΡΠΈ Π²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΠΎΠ΄ Π΅Π΄Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ Π°ΠΊΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π³ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠ΅ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅Π»ΠΈΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΈΡΠ΅. ΠΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ, Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌ ΡΠ΅ Π΄Π°Π΄Π°Ρ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈΠΎΡ ΡΠ΅ΡΡΡΡ.
Π¨ΡΠΎ Π΅ ΡΠΎ ΡΠ΅Π»ΠΎΡΠ½Π° Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ°?
ΠΠΎΠ»ΠΊΡ ΡΡΠΎ Π·Π½Π°ΠΌ, cbsd
ΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° bhyve
ΠΈ XEN Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΈ. ΠΡΠΎΡΠΈΠΎΡ Π½ΠΈΠΊΠΎΠ³Π°Ρ Π½Π΅ ΡΡΠΌ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅Π», Π½ΠΎ ΠΏΡΠ²ΠΈΠΎΡ Π΅ ΡΠ΅Π»Π°ΡΠΈΠ²Π½ΠΎ Π½ΠΎΠ² bhyve
Π²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ ΠΏΠΎΠ΄ΠΎΠ»Ρ.
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ
ΠΠΈΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ FS
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 for jails
nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC
## Bitcoin network port forward
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
ΠΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° Π·Π°ΡΡΠΈΡΠ΅Π½ ΡΠΈΠ΄ Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΡΠ΅Π±Π½Π° ΡΠ΅ΠΌΠ°, ΡΠ°ΠΊΠ° ΡΡΠΎ Π½Π΅ΠΌΠ° Π΄Π° Π½Π°Π²Π»Π΅Π³ΡΠ²Π°ΠΌ Π΄Π»Π°Π±ΠΎΠΊΠΎ Π²ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° ΠΠΠΠΠΠ ΠΠ Π‘ΠΠ’Π ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π±Π΅Π»ΠΈ Π»ΠΈΡΡΠΈ, ΡΠΎΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎ ΡΠΈΡΠ°ΡΠ΅
ΠΠ°... ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΎ 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/bitcoind
jexec 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, ΠΊΠΎΡ ΡΠ΅ Π΄Π΅ΡΡΡΠ²ΡΠ²Π° ΠΊΠ°ΠΊΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΠΊΡΠΈ ΠΈ ΡΠ΅ ΡΠ΅ Π³ΡΠΈΠΆΠΈ Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅ Letβs Encrypt
# cbsd jsconstruct-tui
# cbsd jstart nginx-rev
# jexec nginx-rev
nginx-rev:/@[15:47] # pkg install nginx py36-certbot
Π ΡΠ°ΠΊΠ° ΡΡΠ°Π²ΠΈΠ²ΠΌΠ΅ 150 MB Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ Π²ΠΎ ΠΊΠ°ΡΠ΅Π·. Π Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ Π΅ ΡΡΡΠ΅ ΡΠΈΡΡ.
ΠΡΠ΄Π΅ Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈΠΌΠ΅ Π½Π° ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° nginx ΠΏΠΎΠ΄ΠΎΡΠ½Π°, ΡΡΠ΅Π±Π° Π΄Π° ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ΠΌΠ΅ ΡΡΡΠ΅ Π΄Π²Π΅ ΡΠ΅Π»ΠΈΠΈ Π·Π° Π½Π°ΡΠΈΠΎΡ ΠΏΠΎΡΡΠ°Π» Π·Π° ΠΏΠ»Π°ΡΠ°ΡΠ΅ Π½Π° nodejs and 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 MB ΠΏΠ°ΠΊΠ΅ΡΠΈ
Π‘Π»Π΅Π΄Π½ΠΎ, ΡΠ° ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠΎ git ΠΈ ΡΠ° ΡΡΠ°ΡΡΡΠ²Π°ΠΌΠ΅.
# cbsd jsconstruct-tui
# cbsd jstart webapp
# jexec webapp
webapp:/@[16:02] # pkg install mariadb104-server apache24 php74 mod_php74 php74-pdo_mysql
ΠΠ°ΠΊΠ΅ΡΠΈ ΠΎΠ΄ 450 MB. Π²ΠΎ ΠΊΠ°ΡΠ΅Π·.
ΠΎΠ²Π΄Π΅ ΠΌΡ Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏ Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ ΠΏΡΠ΅ΠΊΡ 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
ΠΠ°, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠΌΠ΅ ΡΡΠΊΠ°, Π°ΡΠ΄Π΅ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΏΡΠΎΠΊΡΠΈ:
## 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 ΠΏΠ°ΡΠΈΡΠ½ΠΈΠΊ.
Π»Π°ΠΏΡΠΎΠΏΠΈ. ΠΠ°ΡΠ΅Π³Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Electrum ΡΠΎ ΡΠ°Π²Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ, Π° ΠΏΠΎΠ΄ΠΎΡΠ½Π° ΡΠ΅ Π³ΠΎ ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ΠΌΠ΅ Π²ΠΎ Π΄ΡΡΠ³Π° ΡΠ΅Π»ΠΈΡΠ°
# cbsd jsconstruct-tui
# cbsd jstart electrum
# jexec electrum
electrum:/@[8:45] # pkg install py36-electrum
ΡΡΡΠ΅ 700 MB ΡΠΎΡΡΠ²Π΅Ρ Π²ΠΎ Π½Π°ΡΠΈΠΎΡ ΠΊΠ°ΡΠ΅Π·
electrum:/@[8:53] # adduser
Username: wallet
Full name:
Uid (Leave empty for default):
Login group [wallet]:
Login group is wallet. Invite wallet into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]: tcsh
Home directory [/home/wallet]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]: no
Lock out the account after creation? [no]:
Username : wallet
Password : <disabled>
Full Name :
Uid : 1001
Class :
Groups : wallet
Home : /home/wallet
Home Mode :
Shell : /bin/tcsh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (wallet) to the user database.
Add another user? (yes/no): no
Goodbye!
electrum:/@[8:53] # su wallet
electrum:/@[8:53] # su wallet
wallet@electrum:/ % electrum-3.6 create
{
"msg": "Please keep your seed in a safe place; if you lose it, you will not be able to restore your wallet.",
"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
ΠΠ° Π½Π°ΡΠΈΡΠ΅ Π½Π° ΡΠΈΠ½ΡΠΈΡ Π‘Π°ΠΌΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π±ΡΠΎΡ Π»ΡΡΠ΅ ΠΎΡΡΠ΅Π³Π° ΡΠ΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Ρ ΡΠΎ ΠΏΠ°ΡΠΈΡΠ½ΠΈΠΊΠΎΡ. ΠΠ° Π΄Π° Π½Π΅ ΡΠ΅ ΠΎΡΠ²ΠΎΡΠΈ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΎΠ²Π°Π° ΡΠ΅Π»ΠΈΡΠ° ΠΎΠ΄Π½Π°Π΄Π²ΠΎΡ, Π²ΡΡΠΊΠΈΡΠ΅ ΠΏΡΠ΅ΠΊΡ SSH ΡΠ΅ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π°Π°Ρ ΠΏΡΠ΅ΠΊΡ TOP (Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° VPN). ΠΠΎ ΡΡΠ°ΡΡΡΠ²Π°ΠΌΠ΅ SSH Π²ΠΎ ΡΠ΅Π»ΠΈΡΠ°ΡΠ°, Π½ΠΎ Π½Π΅ Π³ΠΎ Π΄ΠΎΠΏΠΈΡΠ°ΡΡΠ΅ Π½Π°ΡΠΈΠΎΡ pf.conf Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ.
electrum:/@[9:00] # sysrc sshd_enable=YES
electrum:/@[9:00] # service sshd start
Π‘Π΅Π³Π° Π΄Π° ΡΠ° ΠΈΡΠΊΠ»ΡΡΠΈΠΌΠ΅ ΡΠ΅Π»ΠΈΡΠ°ΡΠ° ΡΠΎ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π° ΠΏΠ°ΡΠΈΡΠ½ΠΈΠΊΠΎΡ. ΠΡΠ΄Π΅ Π΄Π° ΠΌΡ Π΄Π°Π΄Π΅ΠΌΠ΅ IP Π°Π΄ΡΠ΅ΡΠ° ΠΎΠ΄ Π΄ΡΡΠ³ ΠΏΡΠΎΡΡΠΎΡ Π½Π° ΠΏΠΎΠ΄ΠΌΡΠ΅ΠΆΠ° ΡΡΠΎ Π½Π΅ Π΅ NATed. ΠΡΠ²ΠΎ Π΄Π° ΡΠ΅ ΡΠΌΠ΅Π½ΠΈΠΌΠ΅ /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"
Remove old IP: /sbin/ifconfig em0 inet 192.168.0.6 -alias
Setup new 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 = socks5
polipo:/@[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 ΠΊΠ°ΠΊΠΎ Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π½Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° SSH Π²ΠΎ ΠΊΠ°ΡΠ΅Π·ΠΎΡ Π½Π° ΠΏΠ°ΡΠΈΡΠ½ΠΈΠΊΠΎΡ.
# jexec tor
tor:/@[9:59] # ee /usr/local/etc/tor/torrc
HiddenServiceDir /var/db/tor/electrum/
HiddenServicePort 22 192.168.0.200:22
tor:/@[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
The authenticity of host 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion (<no hostip for proxy command>)' can't be established.
ECDSA key fingerprint is SHA256:iW8FKjhVF4yyOZB1z4sBkzyvCM+evQ9cCL/EuWm0Du4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion' (ECDSA) to the list of known hosts.
FreeBSD 12.1-RELEASE-p1 GENERIC
To save disk space in your home directory, compress files you rarely
use with "gzip filename".
-- Dru <[email protected]>
wallet@electrum:~ % logout
Π£ΡΠΏΠ΅Ρ !
ΠΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈΠΌΠ΅ ΡΠΎ ΠΈΠ½ΡΡΠ°Π½Ρ ΠΈ ΠΌΠΈΠΊΡΠΎ-ΠΏΠ»Π°ΡΠ°ΡΠ°, Π½ΠΈ ΡΡΠ΅Π±Π° ΠΈ ΡΠ°Π·ΠΎΠ» c-lightning
ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π·Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°ΡΠ΅ bitcoind
Π½ΠΎ Π΄Π°.
*ΠΠΎΡΡΠΎΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ Lightning Network Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π·ΠΈΡΠΈ. ΠΠ΄ ΠΎΠ½ΠΈΠ΅ ΡΡΠΎ Π³ΠΈ ΡΠ΅ΡΡΠΈΡΠ°Π²ΠΌΠ΅, c-lightning (Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ C) ΡΠ΅ ΡΠΈΠ½Π΅ΡΠ΅ Π½Π°ΡΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΈ Π½Π°ΡΠ΅ΡΠΈΠΊΠ°ΡΠ΅Π½ Π·Π° ΡΠ΅ΡΡΡΡΠΈ
# cbsd jsconstruct-tui
# cbsd jstart cln
# jexec cln
lightning:/@[10:23] # adduser
Username: 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
#allow only c-lightning
rpcallowip=192.168.0.7/32
bitcoind:/@[10:39] # service bitcoind restart
ΠΠΎΠ΅ΡΠΎ Ρ
Π°ΠΎΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅ΡΡΠ»ΡΠ²Π°ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ΅Π»ΠΈΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° Π΄Π΅ΠΊΠ° Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΡ Ρ
Π°ΠΎΡΠΈΡΠ½ΠΎ Π°ΠΊΠΎ ΡΠ° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΎΡΡΠ° tmux
, ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½ΠΈ ΠΏΠΎΡΡΠ΅ΡΠΈΠΈ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΡΠ΅ΡΠΈΡΠ°. ΠΠ½Π°Π»ΠΎΠ³Π΅Π½: screen
ΠΠ½Π°ΡΠΈ, Π½Π΅ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΠ° ΠΎΡΠΊΡΠΈΠ΅ΠΌΠ΅ Π²ΠΈΡΡΠΈΠ½ΡΠΊΠ°ΡΠ° IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π½Π°ΡΠΈΠΎΡ ΡΠ°Π·ΠΎΠ» ΠΈ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° Π³ΠΈ ΡΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌΠ΅ ΡΠΈΡΠ΅ ΡΠΈΠ½Π°Π½ΡΠΈΡΠΊΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΏΡΠ΅ΠΊΡ Π’ΠΠ. ΠΠ°ΡΠΎΠ°, ΡΡΡΠ΅ Π΅Π΄Π΅Π½ .ΠΊΡΠΎΠΌΠΈΠ΄ Π½Π΅ Π΅ ΠΏΠΎΡΡΠ΅Π±Π΅Π½.
# jexec tor
tor:/@[9:59] # ee /usr/local/etc/tor/torrc
HiddenServiceDir /var/db/tor/cln/
HiddenServicePort 9735 192.168.0.7:9735
tor:/@[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 plugin
# 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
# for the example above the initialization logs (mixed with lightningd logs) should print something like
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
ΠΈΡΠΏΡΠ°ΡΠ΅ΡΠ΅ Π³ΠΈ ΡΠΈΡΠ΅ ΠΏΠ°ΡΠΈ Π²ΠΎ ΠΏΠ°ΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π½Π° Π°Π΄ΡΠ΅ΡΠ°ΡΠ° (ΡΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠΈ Π½Π° ΡΠΈΠ½ΡΠΈΡΠΎΡ)
ΠΡΡΠΎ ΡΠ°ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ ΡΠΈΠ½ΡΠΈΡΠΎΡ 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
ΠΠ°ΠΊΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, Π±ΠΈΡΠΊΠΎΠΈΠ½ΠΎΡ Π³ΠΈ Π·Π°ΡΠ°ΡΠ° ΡΠΈΡΠ΅ 190 GB ΠΏΡΠΎΡΡΠΎΡ. Π¨ΡΠΎ Π°ΠΊΠΎ Π½ΠΈ ΡΡΠ΅Π±Π° Π΄ΡΡΠ³ ΡΠ°Π·ΠΎΠ» Π·Π° ΡΠ΅ΡΡΠΎΠ²ΠΈ? ΠΠ²Π° Π΅ ΠΌΠ΅ΡΡΠΎΡΠΎ ΠΊΠ°Π΄Π΅ ΡΡΠΎ ZFS Π΄ΠΎΠ°ΡΠ° Π΄ΠΎΠ±ΡΠΎ. Π‘ΠΎ ΠΏΠΎΠΌΠΎΡ cbsd jclone old=bitcoind new=bitcoind-clone host_hostname=clonedbtc.space.com
ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠ»ΠΈΠΊΠ° ΠΈ Π΄Π° ΠΏΡΠΈΠΊΠ°ΡΠΈΡΠ΅ Π½ΠΎΠ²Π° ΡΠ΅Π»ΠΈΡΠ° Π½Π° ΠΎΠ²Π°Π° ΡΠ»ΠΈΠΊΠ°. ΠΠΎΠ²Π°ΡΠ° ΡΠ΅Π»ΠΈΡΠ° ΡΠ΅ ΠΈΠΌΠ° ΡΠ²ΠΎΡ ΠΏΡΠΎΡΡΠΎΡ, Π½ΠΎ ΡΠ°ΠΌΠΎ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΠΎΡ ΡΠ΅ ΡΠ΅ Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ (ΡΠ΅ Π·Π°ΡΡΠ΅Π΄ΠΈΠΌΠ΅ Π½Π°ΡΠΌΠ°Π»ΠΊΡ 190 GB)
Π‘Π΅ΠΊΠΎΡΠ° ΡΠ΅Π»ΠΈΡΠ° Π΅ ΡΠΎΠΏΡΡΠ²Π΅Π½Π° ΠΏΠΎΡΠ΅Π±Π½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° ZFS, ΠΈ ΠΎΠ²Π° Π΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ.
ΠΡΡΠΎ ΡΠ°ΠΊΠ°, Π²ΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π·Π° Π΄Π°Π»Π΅ΡΠΈΠ½ΡΠΊΠΎ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ, Π·Π° ΠΎΠ²ΠΈΠ΅ ΡΠ΅Π»ΠΈ ΡΡΠΎ Π³ΠΈ ΠΈΠΌΠ°ΠΌΠ΅
Π - Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ
ΠΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ°, Π΄Π° ΡΡΠ³Π½Π΅ΠΌΠ΅ ΠΎΠ΄ ΠΊΠ»ΡΡΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°:
ΠΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡ - Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΡΠ΅ Π°Π»Π°ΡΠΊΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ»ΠΈΡΠ½ΠΈ Π½Π° UNIX ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΎΠ²ΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ. ΠΠΎΠ³ΠΈΡΠ½ΠΎ Π³ΠΎ ΠΎΠ΄Π΄Π΅Π»ΡΠ²Π°ΠΌΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ ΡΠ΅ΠΊΠΎΡ Π»ΠΎΠ³ΠΈΡΠΊΠΈ ΠΎΠ΄Π΄Π΅Π»Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ - ΡΠ΅Π»ΠΈΡΠ°. ΠΡΠΈΡΡΠ°ΠΏΠΎΡ ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΡΠ΅ΠΊΡ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΈ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅. Π¦Π΅Π»Π°ΡΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΠΈ Π΄ΠΎ ΠΊΡΠ°ΡΠ½ΠΈΡΠ΅ ΡΠ΅Π»ΠΈΠΈ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° Π²ΠΎ ΡΠΈΡΡΠΈΡΠ°Π½Π° ΡΠΎΡΠΌΠ°. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΡ, Π½Π΅ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ Π³ΡΠΈΠΆΠΈΠΌΠ΅ Π·Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΏΡΠΈ Π·Π°ΠΌΠ΅Π½Π° Π½Π° Π΄ΠΈΡΠΊ ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΌΠΈΠ³ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π΄ΡΡΠ³ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΠΎΡ ΠΊΡΠΈΡΠΈΡΠ΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π΅ ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠ°ΠΊΠ²ΠΈΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ Π³Π΅Π½Π΅ΡΠ°Π»Π½ΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅.
ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ΅Ρ βΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΎΠ²ΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½ΠΈΠ²ΠΎΠ°. ΠΡΠ²ΠΎ, Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ Π΄Π΅ΠΊΠ° Π²ΠΎ ΡΠ»ΡΡΠ°ΡΠΎΡ Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΠΎΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ, ECC ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ZFS Π²Π΅ΡΠ΅ βΠ½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ ΠΊΡΡΠΈΡΠ°ΡΠ°β ΡΠ΅ Π³ΡΠΈΠΆΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅ΡΠΎΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠΊΠΈ Π±ΠΈΡΠΎΠ²ΠΈ. ΠΠ½ΡΡΠ°Π½Ρ ΡΠ½ΠΈΠΌΠΊΠΈΡΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°Π°Ρ Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΠΈ Π²ΠΎ ΡΠ΅ΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΡΠ΅ Π²ΠΎ Π»Π΅Ρ. ΠΡΠ°ΠΊΡΠΈΡΠ½ΠΈΡΠ΅ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΈΠ·Π²ΠΎΠ·/ΡΠ²ΠΎΠ· Π½Π° ΡΠ΅Π»ΠΈΠΈ ΡΠ° ΠΏΡΠ°Π²Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π°.
ΠΠΎΡΡΠ°ΠΏΠ½ΠΎΡΡ - ΠΠ²Π° Π΅ Π²Π΅ΡΠ΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½ΠΎ. ΠΠ°Π²ΠΈΡΠΈ ΠΎΠ΄ ΡΡΠ΅ΠΏΠ΅Π½ΠΎΡ Π½Π° ΡΠ²ΠΎΡΠ°ΡΠ° ΡΠ»Π°Π²Π° ΠΈ ΠΎΠ΄ ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ°Ρ Ρ Π΅ΡΡΠ΅ΡΠΈ. ΠΠΎ Π½Π°ΡΠΈΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΠ²ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΏΠ°ΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π΅ Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½ ΠΈΡΠΊΠ»ΡΡΠΈΠ²ΠΎ ΠΎΠ΄ Π’ΠΠ ΠΌΡΠ΅ΠΆΠ°ΡΠ°. ΠΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ ΡΓ¨ Π½Π° Π·Π°ΡΡΠΈΡΠ½ΠΈΠΎΡ ΡΠΈΠ΄ ΠΈ Π΄Π° Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΡ ΠΈΡΠΊΠ»ΡΡΠΈΠ²ΠΎ ΠΏΡΠ΅ΠΊΡ ΡΡΠ½Π΅Π»ΠΈ (TOR ΠΈΠ»ΠΈ VPN Π΅ Π΄ΡΡΠ³Π° ΡΠ°Π±ΠΎΡΠ°). Π’Π°ΠΊΠ°, ΡΠ΅ΡΠ²Π΅ΡΠΎΡ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅ΡΠ΅Π½ ΠΎΠ΄ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠ²Π΅Ρ, Π° ΡΠ°ΠΌΠΎ Π½ΠΈΠ΅ ΡΠ°ΠΌΠΈΡΠ΅ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π²Π»ΠΈΡΠ°Π΅ΠΌΠ΅ Π½Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΎΡΡ.
ΠΠ΅ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠ΄Π±ΠΈΠ²Π°ΡΠ΅ - Π ΠΎΠ²Π° Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ ΠΏΠΎΠ½Π°ΡΠ°ΠΌΠΎΡΠ½ΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ ΠΈ ΡΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΎΡΡΠ° ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠ°Π²Π°, ΠΏΡΠΈΡΡΠ°ΠΏ ΠΈΡΠ½. ΠΠΎ, ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ, ΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ Π΄Π΅ΡΡΡΠ²Π° ΡΠ΅ ΡΠ΅Π²ΠΈΠ΄ΠΈΡΠ°Π°Ρ, Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅Π΄Π²ΠΎΡΠΌΠΈΡΠ»Π΅Π½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π° ΠΊΠΎΡ ΠΈ ΠΊΠΎΠ³Π° ΠΈΠ·Π²ΡΡΠΈΠ» ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ Π΄Π΅ΡΡΡΠ²Π°.
Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΠΎΠΏΠΈΡΠ°Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π΅ Π΅ Π°ΠΏΡΠΎΠ»ΡΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ ΡΡΠ΅Π±Π° ΡΠ΅ΠΊΠΎΠ³Π°Ρ Π΄Π° Π±ΠΈΠ΄Π΅, ΡΡΠΊΡ Π΅ Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅, Π΄ΠΎΠ΄Π΅ΠΊΠ° Π·Π°Π΄ΡΠΆΡΠ²Π° ΠΌΠ½ΠΎΠ³Ρ ΡΠ»Π΅ΠΊΡΠΈΠ±ΠΈΠ»Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΡΠΊΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΡΠ²Π°ΡΠ΅.
Π¨ΡΠΎ Π΅ ΡΠΎ ΡΠ΅Π»ΠΎΡΠ½Π° Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ°?
ΠΠ° ΡΠ΅Π»ΠΎΡΠ½Π° Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ cbsd ΠΌΠΎΠΆΠ΅ΡΠ΅ bhyve
Π’ΡΠ΅Π±Π° Π΄Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΡΠ΅ Π½Π΅ΠΊΠΎΠΈ ΠΎΠΏΡΠΈΠΈ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ.
# cat /etc/rc.conf
...
kld_list="vmm if_tap if_bridge nmdm"
...
# cat /boot/loader.conf
...
vmm_load="YES"
...
ΠΠ½Π°ΡΠΈ, Π°ΠΊΠΎ ΠΎΠ΄Π΅Π΄Π½Π°Ρ ΡΡΠ΅Π±Π° Π΄Π° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π΄ΠΎΠΊΠ΅Ρ, ΡΠΎΠ³Π°Ρ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΡΠ΅ Π½Π΅ΠΊΠΎΡ Π΄Π΅Π±ΠΈΠ°Π½ ΠΈ ΠΎΠ΄Π΅ΡΠ΅!
Π’ΠΎΠ° Π΅ ΡΠ΅
ΠΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΠΌ Π΄Π΅ΠΊΠ° ΡΠΎΠ° Π΅ ΡΓ¨ ΡΡΠΎ ΡΠ°ΠΊΠ°Π² Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Π°ΠΌ. ΠΠΊΠΎ Π²ΠΈ ΡΠ΅ Π΄ΠΎΠΏΠ°Π΄Π½Π° ΡΡΠ°ΡΠΈΡΠ°ΡΠ°, ΡΠΎΠ³Π°Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΌΠΈ ΠΈΡΠΏΡΠ°ΡΠΈΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π±ΠΈΡΠΊΠΎΠΈΠ½ΠΈ -
ΠΠ·Π²ΠΎΡ: www.habr.com