බිට්කොයින් කූඩුවක?

වෘත්තියෙන් මම පරිගණක පද්ධති සහ ජාලවල පරිපාලකයෙක් (කෙටියෙන්: පද්ධති පරිපාලක) වන අතර, වසර 10 කට වඩා ටිකක් වැඩි කාලයක් මහාචාර්යවරයාට පැවසීමට මට අවස්ථාව ලැබුණි. [අතිශයින්ම] ආරක්‍ෂක පියවරයන් අවශ්‍ය ඒවා ඇතුළුව විවිධ පද්ධතිවල ක්‍රියාකාරකම්. කලකට පෙර මට එය සිත්ගන්නාසුළු වූ බවත් එය සිදු විය bitcoin, සහ එය භාවිතා කළා පමණක් නොව, සංවර්ධකයෙකුගේ දෘෂ්ටි කෝණයෙන් Bitcoin ජාලය (සියල්ලට පසු p2p) සමඟ ස්වාධීනව වැඩ කරන්නේ කෙසේදැයි ඉගෙන ගැනීම සඳහා ක්ෂුද්‍ර සේවා කිහිපයක් දියත් කළේය (ඇත්ත වශයෙන්ම මම එයින් කෙනෙකි. dev, ඉතින්, මම පසුකරමින් සිටියෙමි). නමුත් මම කතා කරන්නේ සංවර්ධනය ගැන නොවේ, මම යෙදුම් සඳහා ආරක්ෂිත සහ කාර්යක්ෂම පරිසරයක් ගැන කතා කරමි.

මූල්ය තාක්ෂණය (fintech) ඊළඟට යන්න තොරතුරු ආරක්ෂාව (infosec) සහ පළමුවැන්නාට දෙවැන්න නොමැතිව වැඩ කළ හැකි නමුත් දිගු කලක් නොවේ. මගේ අත්දැකීම් සහ මා භාවිතා කරන මෙවලම් කට්ටලය බෙදා ගැනීමට මට අවශ්‍ය වන්නේ එබැවිනි fintech, සහ infosec, සහ ඒ සමගම, සහ පුළුල් හෝ සම්පූර්ණයෙන්ම වෙනස් අරමුණක් සඳහා ද භාවිතා කළ හැක. මෙම ලිපියෙන් මම ඔබට කියන්නේ බිට්කොයින් ගැන එතරම් නොවේ, නමුත් මූල්‍ය (සහ පමණක් නොව) සේවාවන් සංවර්ධනය කිරීම සහ ක්‍රියාත්මක කිරීම සඳහා යටිතල පහසුකම් ආකෘතිය ගැන - වචනයෙන් කියනවා නම්, “බී” වැදගත් වන සේවාවන්. මෙය Bitcoin හුවමාරුවට සහ කිසිදු ආකාරයකින් Bitcoin සමඟ සම්බන්ධ නොවූ කුඩා සමාගමක වඩාත් සාමාන්‍ය ආයතනික සත්වෝද්‍යාන සේවා සඳහා අදාළ වේ.

මම මූලධර්මවල ආධාරකරුවෙකු බව සටහන් කිරීමට කැමැත්තෙමි "එය මෝඩ සරලව තබා ගන්න" и "අඩු වැඩි", එබැවින්, ලිපිය සහ එහි විස්තර කර ඇති දේ යන දෙකටම මෙම මූලධර්මවල ගුණාංග ඇත.

මනඃකල්පිත දර්ශනය: බිට්කොයින් හුවමාරුවක උදාහරණය භාවිතා කර සියල්ල දෙස බලමු. අපි bitcoins සහ ආපසු සඳහා රුබල්, ඩොලර්, යුරෝ හුවමාරුව දියත් කිරීමට තීරණය කළ අතර, අපට දැනටමත් වැඩ කරන විසඳුමක් ඇත, නමුත් qiwi සහ webmoney වැනි අනෙකුත් ඩිජිටල් මුදල් සඳහා, i.e. අපි සියලු නීතිමය ගැටළු වසා දමා ඇත, අපි රූබල්, ඩොලර් සහ යුරෝ සහ අනෙකුත් ගෙවීම් පද්ධති සඳහා ගෙවීම් දොරටුවක් ලෙස සේවය කරන සූදානම් කළ අයදුම්පතක් ඇත. එය අපගේ බැංකු ගිණුම් හා සම්බන්ධ වී ඇති අතර අපගේ අවසාන යෙදුම් සඳහා යම් ආකාරයක API ඇත. සාමාන්‍ය qiwi හෝ webmoney ගිණුමක් වැනි පරිශීලකයන් සඳහා හුවමාරුකාරකයක් ලෙස ක්‍රියා කරන වෙබ් යෙදුමක් ද අප සතුව ඇත - ගිණුමක් සාදන්න, කාඩ්පතක් එක් කරන්න, සහ යනාදිය. එය ප්‍රාදේශීය ප්‍රදේශයේ REST API හරහා වුවද අපගේ ද්වාර යෙදුම සමඟ සන්නිවේදනය කරයි. ඒ නිසා අපි බිට්කොයින් සම්බන්ධ කිරීමටත් ඒ සමඟම යටිතල පහසුකම් වැඩිදියුණු කිරීමටත් තීරණය කළෙමු, මන්ද ... මුලදී, මේසය යට කාර්යාලයේ අථත්ය පෙට්ටි මත සෑම දෙයක්ම කඩිමුඩියේ තබා ඇත ... වෙබ් අඩවිය භාවිතා කිරීමට පටන් ගත් අතර, අපි අතිකාල සහ කාර්ය සාධනය ගැන කනස්සල්ලට පත් විය.

ඉතින්, අපි ප්රධාන දෙය සමඟ ආරම්භ කරමු - සේවාදායකයක් තෝරා ගැනීම. නිසා අපගේ උදාහරණයේ ව්‍යාපාරය කුඩා වන අතර අපි තෝරා ගන්නා සත්කාරක (OVH) විශ්වාස කරමු අයවැය විකල්පයක් මුල් .iso රූපයෙන් පද්ධතිය ස්ථාපනය කළ නොහැකි නමුත් කමක් නැත, තොරතුරු තාක්ෂණ ආරක්ෂක දෙපාර්තමේන්තුව අනිවාර්යයෙන්ම ස්ථාපිත රූපය විශ්ලේෂණය කරනු ඇත. අපි වැඩෙන විට, අපි සීමිත භෞතික ප්‍රවේශයක් සහිත අගුල සහ යතුර යටතේ අපගේම වැසිකිලිය කුලියට ගනිමු, සමහර විට අපි අපගේම DC ගොඩනඟමු. ඕනෑම අවස්ථාවක, දෘඩාංග කුලියට ගැනීමේදී සහ සූදානම් කළ පින්තූර ස්ථාපනය කිරීමේදී, ඔබේ පද්ධතියේ “ට්‍රෝජන් ෆ්‍රොන් ද හොස්ටර්” එල්ලීමට අවස්ථාවක් ඇති බව මතක තබා ගැනීම වටී, එය බොහෝ අවස්ථාවල ඔබ ගැන ඔත්තු බැලීමට අදහස් නොකරයි. නමුත් වඩාත් පහසු කළමනාකරණ මෙවලම් සේවාදායකය පිරිනැමීමට.

සේවාදායක ස්ථාපනය

මෙහි සෑම දෙයක්ම සරලයි. අපි අපේ අවශ්‍යතාවයට ගැලපෙන දෘඩාංග තෝරා ගනිමු. ඉන්පසු FreeBSD රූපය තෝරන්න. හොඳයි, නැතහොත් අපි IPMI හරහා හෝ මොනිටරයක් ​​සමඟ සම්බන්ධ කර (වෙනත් සත්කාරක සහ අපගේ දෘඩාංග සම්බන්ධයෙන්) .iso FreeBSD රූපය බාගත කිරීම සඳහා පෝෂණය කරන්නෙමු. වාද්‍ය වෘන්දයක් සඳහා මම භාවිතා කරමි පිළිතුරු и mfsbsd. එකම දෙය, කිම්සුෆි සමඟ අපගේ නඩුවේදී, අපි තෝරා ගත්තෙමු අභිරුචි ස්ථාපනය දර්පණයේ ඇති තැටි දෙක සඳහා 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 වරාය පෙරනිමියට වඩා වෙනස් දෙයකට වෙනස් කරමු, යතුරු සත්‍යාපනය එකතු කර මුරපද සත්‍යාපනය අක්‍රිය කරන්න.

ඊට පස්සේ අපි configure කරනවා 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 от ඔලෙවෝල්, මෙම අපූරු උපයෝගිතාවය සඳහා මම ඔහුට වැඩි සෞඛ්‍යයක් සහ ආශිර්වාදයක් ප්‍රාර්ථනා කරමි!

බහාලුම්? නැවතත් ඩොකර් හෝ කුමක් ද?

නමුත් නැහැ. FreeBSD බන්ධනාගාර බහාලුම් සඳහා විශිෂ්ට මෙවලමක් වේ, නමුත් සඳහන් කර ඇත cbsd සෛල ලෙස හඳුන්වන මෙම බහාලුම් සංවිධානය කිරීමට.

කූඩුව යනු විවිධ අරමුණු සඳහා යටිතල පහසුකම් ගොඩනැගීම සඳහා අතිශයින්ම ඵලදායී විසඳුමක් වන අතර, තනි තනි සේවාවන් හෝ ක්රියාවලීන් සම්පූර්ණයෙන් හුදකලා කිරීම අවසානයේ අවශ්ය වේ. අත්යවශ්යයෙන්ම, එය ධාරක පද්ධතියේ ක්ලෝනයකි, නමුත් එය සම්පූර්ණ දෘඪාංග අථත්යකරණය අවශ්ය නොවේ. මෙයට ස්තූතිවන්ත වන්නට, සම්පත් “ආගන්තුක මෙහෙයුම් පද්ධතිය” සඳහා වැය නොකෙරේ, නමුත් සිදු කරන වැඩ සඳහා පමණි. සෛල අභ්‍යන්තර අවශ්‍යතා සඳහා භාවිතා කරන විට, මෙය ප්‍රශස්ත සම්පත් භාවිතය සඳහා ඉතා පහසු විසඳුමකි - එක් දෘඪාංග සේවාදායකයක සෛල පොකුරක් අවශ්‍ය නම් එක් එක් තනි තනිව සම්පූර්ණ සේවාදායක සම්පත භාවිතා කළ හැකිය. සාමාන්යයෙන් විවිධ උපසේවා සඳහා අතිරේක අවශ්ය බව සලකන විට. විවිධ කාලවලදී සම්පත්, ඔබ නිවැරදිව සැලසුම් කර සේවාදායකයන් අතර සෛල තුලනය කරන්නේ නම්, ඔබට එක් සේවාදායකයකින් උපරිම කාර්ය සාධනය ලබා ගත හැක. අවශ්ය නම්, සෛල භාවිතා කරන සම්පත සඳහා සීමාවන් ද ලබා දිය හැකිය.

බිට්කොයින් කූඩුවක?

සම්පූර්ණ අථත්‍යකරණය ගැන කුමක් කිව හැකිද?

මා දන්නා තරමින් cbsd වැඩ සඳහා සහාය වේ bhyve සහ XEN හයිපර්වයිසර්. මම කවදාවත් දෙවැන්න භාවිතා කර නැත, නමුත් පළමු එක සාපේක්ෂව අලුත් ය FreeBSD වෙතින් hypervisor. භාවිතයේ උදාහරණයක් අපි බලමු bhyve පහත උදාහරණයේ.

සත්කාරක පරිසරය ස්ථාපනය කිරීම සහ වින්‍යාස කිරීම

අපි FS භාවිතා කරමු ZFS. මෙය සේවාදායක අවකාශය කළමනාකරණය කිරීම සඳහා අතිශයින්ම බලවත් මෙවලමකි. 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 සඳහා සහ අරාවේ ඉතිරි තැටි සඳහා එයම නැවත නැවත කරන්නෙමු. ඒ වගේම අපි අලුත් එකක් හදනවා ZFS සංචිතය.

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

ෆයර්වෝල් ප්‍රතිපත්ති සැකසීම ද වෙනම මාතෘකාවකි, එබැවින් මම සියලු ප්‍රතිපත්තිය අවහිර කිරීමට සහ සුදු ලැයිස්තු සැකසීමට ගැඹුරට නොයමි, ඔබට එය කියවීමෙන් කළ හැකිය නිල ලියකියවිලි හෝ Google හි ඇති විශාල ලිපි සංඛ්‍යාවෙන් ඕනෑම එකක්.

හොඳයි... අපි cbsd ස්ථාපනය කර ඇත, අපගේ පළමු වැඩ අශ්වයා නිර්මාණය කිරීමට කාලයයි - කූඩු කළ Bitcoin යක්ෂයා!

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

කූඩුවේ Bitcoin ඇත, නමුත් අපට TOP ජාලය හරහා සමහර කූඩුවලට සම්බන්ධ වීමට අවශ්ය නිසා අපට නිර්නාමික භාවය අවශ්ය වේ. සාමාන්‍යයෙන්, අපි බොහෝ සෛල සැක සහිත මෘදුකාංග සමඟ ප්‍රොක්සියක් හරහා පමණක් ධාවනය කිරීමට සැලසුම් කරමු. ස්තුති වන්නට pf ඔබට දේශීය ජාලයේ නිශ්චිත පරාසයක IP ලිපින සඳහා NAT අක්‍රිය කළ හැකි අතර, අපගේ TOR node සඳහා පමණක් NAT ඉඩ දෙන්න. මේ අනුව, අනිෂ්ට මෘදුකාංග සෛලයට ඇතුළු වුවද, එය බොහෝ විට බාහිර ලෝකය සමඟ සන්නිවේදනය නොකරනු ඇත, එසේ වුවහොත් එය අපගේ සේවාදායකයේ IP හෙළිදරව් නොකරනු ඇත. එබැවින්, අපි ". ලූනු" සේවාවක් ලෙස සහ තනි තනි සෛල වෙත අන්තර්ජාලයට ප්‍රවේශ වීම සඳහා ප්‍රොක්සියක් ලෙස සේවා "ඉදිරියට" තවත් කොටුවක් සාදන්නෙමු.

# 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 දියත් කරමු, එය ප්‍රතිලෝම-ප්‍රොක්සියක් ලෙස ක්‍රියා කරන අතර සහතිකය සංකේතනය කරමු

# 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

හොඳයි, දැන් bitcoins ගැන ටිකක්

අප සතුව ඇත්තේ බාහිරව නිරාවරණය වන වෙබ් යෙදුමක් වන අතර එය අපගේ ගෙවීම් ද්වාරය සමඟ දේශීයව කථා කරයි. දැන් අපි Bitcoin ජාලය සමඟ අන්තර් ක්‍රියා කිරීම සඳහා වැඩ කරන පරිසරයක් සකස් කළ යුතුයි - නෝඩය bitcoind එය බ්ලොක්චේන් හි දේශීය පිටපත යාවත්කාලීනව තබා ගන්නා ඩීමන් එකක් පමණි. මෙම ඩීමන් සතුව RPC සහ පසුම්බි ක්‍රියාකාරිත්වය ඇත, නමුත් යෙදුම් සංවර්ධනය සඳහා වඩාත් පහසු “ඇතුම්” ඇත. ආරම්භ කිරීමට, අපි තැබීමට තීරණය කළා electrum CLI පසුම්බියකි. මෙම මුදල් පසුම්බිය අපි එය අපගේ බිට්කොයින් සඳහා “සීතල ගබඩාව” ලෙස භාවිතා කරන්නෙමු - සාමාන්‍යයෙන්, පරිශීලකයින්ට ප්‍රවේශ විය හැකි සහ සාමාන්‍යයෙන් සෑම දෙනාගෙන්ම ඈත්ව පද්ධතියෙන් “පිටත” ගබඩා කළ යුතු බිට්කොයින්. එහි GUI එකක් ද ඇත, එබැවින් අපි අපගේ මුදල් පසුම්බියම භාවිතා කරන්නෙමු
ලැප්ටොප්. දැනට අපි පොදු සේවාදායකයන් සමඟ ඉලෙක්ට්‍රම් භාවිතා කරන්නෙමු, පසුව අපි එය වෙනත් කොටුවක ඔසවන්නෙමු ElectrumXකිසිවකු මත කිසිසේත් යැපෙන්නේ නැති පරිදි.

# 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

දැන් අපි පසුම්බියේ අන්තර්ජාල ප්රවේශය සමඟ සෛලය අක්රිය කරමු. අපි ඒකට NATed නැති වෙනත් subnet Space එකකින් IP address එකක් දෙමු. මුලින්ම අපි වෙනස් වෙමු /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 සහ http://192.168.0.6:8123

දැන් අපට අපගේ පසුම්බි පරිසරය වින්‍යාසගත කළ හැකිය

# 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

සම්බන්ධ කරන්න (මෙය වැඩ කිරීමට, ඔබට 9050 මත සවන් දෙන දේශීය TOR ඩීමන් අවශ්‍ය වේ)

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

සාර්ථකත්වය!

ක්ෂණික සහ ක්ෂුද්‍ර ගෙවීම් සමඟ වැඩ කිරීමට, අපට නෝඩයක් ද අවශ්‍ය වේ අකුණු සර, ඇත්ත වශයෙන්ම, මෙය Bitcoin සමඟ අපගේ ප්‍රධාන වැඩ මෙවලම වනු ඇත. U*c-අකුණුඅපි ඩීමන් ලෙස භාවිතා කිරීමට යන්නේ Sparko ප්ලගිනය, එය සම්පූර්ණ HTTP (REST) ​​අතුරුමුහුණතක් වන අතර ඔබට Off-chain සහ on-chain ගනුදෙනු සමඟ වැඩ කිරීමට ඉඩ සලසයි. c-lightning ක්රියාකාරීත්වය සඳහා අවශ්ය වේ bitcoind නමුත් ඔව්.

*විවිධ භාෂාවලින් අකුණු ජාල ප්‍රොටෝකෝලය විවිධ ක්‍රියාත්මක කිරීම් තිබේ. අප විසින් පරීක්ෂා කරන ලද ඒවායින්, c-අකුණු (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 හරහා සියලුම මූල්‍ය ගනුදෙනු සිදු කිරීමට අපට අවශ්‍යය. එබැවින් තවත් .ළූණු අවශ්ය නොවේ.

# 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 සඳහා config එකක් සාදා ගනිමු

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 මුදල් පසුම්බියේ ඇති සියලුම මුදල් ලිපිනයට යවන්න (සියලු දාම ලිපින)

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 GB ඉඩ ලබා ගනී. පරීක්ෂා කිරීම සඳහා අපට තවත් නෝඩයක් අවශ්‍ය නම් කුමක් කළ යුතුද? ZFS ප්‍රයෝජනවත් වන්නේ මෙහිදීය. උදව් ඇතිව cbsd jclone old=bitcoind new=bitcoind-clone host_hostname=clonedbtc.space.com ඔබට ස්නැප්ෂොට් එකක් සාදා මෙම ස්නැප්ෂොට් එකට නව සෛලයක් ඇමිණිය හැක. නව සෛලයට තමන්ගේම ඉඩක් ඇත, නමුත් ගොනු පද්ධතියේ වත්මන් තත්වය සහ මුල් පිටපත අතර වෙනස පමණක් සැලකිල්ලට ගනු ලැබේ (අපි අවම වශයෙන් 190 GB වත් ඉතිරි කරමු)

සෑම සෛලයක්ම එහි වෙනම ZFS දත්ත කට්ටලයක් වන අතර මෙය අතිශයින්ම පහසු වේ. ZFS ද ඉඩ දෙයි SSH හරහා ස්නැප්ෂොට් යැවීම වැනි වෙනත් විවිධ රසවත් දේවල් කරන්න. අපි එය විස්තර නොකරමු, දැනටමත් බොහෝ දේ ඇත.

අප සතුව ඇති මෙම අරමුණු සඳහා ධාරකයේ දුරස්ථ අධීක්ෂණයේ අවශ්‍යතාවය ද සඳහන් කිරීම වටී සර්බික්ස්.

B - ආරක්ෂාව

ආරක්ෂාව සම්බන්ධයෙන්, යටිතල පහසුකම් සන්දර්භය තුළ ප්රධාන මූලධර්ම වලින් පටන් ගනිමු:

රහස්යභාවය — UNIX වැනි පද්ධතිවල සම්මත මෙවලම් මෙම මූලධර්මය ක්රියාත්මක කිරීම සහතික කරයි. අපි තාර්කිකව පද්ධතියේ එක් එක් තාර්කිකව වෙනම මූලද්‍රව්‍ය සඳහා ප්‍රවේශය වෙන් කරමු - සෛලයකි. පරිශීලකයන්ගේ පුද්ගලික යතුරු භාවිතයෙන් සම්මත පරිශීලක සත්‍යාපනය හරහා ප්‍රවේශය සපයනු ලැබේ. සෛල අතර සහ අවසානය දක්වා සියලු සන්නිවේදනයන් සංකේතාත්මක ආකාරයෙන් සිදු වේ. තැටි සංකේතනයට ස්තූතියි, තැටියක් ප්‍රතිස්ථාපනය කිරීමේදී හෝ වෙනත් සේවාදායකයකට සංක්‍රමණය කිරීමේදී දත්තවල ආරක්ෂාව ගැන අපට කරදර විය යුතු නැත. එවැනි ප්‍රවේශයක් සාමාන්‍යයෙන් බහාලුම් තුළ ඇති දත්ත වෙත ප්‍රවේශය සපයන බැවින් එකම තීරණාත්මක ප්‍රවේශය වන්නේ සත්කාරක පද්ධතියට ප්‍රවේශ වීමයි.

අඛණ්ඩතාව "මෙම මූලධර්මය ක්රියාත්මක කිරීම විවිධ මට්ටම් කිහිපයකින් සිදු වේ. පළමුවෙන්ම, සේවාදායක දෘඩාංග, ECC මතකය, ZFS දැනටමත් "කොටුවෙන් පිටත" තොරතුරු බිටු මට්ටමේ දත්ත අඛණ්ඩතාව ගැන සැලකිලිමත් වන බව සැලකිල්ලට ගැනීම වැදගත්ය. ක්ෂණික ස්නැප්ෂොට් ඔබට පියාසර කරන ඕනෑම වේලාවක උපස්ථ කිරීමට ඉඩ සලසයි. පහසු සෛල අපනයන/ආනයන මෙවලම් සෛල අනුකරණය සරල කරයි.

ලබාගත හැකිය - මෙය දැනටමත් විකල්ප වේ. ඔබේ කීර්තියේ මට්ටම සහ ඔබට වෛර කරන්නන් සිටින බව මත රඳා පවතී. අපගේ උදාහරණයේදී, මුදල් පසුම්බිය TOP ජාලයෙන් පමණක් ප්‍රවේශ විය හැකි බව අපි සහතික කළෙමු. අවශ්‍ය නම්, ඔබට ෆයර්වෝලයේ ඇති සියල්ල අවහිර කර උමං මාර්ග හරහා පමණක් සේවාදායකයට ප්‍රවේශ වීමට ඉඩ දිය හැකිය (TOR හෝ VPN වෙනත් කාරණයකි). මේ අනුව, සේවාදායකය හැකිතාක් බාහිර ලෝකයෙන් කපා හරිනු ඇති අතර, එහි ඇති බවට බලපෑම් කිරීමට අපට හැකි වනු ඇත.

ප්රතික්ෂේප කිරීමේ නොහැකියාව - තවද මෙය තවදුරටත් ක්‍රියාත්මක වීම සහ පරිශීලක අයිතිවාසිකම්, ප්‍රවේශය යනාදිය සඳහා නිවැරදි ප්‍රතිපත්තිවලට අනුකූල වීම මත රඳා පවතී. නමුත් නිවැරදි ප්‍රවේශය සමඟ, සියලුම පරිශීලක ක්‍රියා විගණනය කරනු ලබන අතර, ගුප්ත ලේඛන විසඳුම් වලට ස්තූතිවන්ත වන අතර, ඇතැම් ක්‍රියාවන් සිදු කළේ කවුරුන්ද සහ කවදාද යන්න පැහැදිලිව හඳුනාගත හැකිය.

ඇත්ත වශයෙන්ම, විස්තර කරන ලද වින්‍යාසය එය සැමවිටම විය යුතු ආකාරය පිළිබඳ නිරපේක්ෂ උදාහරණයක් නොවේ, එය ඉතා නම්‍යශීලී පරිමාණය සහ අභිරුචිකරණ හැකියාවන් රඳවා තබා ගනිමින් එය විය හැකි ආකාරය පිළිබඳ එක් උදාහරණයකි.

සම්පූර්ණ අථත්‍යකරණය ගැන කුමක් කිව හැකිද?

ඔබට හැකි cbsd භාවිතයෙන් සම්පූර්ණ අථත්‍යකරණය ගැන මෙහි කියවන්න. මම එය වැඩ සඳහා පමණක් එකතු කරමි bhyve ඔබට කර්නල් විකල්ප කිහිපයක් සක්‍රීය කිරීමට අවශ්‍ය වේ.

# cat /etc/rc.conf

...
kld_list="vmm if_tap if_bridge nmdm"
...

# cat /boot/loader.conf

...
vmm_load="YES"
...

එබැවින් ඔබට හදිසියේම ඩොකර් එකක් ආරම්භ කිරීමට අවශ්‍ය නම්, ඩෙබියන් කිහිපයක් ස්ථාපනය කර ඉදිරියට යන්න!

බිට්කොයින් කූඩුවක?

එච්චරයි

මම හිතන්නේ මට බෙදා ගැනීමට අවශ්‍ය වූයේ එපමණයි. ඔබ ලිපියට කැමති නම්, ඔබට මට බිට්කොයින් කිහිපයක් එවිය හැකිය - bc1qu7lhf45xw83ddll5mnzte6ahju8ktkeu6qhttc. ඔබට ක්‍රියාකාරී සෛල උත්සාහ කිරීමට සහ බිට්කොයින් කිහිපයක් ලබා ගැනීමට අවශ්‍ය නම්, ඔබට මගේ වෙත යා හැක සුරතල්-ව්යාපෘතිය.

මූලාශ්රය: www.habr.com