ஒரு கூண்டில் பிட்காயின்?

தொழில் ரீதியாக நான் கணினி அமைப்புகள் மற்றும் நெட்வொர்க்குகளின் நிர்வாகியாக இருக்கிறேன் (சுருக்கமாக: கணினி நிர்வாகி), மேலும் 10 ஆண்டுகளுக்கும் மேலாக பேராசிரியரிடம் சொல்ல எனக்கு வாய்ப்பு கிடைத்தது. [அதிக] பாதுகாப்பு நடவடிக்கைகள் தேவைப்படும் பல்வேறு அமைப்புகளின் செயல்பாடுகள். சில காலத்திற்கு முன்பு நான் அதை சுவாரஸ்யமாகக் கண்டதும் நடந்தது பிட்காயின்ஒரு டெவலப்பரின் பார்வையில் இருந்து பிட்காயின் நெட்வொர்க்குடன் (எல்லாவற்றிற்கும் மேலாக p2p) சுயாதீனமாக எவ்வாறு செயல்படுவது என்பதை அறிய, அதைப் பயன்படுத்தியது மட்டுமல்லாமல், பல மைக்ரோ சேவைகளையும் தொடங்கினார் (நிச்சயமாக நான் அவற்றில் ஒன்று. dev, அதனால், நான் கடந்து சென்றேன்). ஆனால் நான் வளர்ச்சியைப் பற்றி பேசவில்லை, பயன்பாடுகளுக்கான பாதுகாப்பான மற்றும் திறமையான சூழலைப் பற்றி பேசுகிறேன்.

நிதி தொழில்நுட்பம் (fintechதகவல் பாதுகாப்புக்கு அடுத்ததாக செல்லவும் (இன்போசெக்) மற்றும் முதலாவது இரண்டாவது இல்லாமல் வேலை செய்ய முடியும், ஆனால் நீண்ட காலத்திற்கு அல்ல. அதனால்தான் எனது அனுபவத்தையும் நான் பயன்படுத்தும் கருவிகளின் தொகுப்பையும் பகிர்ந்து கொள்ள விரும்புகிறேன், இதில் இரண்டும் அடங்கும் fintech, மற்றும் இன்போசெக், மற்றும் அதே நேரத்தில், மேலும் பரந்த அல்லது முற்றிலும் வேறுபட்ட நோக்கத்திற்காகவும் பயன்படுத்தலாம். இந்த கட்டுரையில் நான் உங்களுக்கு பிட்காயினைப் பற்றி அதிகம் கூறவில்லை, ஆனால் நிதி (மற்றும் மட்டுமல்ல) சேவைகளின் வளர்ச்சி மற்றும் செயல்பாட்டிற்கான உள்கட்டமைப்பு மாதிரியைப் பற்றி கூறுவேன் - ஒரு வார்த்தையில், "பி" முக்கியத்துவம் வாய்ந்த சேவைகள். இது பிட்காயின் பரிமாற்றம் மற்றும் எந்த வகையிலும் பிட்காயினுடன் இணைக்கப்படாத ஒரு சிறிய நிறுவனத்தின் சேவைகளின் மிகவும் பொதுவான கார்ப்பரேட் மிருகக்காட்சிசாலை ஆகிய இரண்டிற்கும் பொருந்தும்.

நான் கொள்கைகளை ஆதரிப்பவன் என்பதை கவனிக்க விரும்புகிறேன் "இதை முட்டாள்தனமாக எளிமையாக வைத்திருங்கள்" и "குறைவே நிறைவு", எனவே, கட்டுரை மற்றும் அதில் விவரிக்கப்பட்டுள்ளவை இரண்டுமே இந்தக் கொள்கைகளைப் பற்றிய பண்புகளைக் கொண்டிருக்கும்.

கற்பனைக் காட்சி: பிட்காயின் பரிமாற்றியின் உதாரணத்தைப் பயன்படுத்தி எல்லாவற்றையும் பார்ப்போம். நாங்கள் ரூபிள், டாலர்கள், பிட்காயின்கள் மற்றும் மீண்டும் யூரோக்கள் பரிமாற்றம் தொடங்க முடிவு, மற்றும் நாம் ஏற்கனவே ஒரு வேலை தீர்வு உள்ளது, ஆனால் qiwi மற்றும் webmoney போன்ற மற்ற டிஜிட்டல் பணம், அதாவது. நாங்கள் அனைத்து சட்ட சிக்கல்களையும் மூடிவிட்டோம், ரூபிள், டாலர்கள் மற்றும் யூரோக்கள் மற்றும் பிற கட்டண முறைகளுக்கான கட்டண நுழைவாயிலாக செயல்படும் ஆயத்த பயன்பாடு எங்களிடம் உள்ளது. இது எங்கள் வங்கிக் கணக்குகளுடன் இணைக்கப்பட்டுள்ளது மற்றும் எங்கள் இறுதிப் பயன்பாடுகளுக்கு சில வகையான API உள்ளது. எங்களிடம் ஒரு வலைப் பயன்பாடும் உள்ளது, அது பயனர்களுக்கான பரிமாற்றியாகச் செயல்படுகிறது, அது ஒரு பொதுவான qiwi அல்லது webmoney கணக்கு போன்றது - கணக்கை உருவாக்குதல், அட்டையைச் சேர்ப்பது மற்றும் பல. உள்ளூர் பகுதியில் உள்ள REST API வழியாக இருந்தாலும், இது எங்கள் நுழைவாயில் பயன்பாட்டுடன் தொடர்பு கொள்கிறது. எனவே பிட்காயின்களை இணைக்கவும் அதே நேரத்தில் உள்கட்டமைப்பை மேம்படுத்தவும் முடிவு செய்தோம், ஏனெனில்... ஆரம்பத்தில், மேஜையின் கீழ் அலுவலகத்தில் உள்ள மெய்நிகர் பெட்டிகளில் எல்லாம் அவசரமாக வைக்கப்பட்டது ... தளம் பயன்படுத்தத் தொடங்கியது, நாங்கள் வேலை நேரம் மற்றும் செயல்திறன் பற்றி கவலைப்பட ஆரம்பித்தோம்.

எனவே, முக்கிய விஷயத்துடன் தொடங்குவோம் - ஒரு சேவையகத்தைத் தேர்ந்தெடுப்பது. ஏனெனில் எங்கள் எடுத்துக்காட்டில் உள்ள வணிகம் சிறியது மற்றும் நாங்கள் தேர்ந்தெடுக்கும் ஹோஸ்டரை (OVH) நம்புகிறோம் பட்ஜெட் விருப்பம் அசல் .iso படத்திலிருந்து கணினியை நிறுவுவது சாத்தியமில்லை, ஆனால் அது ஒரு பொருட்டல்ல, ஐடி பாதுகாப்புத் துறை நிறுவப்பட்ட படத்தை நிச்சயமாக பகுப்பாய்வு செய்யும். நாங்கள் வளரும்போது, ​​குறைந்த உடல் அணுகலுடன் பூட்டு மற்றும் சாவியின் கீழ் எங்கள் சொந்த அலமாரியை வாடகைக்கு எடுப்போம், மேலும் எங்கள் சொந்த DC ஐ உருவாக்குவோம். எவ்வாறாயினும், வன்பொருளை வாடகைக்கு எடுத்து, ஆயத்த படங்களை நிறுவும் போது, ​​​​உங்கள் கணினியில் "ட்ரோஜன் ஃப்ரம் தி ஹோஸ்டரை" தொங்கவிடுவதற்கான வாய்ப்பு உள்ளது என்பதை நினைவில் கொள்வது மதிப்பு, இது பெரும்பாலான சந்தர்ப்பங்களில் உங்களை உளவு பார்க்க விரும்பவில்லை. ஆனால் மிகவும் வசதியான மேலாண்மை கருவிகள் சேவையகத்தை வழங்க.

சேவையக நிறுவல்

இங்கே எல்லாம் எளிது. நமது தேவைக்கு ஏற்ற ஹார்டுவேரை தேர்வு செய்கிறோம். பின்னர் FreeBSD படத்தைத் தேர்ந்தெடுக்கவும். சரி, அல்லது IPMI வழியாக அல்லது ஒரு மானிட்டர் மூலம் (மற்றொரு ஹோஸ்டர் மற்றும் எங்கள் சொந்த வன்பொருளின் விஷயத்தில்) இணைத்து, .iso FreeBSD படத்தைப் பதிவிறக்கம் செய்கிறோம். ஆர்கெஸ்ட்ரா அமைப்பிற்கு நான் பயன்படுத்துகிறேன் Ansible и mfsbsd. ஒரே விஷயம், கிம்சுஃபியுடன் எங்கள் விஷயத்தில், நாங்கள் தேர்ந்தெடுத்தோம் உனக்கு ஏற்ற படி நிறுவுதல் கண்ணாடியில் உள்ள இரண்டு வட்டுகளும் பூட் மற்றும் /ஹோம் பகிர்வுகளை மட்டும் "திறந்தவையாக" இருக்க, மீதமுள்ள வட்டு இடம் குறியாக்கம் செய்யப்படும், ஆனால் அது பின்னர் மேலும்.

ஒரு கூண்டில் பிட்காயின்?

கணினியின் நிறுவல் ஒரு நிலையான வழியில் நிகழ்கிறது, நான் இதைப் பற்றி பேசமாட்டேன், செயல்பாட்டைத் தொடங்குவதற்கு முன் கவனம் செலுத்துவது மதிப்பு என்பதை மட்டுமே நான் கவனிக்கிறேன். கெட்டியாகின்றன அது வழங்கும் விருப்பங்கள் bsdinstaller நிறுவலின் முடிவில் (நீங்கள் கணினியை நிறுவினால்):

ஒரு கூண்டில் பிட்காயின்?

உள்ளன நல்ல பொருள் இந்த தலைப்பில், நான் இங்கே சுருக்கமாக மீண்டும் சொல்கிறேன்.

ஏற்கனவே நிறுவப்பட்ட கணினியில் மேலே குறிப்பிட்ட அளவுருக்களை இயக்குவதும் சாத்தியமாகும். இதைச் செய்ய, நீங்கள் துவக்க ஏற்றி கோப்பைத் திருத்த வேண்டும் மற்றும் கர்னல் அளவுருக்களை இயக்க வேண்டும். *ee BSD இல் இது போன்ற ஒரு எடிட்டர்

# ee /etc/rc.conf

...
#sec hard
clear_tmp_enable="YES"
syslogd_flags="-ss"    
sendmail_enable="NONE"

# ee /etc/sysctl.conf

...
#sec hard
security.bsd.see_other_uids=0
security.bsd.see_other_gids=0
security.bsd.unprivileged_read_msgbuf=0
security.bsd.unprivileged_proc_debug=0
kern.randompid=$(jot -r 1 9999)
security.bsd.stack_guard_page=1

நீங்கள் கணினியின் சமீபத்திய பதிப்பை நிறுவியுள்ளீர்கள் என்பதை உறுதிப்படுத்தவும் அனைத்து புதுப்பிப்புகளையும் மேம்படுத்தல்களையும் செய்யவும். எங்கள் விஷயத்தில், எடுத்துக்காட்டாக, சமீபத்திய பதிப்பிற்கு மேம்படுத்தல் தேவைப்படுகிறது, ஏனெனில்... நிறுவலுக்கு முந்தைய படங்கள் ஆறு மாதங்கள் முதல் ஒரு வருடம் வரை பின்தங்கியுள்ளன. சரி, அங்கு நாம் SSH போர்ட்டை இயல்புநிலையிலிருந்து வேறுபட்டதாக மாற்றுகிறோம், முக்கிய அங்கீகாரத்தைச் சேர்த்து கடவுச்சொல் அங்கீகாரத்தை முடக்குகிறோம்.

பின்னர் நாங்கள் அமைத்தோம் aide, கணினி கட்டமைப்பு கோப்புகளின் நிலையை கண்காணித்தல். நீங்கள் இன்னும் விரிவாக படிக்கலாம் இங்கே.

pkg install aide

மற்றும் எங்கள் crontab ஐ திருத்தவும்

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 இருந்து ஓலெவோல், இந்த அற்புதமான பயன்பாட்டிற்கு அவர் மேலும் ஆரோக்கியத்தையும் ஆசீர்வாதங்களையும் விரும்புகிறேன்!

கொள்கலன்களா? மீண்டும் டோக்கர் அல்லது என்ன?

ஆனால் இல்லை. இலவசBSD சிறைகள் கொள்கலனில் ஒரு சிறந்த கருவி, ஆனால் குறிப்பிடப்பட்டுள்ளது cbsd செல்கள் என்று அழைக்கப்படும் இந்தக் கொள்கலன்களை ஒழுங்கமைக்க.

கூண்டு என்பது பல்வேறு நோக்கங்களுக்காக உள்கட்டமைப்பை உருவாக்குவதற்கான மிகவும் பயனுள்ள தீர்வாகும், அங்கு தனிப்பட்ட சேவைகள் அல்லது செயல்முறைகளை முழுமையாக தனிமைப்படுத்துவது இறுதியில் தேவைப்படுகிறது. அடிப்படையில், இது ஹோஸ்ட் சிஸ்டத்தின் குளோன், ஆனால் இதற்கு முழு வன்பொருள் மெய்நிகராக்கம் தேவையில்லை. இதற்கு நன்றி, வளங்கள் “விருந்தினர் OS” இல் செலவிடப்படவில்லை, ஆனால் செய்யப்படும் வேலைகளுக்கு மட்டுமே. உள் தேவைகளுக்கு செல்கள் பயன்படுத்தப்படும் போது, ​​இது உகந்த வள பயன்பாட்டிற்கு மிகவும் வசதியான தீர்வாகும் - ஒரு வன்பொருள் சேவையகத்தில் உள்ள செல்கள் ஒவ்வொன்றும் தேவைப்பட்டால் முழு சேவையக வளத்தையும் தனித்தனியாகப் பயன்படுத்தலாம். பொதுவாக வெவ்வேறு துணை சேவைகளுக்கு கூடுதல் தேவை என்பதைக் கருத்தில் கொண்டு. வெவ்வேறு நேரங்களில் வளங்கள், நீங்கள் சரியாக திட்டமிட்டு, சர்வர்களுக்கு இடையே உள்ள கலங்களை சமன் செய்தால், ஒரு சர்வரிலிருந்து அதிகபட்ச செயல்திறனைப் பிரித்தெடுக்கலாம். தேவைப்பட்டால், செல்கள் பயன்படுத்தப்படும் வளத்தின் மீது கட்டுப்பாடுகளை வழங்கலாம்.

ஒரு கூண்டில் பிட்காயின்?

முழு மெய்நிகராக்கம் பற்றி என்ன?

எனக்குத் தெரிந்தவரை cbsd வேலையை ஆதரிக்கிறது bhyve மற்றும் XEN ஹைப்பர்வைசர்கள். நான் இரண்டாவது பயன்படுத்தவில்லை, ஆனால் முதல் ஒன்று ஒப்பீட்டளவில் புதியது FreeBSD இலிருந்து ஹைப்பர்வைசர். பயன்பாட்டின் உதாரணத்தைப் பார்ப்போம் bhyve கீழே உள்ள எடுத்துக்காட்டில்.

ஹோஸ்ட் சூழலை நிறுவுதல் மற்றும் கட்டமைத்தல்

நாங்கள் FS ஐப் பயன்படுத்துகிறோம் ழ்பிஸ். இது சர்வர் இடத்தை நிர்வகிப்பதற்கான மிகவும் சக்திவாய்ந்த கருவியாகும். ZFS க்கு நன்றி, நீங்கள் வட்டுகளிலிருந்து பல்வேறு உள்ளமைவுகளின் வரிசைகளை நேரடியாக உருவாக்கலாம், மாறும் வகையில் "சூடான" இடத்தை விரிவாக்கலாம், டெட் டிஸ்க்குகளை மாற்றலாம், ஸ்னாப்ஷாட்களை நிர்வகிக்கலாம் மற்றும் பலவற்றைக் கட்டுரைகளின் முழுத் தொடரிலும் விவரிக்கலாம். எங்கள் சர்வர் மற்றும் அதன் வட்டுகளுக்கு திரும்புவோம். நிறுவலின் தொடக்கத்தில், மறைகுறியாக்கப்பட்ட பகிர்வுகளுக்கு வட்டுகளில் இலவச இடத்தை விட்டுவிட்டோம். அது ஏன்? இதனால் கணினி தானாகவே எழுந்து SSH மூலம் கேட்கும்.

gpart add -t freebsd-zfs /dev/ada0

/dev/ada0p4 added!

மீதமுள்ள இடத்தில் ஒரு வட்டு பகிர்வை சேர்க்கவும்

geli init /dev/ada0p4

எங்கள் குறியாக்க கடவுச்சொல்லை உள்ளிடவும்

geli attach /dev/ada0p4

நாங்கள் மீண்டும் கடவுச்சொல்லை உள்ளிடுகிறோம், எங்களிடம் ஒரு சாதனம் /dev/ada0p4.eli உள்ளது - இது எங்கள் மறைகுறியாக்கப்பட்ட இடம். பின்னர் /dev/ada1 மற்றும் வரிசையில் உள்ள மீதமுள்ள வட்டுகளுக்கும் இதையே மீண்டும் செய்கிறோம். மேலும் புதிய ஒன்றை உருவாக்குகிறோம் 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

ஃபயர்வால் கொள்கைகளை அமைப்பதும் ஒரு தனித் தலைப்பாகும், எனவே எல்லாக் கொள்கையையும் தடுப்பதற்கும் அனுமதிப்பட்டியலை அமைப்பதற்கும் நான் ஆழமாகச் செல்லமாட்டேன், அதைப் படிப்பதன் மூலம் நீங்கள் செய்யலாம் அதிகாரப்பூர்வ ஆவணங்கள் அல்லது கூகுளில் கிடைக்கும் அதிக எண்ணிக்கையிலான கட்டுரைகள்.

சரி... எங்களிடம் 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

கூண்டில் பிட்காயின் உள்ளது, ஆனால் எங்களுக்கு அநாமதேயம் தேவை, ஏனெனில் நாங்கள் சில கூண்டுகளுடன் TOP நெட்வொர்க் வழியாக இணைக்க விரும்புகிறோம். பொதுவாக, சந்தேகத்திற்குரிய மென்பொருளைக் கொண்டு பெரும்பாலான செல்களை ப்ராக்ஸி மூலம் மட்டுமே இயக்க திட்டமிட்டுள்ளோம். நன்றி pf லோக்கல் நெட்வொர்க்கில் குறிப்பிட்ட அளவிலான IP முகவரிகளுக்கு NATஐ முடக்கலாம், மேலும் எங்கள் TOR முனைக்கு மட்டும் NATஐ அனுமதிக்கலாம். எனவே, மால்வேர் செல்லுக்குள் நுழைந்தாலும், அது வெளி உலகத்துடன் தொடர்பு கொள்ளாது, அவ்வாறு செய்தால், அது எங்கள் சேவையகத்தின் ஐபியை வெளிப்படுத்தாது. எனவே, சேவைகளை "முன்னோக்கிச் செல்ல" மற்றொரு கலத்தை ".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 ஐ துவக்குவோம், இது ஒரு தலைகீழ் ப்ராக்ஸியாக செயல்படும் மற்றும் சான்றிதழ்களை குறியாக்கம் செய்வோம்.

# cbsd jsconstruct-tui

# cbsd jstart nginx-rev

# jexec nginx-rev

nginx-rev:/@[15:47] # pkg install nginx py36-certbot

எனவே 150 எம்பி சார்புகளை ஒரு கூண்டில் வைத்தோம். ஹோஸ்ட் இன்னும் சுத்தமாக இருக்கிறது.

பின்னர் nginx ஐ அமைப்பதற்குத் திரும்புவோம், nodejs மற்றும் rust மற்றும் வலைப் பயன்பாடு ஆகியவற்றில் எங்கள் கட்டண நுழைவாயிலுக்கு மேலும் இரண்டு செல்களை உயர்த்த வேண்டும், இது சில காரணங்களால் Apache மற்றும் PHP இல் உள்ளது, மேலும் பிந்தையதற்கு MySQL தரவுத்தளமும் தேவைப்படுகிறது.

# cbsd jsconstruct-tui

# cbsd jstart paygw

# jexec paygw

paygw:/@[15:55] # pkg install git node npm

paygw:/@[15:55] # curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

மேலும் 380 MB தொகுப்புகள் தனிமைப்படுத்தப்பட்டுள்ளன

அடுத்து, எங்கள் பயன்பாட்டை ஜிட் மூலம் பதிவிறக்கம் செய்து அதைத் தொடங்குகிறோம்.

# cbsd jsconstruct-tui

# cbsd jstart webapp

# jexec webapp

webapp:/@[16:02] # pkg install mariadb104-server apache24 php74 mod_php74 php74-pdo_mysql

450 எம்பி தொகுப்புகள். ஒரு கூண்டில்.

இங்கே நாம் SSH வழியாக டெவலப்பருக்கு நேரடியாக கலத்திற்கு அணுகலை வழங்குகிறோம், அவர்கள் அங்கேயே அனைத்தையும் செய்வார்கள்:

webapp:/@[16:02] # ee /etc/ssh/sshd_config

Port 2267 - கலத்தின் SSH போர்ட்டை ஏதேனும் தன்னிச்சையாக மாற்றவும்

webapp:/@[16:02] # sysrc sshd_enable=YES

webapp:/@[16:02] # service sshd start

சரி, சேவை இயங்குகிறது, எஞ்சியிருப்பது விதியைச் சேர்ப்பது மட்டுமே pf ஃபயர்வால்

நமது செல்கள் என்ன ஐபி கொண்டுள்ளது மற்றும் நமது "உள்ளூர் பகுதி" பொதுவாக எப்படி இருக்கும் என்று பார்ப்போம்.

# 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 பற்றி கொஞ்சம்

எங்களிடம் இருப்பது என்னவென்றால், எங்களிடம் ஒரு வலை பயன்பாடு உள்ளது, அது வெளிப்புறமாக வெளிப்படும் மற்றும் அது எங்கள் கட்டண நுழைவாயிலுடன் உள்நாட்டில் பேசுகிறது. இப்போது நாம் பிட்காயின் நெட்வொர்க்குடன் தொடர்புகொள்வதற்கான பணிச்சூழலை தயார் செய்ய வேண்டும் - முனை bitcoind இது பிளாக்செயினின் உள்ளூர் நகலை புதுப்பித்த நிலையில் வைத்திருக்கும் ஒரு டீமான் மட்டுமே. இந்த டீமான் RPC மற்றும் வாலட் செயல்பாட்டைக் கொண்டுள்ளது, ஆனால் பயன்பாட்டு மேம்பாட்டிற்கு மிகவும் வசதியான "ரேப்பர்கள்" உள்ளன. தொடங்குவதற்கு, நாங்கள் வைக்க முடிவு செய்தோம் electrum ஒரு CLI பணப்பையாகும். இந்த பணப்பை நாங்கள் அதை எங்கள் பிட்காயின்களுக்கான "குளிர்ச்சி சேமிப்பகமாக" பயன்படுத்துவோம் - பொதுவாக, பயனர்கள் அணுகக்கூடிய மற்றும் பொதுவாக அனைவரிடமிருந்தும் தொலைவில் "வெளிப்புறமாக" சேமிக்கப்பட வேண்டிய பிட்காயின்கள். இது ஒரு GUI ஐக் கொண்டுள்ளது, எனவே நாங்கள் அதே பணப்பையை எங்கள் மீது பயன்படுத்தப் போகிறோம்
மடிக்கணினிகள். இப்போதைக்கு நாம் பொது சேவையகங்களுடன் Electrum ஐப் பயன்படுத்துவோம், பின்னர் அதை மற்றொரு கலத்தில் உயர்த்துவோம் எலக்ட்ரம்எக்ஸ்அதனால் யாரையும் சார்ந்திருக்கக் கூடாது.

# cbsd jsconstruct-tui

# cbsd jstart electrum

# jexec electrum

electrum:/@[8:45] # pkg install py36-electrum

எங்கள் கூண்டில் மற்றொரு 700 MB மென்பொருள் உள்ளது

electrum:/@[8:53] # adduser

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

இப்போது பணப்பையின் இணைய அணுகலுடன் கலத்தை அணைப்போம். NAT இல் இல்லாத மற்றொரு சப்நெட் ஸ்பேஸிலிருந்து IP முகவரியைக் கொடுப்போம். முதலில் மாறுவோம் /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

சரி, லினக்ஸ் கிளையன்ட் இயந்திரத்திலிருந்து

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

வெற்றி!

உடனடி மற்றும் மைக்ரோ-பேமெண்ட்களுடன் வேலை செய்ய, எங்களுக்கு ஒரு முனையும் தேவை மின்னல் நெட்வொர்க், உண்மையில், இது பிட்காயினுடன் எங்களின் முக்கிய வேலை செய்யும் கருவியாக இருக்கும். U*c-மின்னல்நாம் ஒரு டெமானாகப் பயன்படுத்தப் போகிறோம் Sparko சொருகி, இது ஒரு முழு அளவிலான HTTP (REST) ​​இடைமுகம் மற்றும் ஆஃப்-செயின் மற்றும் ஆன்-செயின் பரிவர்த்தனைகளில் வேலை செய்ய உங்களை அனுமதிக்கிறது. 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

ஒரு கூண்டில் பிட்காயின்?

எனவே, எங்கள் முனையின் உண்மையான ஐபியை நாங்கள் வெளிப்படுத்த விரும்பவில்லை, மேலும் அனைத்து நிதி பரிவர்த்தனைகளையும் 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 ~

நீங்கள் பிட்காயின்-கிளைக்கான உள்ளமைவு கோப்பையும் உருவாக்க வேண்டும். 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 ஜிபி சேமிப்போம்)

ஒவ்வொரு கலமும் அதன் சொந்த ZFS தரவுத்தொகுப்பாகும், மேலும் இது மிகவும் வசதியானது. ZFS கூட அனுமதிக்கிறது SSH வழியாக ஸ்னாப்ஷாட்களை அனுப்புவது போன்ற பல்வேறு அருமையான விஷயங்களைச் செய்யுங்கள். நாங்கள் அதை விவரிக்க மாட்டோம், ஏற்கனவே நிறைய இருக்கிறது.

ஹோஸ்டின் தொலைநிலை கண்காணிப்பின் அவசியத்தையும் குறிப்பிடுவது மதிப்பு, இந்த நோக்கங்களுக்காக எங்களிடம் உள்ளது Zabbix.

பி - பாதுகாப்பு

பாதுகாப்பைப் பொறுத்தவரை, உள்கட்டமைப்பின் பின்னணியில் உள்ள முக்கியக் கொள்கைகளில் இருந்து ஆரம்பிக்கலாம்:

ரகசியத்தன்மை - யுனிக்ஸ் போன்ற அமைப்புகளின் நிலையான கருவிகள் இந்த கொள்கையை செயல்படுத்துவதை உறுதி செய்கின்றன. கணினியின் ஒவ்வொரு தர்க்கரீதியாகவும் தனித்தனி உறுப்புக்கான அணுகலை தர்க்கரீதியாக பிரிக்கிறோம் - ஒரு செல். பயனர்களின் தனிப்பட்ட விசைகளைப் பயன்படுத்தி நிலையான பயனர் அங்கீகாரம் மூலம் அணுகல் வழங்கப்படுகிறது. செல்கள் இடையே மற்றும் இறுதி வரையிலான அனைத்து தகவல்தொடர்புகளும் மறைகுறியாக்கப்பட்ட வடிவத்தில் நிகழ்கின்றன. வட்டு குறியாக்கத்திற்கு நன்றி, ஒரு வட்டை மாற்றும் போது அல்லது மற்றொரு சேவையகத்திற்கு மாற்றும் போது தரவின் பாதுகாப்பைப் பற்றி நாங்கள் கவலைப்பட வேண்டியதில்லை. புரவலன் அமைப்பிற்கான அணுகல் மட்டுமே முக்கியமான அணுகல் ஆகும், ஏனெனில் அத்தகைய அணுகல் பொதுவாக கொள்கலன்களுக்குள் தரவுக்கான அணுகலை வழங்குகிறது.

ஒருமைப்பாடு "இந்தக் கொள்கையை செயல்படுத்துவது பல்வேறு நிலைகளில் நிகழ்கிறது. முதலாவதாக, சேவையக வன்பொருள், 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