Π’Π°ΠΊΠ° ΡΠ΅ ΡΠ»ΡΡΠΈ, ΡΠ΅ ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΠΈΡ ΡΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠΈ (Π½Π°ΠΊΡΠ°ΡΠΊΠΎ: ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ) ΠΈ ΠΈΠΌΠ°Ρ
Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΊΠ°ΠΆΠ° Π½Π° ΠΏΡΠΎΡ. ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 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
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 ΠΈ 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 Π½ΡΠΌΠ° Π΄Π° ΠΈΠΌΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ. ΠΠ΄ΠΈΠ½ Π²ΠΈΠ΄ ΡΠΎΡΡΡΠ΅ΡΠ½Π° βΠ²ΡΠ·Π΄ΡΡΠ½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π°β ΠΌΡΠ΅ΠΆΠ°. Π 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
Π, ΠΎΡ 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
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 Π½Π° Π½Π°ΡΠΈΡ Π²ΡΠ·Π΅Π» ΠΈ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π· TOP. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π΄ΡΡΠ³ .onion Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ.
# 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
ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, bitcoind Π·Π°Π΅ΠΌΠ° Π²ΡΠΈΡΠΊΠΈΡΠ΅ 190 GB ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΠΌΠΈ Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π΄ΡΡΠ³ Π²ΡΠ·Π΅Π» Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅? Π’ΡΠΊ ZFS ΠΈΠ΄Π²Π° Π½Π° ΠΏΠΎΠΌΠΎΡ. Π‘ ΠΏΠΎΠΌΠΎΡ cbsd jclone old=bitcoind new=bitcoind-clone host_hostname=clonedbtc.space.com
ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΈ Π΄Π° ΠΏΡΠΈΠΊΠ°ΡΠΈΡΠ΅ Π½ΠΎΠ²Π° ΠΊΠ»Π΅ΡΠΊΠ° ΠΊΡΠΌ ΡΠ°Π·ΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ°. ΠΠΎΠ²Π°ΡΠ° ΠΊΠ»Π΅ΡΠΊΠ° ΡΠ΅ ΠΈΠΌΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π½ΠΎ ΡΠ°ΠΌΠΎ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° ΡΠ΅ Π±ΡΠ΄Π΅ Π²Π·Π΅ΡΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° (ΡΠ΅ ΡΠΏΠ΅ΡΡΠΈΠΌ ΠΏΠΎΠ½Π΅ 190 GB)
ΠΡΡΠΊΠ° ΠΊΠ»Π΅ΡΠΊΠ° Π΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ ZFS Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠΎΠ²Π° Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΠ°ΡΠ»ΡΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Ρ
ΠΎΡΡΠ°, Π·Π° ΡΠ΅Π·ΠΈ ΡΠ΅Π»ΠΈ ΠΈΠΌΠ°ΠΌΠ΅
B - Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ
ΠΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, Π½Π΅ΠΊΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ ΠΎΡ ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°:
ΠΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΎΡΡ - Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π½Π° 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"
...
Π’Π°ΠΊΠ° ΡΠ΅, Π°ΠΊΠΎ ΠΈΠ·Π²Π΅Π΄Π½ΡΠΆ Π²ΠΈ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π΄ΠΎΠΊΠ΅Ρ, ΡΠΎΠ³Π°Π²Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² debian ΠΈ ΡΡΡΠ³Π²Π°ΠΉΡΠ΅!
Π’ΠΎΠ²Π° Π΅ Π²ΡΠΈΡΠΊΠΎ
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΠΌ, ΡΠ΅ ΡΠΎΠ²Π° Π΅ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΡΠΊΠ°Ρ
Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ. ΠΠΊΠΎ ΡΡΠ΅ Ρ
Π°ΡΠ΅ΡΠ°Π»ΠΈ ΡΡΠ°ΡΠΈΡΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΌΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ Π±ΠΈΡΠΊΠΎΠΉΠ½ΠΈ -
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com