தொழில் ரீதியாக நான் கணினி அமைப்புகள் மற்றும் நெட்வொர்க்குகளின் நிர்வாகியாக இருக்கிறேன் (சுருக்கமாக: கணினி நிர்வாகி), மேலும் 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
செல்கள் என்று அழைக்கப்படும் இந்தக் கொள்கலன்களை ஒழுங்கமைக்க.
கூண்டு என்பது பல்வேறு நோக்கங்களுக்காக உள்கட்டமைப்பை உருவாக்குவதற்கான மிகவும் பயனுள்ள தீர்வாகும், அங்கு தனிப்பட்ட சேவைகள் அல்லது செயல்முறைகளை முழுமையாக தனிமைப்படுத்துவது இறுதியில் தேவைப்படுகிறது. அடிப்படையில், இது ஹோஸ்ட் சிஸ்டத்தின் குளோன், ஆனால் இதற்கு முழு வன்பொருள் மெய்நிகராக்கம் தேவையில்லை. இதற்கு நன்றி, வளங்கள் “விருந்தினர் OS” இல் செலவிடப்படவில்லை, ஆனால் செய்யப்படும் வேலைகளுக்கு மட்டுமே. உள் தேவைகளுக்கு செல்கள் பயன்படுத்தப்படும் போது, இது உகந்த வள பயன்பாட்டிற்கு மிகவும் வசதியான தீர்வாகும் - ஒரு வன்பொருள் சேவையகத்தில் உள்ள செல்கள் ஒவ்வொன்றும் தேவைப்பட்டால் முழு சேவையக வளத்தையும் தனித்தனியாகப் பயன்படுத்தலாம். பொதுவாக வெவ்வேறு துணை சேவைகளுக்கு கூடுதல் தேவை என்பதைக் கருத்தில் கொண்டு. வெவ்வேறு நேரங்களில் வளங்கள், நீங்கள் சரியாக திட்டமிட்டு, சர்வர்களுக்கு இடையே உள்ள கலங்களை சமன் செய்தால், ஒரு சர்வரிலிருந்து அதிகபட்ச செயல்திறனைப் பிரித்தெடுக்கலாம். தேவைப்பட்டால், செல்கள் பயன்படுத்தப்படும் வளத்தின் மீது கட்டுப்பாடுகளை வழங்கலாம்.
முழு மெய்நிகராக்கம் பற்றி என்ன?
எனக்குத் தெரிந்தவரை 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
கூண்டில் பிட்காயின் உள்ளது, ஆனால் எங்களுக்கு அநாமதேயம் தேவை, ஏனெனில் நாங்கள் சில கூண்டுகளுடன் 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 பணப்பையாகும்.
மடிக்கணினிகள். இப்போதைக்கு நாம் பொது சேவையகங்களுடன் 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 மற்றும்
இப்போது நாம் நமது வாலட் சூழலை உள்ளமைக்கலாம்
# 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
வெற்றி!
உடனடி மற்றும் மைக்ரோ-பேமெண்ட்களுடன் வேலை செய்ய, எங்களுக்கு ஒரு முனையும் தேவை 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 தரவுத்தொகுப்பாகும், மேலும் இது மிகவும் வசதியானது.
ஹோஸ்டின் தொலைநிலை கண்காணிப்பின் அவசியத்தையும் குறிப்பிடுவது மதிப்பு, இந்த நோக்கங்களுக்காக எங்களிடம் உள்ளது
பி - பாதுகாப்பு
பாதுகாப்பைப் பொறுத்தவரை, உள்கட்டமைப்பின் பின்னணியில் உள்ள முக்கியக் கொள்கைகளில் இருந்து ஆரம்பிக்கலாம்:
ரகசியத்தன்மை - யுனிக்ஸ் போன்ற அமைப்புகளின் நிலையான கருவிகள் இந்த கொள்கையை செயல்படுத்துவதை உறுதி செய்கின்றன. கணினியின் ஒவ்வொரு தர்க்கரீதியாகவும் தனித்தனி உறுப்புக்கான அணுகலை தர்க்கரீதியாக பிரிக்கிறோம் - ஒரு செல். பயனர்களின் தனிப்பட்ட விசைகளைப் பயன்படுத்தி நிலையான பயனர் அங்கீகாரம் மூலம் அணுகல் வழங்கப்படுகிறது. செல்கள் இடையே மற்றும் இறுதி வரையிலான அனைத்து தகவல்தொடர்புகளும் மறைகுறியாக்கப்பட்ட வடிவத்தில் நிகழ்கின்றன. வட்டு குறியாக்கத்திற்கு நன்றி, ஒரு வட்டை மாற்றும் போது அல்லது மற்றொரு சேவையகத்திற்கு மாற்றும் போது தரவின் பாதுகாப்பைப் பற்றி நாங்கள் கவலைப்பட வேண்டியதில்லை. புரவலன் அமைப்பிற்கான அணுகல் மட்டுமே முக்கியமான அணுகல் ஆகும், ஏனெனில் அத்தகைய அணுகல் பொதுவாக கொள்கலன்களுக்குள் தரவுக்கான அணுகலை வழங்குகிறது.
ஒருமைப்பாடு "இந்தக் கொள்கையை செயல்படுத்துவது பல்வேறு நிலைகளில் நிகழ்கிறது. முதலாவதாக, சேவையக வன்பொருள், 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"
...
நீங்கள் திடீரென்று ஒரு டோக்கரைத் தொடங்க வேண்டும் என்றால், சில டெபியனை நிறுவிவிட்டுச் செல்லுங்கள்!
அவ்வளவுதான்
நான் பகிர்ந்து கொள்ள விரும்பினேன் என்று நினைக்கிறேன். கட்டுரை உங்களுக்கு பிடித்திருந்தால், நீங்கள் எனக்கு சில பிட்காயின்களை அனுப்பலாம் -
ஆதாரம்: www.habr.com