Tha e mar sin a thachair gu bheil mi mar neach-rianachd air siostaman coimpiutair agus lìonraidhean (ann an ùine ghoirid: rianadair an t-siostaim), agus bha cothrom agam innse don Ollamh airson beagan a bharrachd air 10 bliadhna. gnìomhan raon farsaing de shiostaman, a’ gabhail a-steach an fheadhainn a dh’ fheumas ceumannan tèarainteachd [fìor]. Thachair e cuideachd gun robh e inntinneach o chionn ùine air ais dev
, mar sin, bha mi a 'dol seachad). Ach chan eil mi a 'bruidhinn mu leasachadh, tha mi a' bruidhinn mu dheidhinn àrainneachd shàbhailte agus èifeachdach airson iarrtasan.
Teicneòlas ionmhais (fintech) a dhol ri taobh tèarainteachd fiosrachaidh (fiosrachadh) agus faodaidh a’ chiad fhear obrachadh às aonais an dàrna fear, ach chan ann fada. Sin as coireach gu bheil mi airson m ’eòlas agus an seata innealan a bhios mi a’ cleachdadh a cho-roinn, a tha a ’toirt a-steach an dà chuid fintech, agus fiosrachadh, agus aig an aon àm, agus faodar a chleachdadh cuideachd airson adhbhar nas fharsainge no gu tur eadar-dhealaichte. Anns an aiste seo innsidh mi dhuibh nach eil uiread mu Bitcoin, ach mu dheidhinn a 'mhodail bun-structair airson leasachadh agus obrachadh ionmhasail (agus chan ann a-mhàin) seirbheisean - ann am facal, na seirbheisean sin far a bheil "B" cudromach. Tha seo a 'buntainn an dà chuid ris an iomlaid Bitcoin agus ris an t-sùgh corporra as àbhaistiche de sheirbheisean companaidh beag nach eil ceangailte ri Bitcoin ann an dòigh sam bith.
Bu mhath leam a thoirt fa-near gu bheil mi a’ toirt taic do na prionnsapalan "cùm e gòrach sìmplidh" и "nas lugha tha barrachd", mar sin, bidh na feartan aig a bheil na prionnsapalan sin mu dheidhinn an artaigil agus na tha air a mhìneachadh ann.
Suidheachadh mac-meanmnach: Bheir sinn sùil air a h-uile càil a ’cleachdadh an eisimpleir de iomlaidear bitcoin. Cho-dhùin sinn iomlaid rubles, dhollairean, iùro a chuir air bhog airson bitcoins agus air ais, agus tha fuasgladh obrach againn mu thràth, ach airson airgead didseatach eile leithid qiwi agus webmoney, i.e. Tha sinn air a h-uile cùis laghail a dhùnadh, tha tagradh deiseil againn a tha na gheata pàighidh airson rubles, dhollairean agus iùro agus siostaman pàighidh eile. Tha e ceangailte ris na cunntasan banca againn agus tha seòrsa de API ann airson na tagraidhean deireannach againn. Tha tagradh lìn againn cuideachd a bhios ag obair mar iomlaid airson luchd-cleachdaidh, gu math, mar chunntas àbhaisteach qiwi no webmoney - cruthaich cunntas, cuir cairt ris, agus mar sin air adhart. Bidh e a’ conaltradh ris an tagradh geata againn, ged is ann tron REST API san sgìre ionadail. Agus mar sin chuir sinn romhainn bitcoins a cheangal agus aig an aon àm am bun-structar ùrachadh, air sgàth ... An toiseach, chaidh a h-uile càil a chuir suas ann an cabhaig air bogsaichean brìgheil san oifis fon bhòrd ... thòisich an làrach air a chleachdadh, agus thòisich sinn a ’gabhail dragh mu ùrachadh agus coileanadh.
Mar sin, leig leinn tòiseachadh leis a 'phrìomh rud - a' taghadh frithealaiche. Air sgàth tha an gnìomhachas san eisimpleir againn beag agus tha earbsa againn san neach-aoigheachd (OVH) a thaghas sinn
Stàladh an fhrithealaiche
Tha a h-uile dad sìmplidh an seo. Bidh sinn a’ taghadh am bathar-cruaidh a fhreagras air na feumalachdan againn. An uairsin tagh an ìomhaigh FreeBSD. Uill, no bidh sinn a’ ceangal (ann an cùis òstair eile agus ar bathar-cruaidh fhèin) tro IPMI no le monitor agus thoir biadh don ìomhaigh .iso FreeBSD a-steach don luchdachadh sìos. Airson suidheachadh orcastra bidh mi a’ cleachdadh
Tha stàladh an t-siostaim a 'tachairt ann an dòigh àbhaisteach, cha bhith mi a' fuireach air an seo, cha toir mi fa-near ach mus tòisich mi air obrachadh, is fhiach aire a thoirt dha dhìon roghainnean a tha e a’ tabhann bsdinstaller
aig deireadh an stàlaidh (ma stàlaicheas tu an siostam thu fhèin):
tha
Tha e comasach cuideachd na paramadairean gu h-àrd a chomasachadh air siostam a chaidh a chuir a-steach mu thràth. Gus seo a dhèanamh, feumaidh tu am faidhle bootloader a dheasachadh agus paramadairean kernel a chomasachadh. *Tha ee na dheasaiche mar seo ann am 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
Bu chòir dhut cuideachd dèanamh cinnteach gu bheil an tionndadh as ùire den t-siostam agad air a chuir a-steach, agus
An uairsin bidh sinn a 'rèiteachadh aide
, a’ cumail sùil air inbhe faidhlichean rèiteachaidh an t-siostaim. Faodaidh tu barrachd a leughadh gu mionaideach
pkg install aide
agus deasaich ar 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
Tionndaidh air
sysrc auditd_enable=YES
# service auditd start
Tha mar a bhithear a’ riaghladh na cùise seo air a mhìneachadh gu foirfe ann an
A-nis bidh sinn ag ath-thòiseachadh agus a’ dol air adhart chun bhathar-bog air an fhrithealaiche. Tha gach frithealaiche na hypervisor airson soithichean no làn innealan brìgheil. Mar sin, tha e cudromach gum bi am pròiseasar a’ toirt taic do VT-x agus EPT ma tha sinn an dùil làn virtualization a chleachdadh.
Airson rian a chumail air soithichean agus innealan mas-fhìor a bhios mi a’ cleachdadh
Soithichean? Docker a-rithist no dè?
Ach chan eil. cbsd
gus na soithichean sin a chuir air dòigh, ris an canar ceallan.
Tha an cèidse na fhuasgladh air leth èifeachdach airson bun-structar a thogail airson grunn adhbharan, far a bheil feum air aonaranachd iomlan de sheirbheisean no phròiseasan fa leth aig a’ cheann thall. Gu bunaiteach, is e clon den t-siostam aoigheachd a th ’ann, ach chan eil feum air virtualization bathar-cruaidh iomlan. Agus taing dha seo, chan eil goireasan a chosg air an "aoigheachd OS", ach a-mhàin air an obair a thathar a 'coileanadh. Nuair a thèid ceallan a chleachdadh airson feumalachdan a-staigh, tha seo na fhuasgladh gu math goireasach airson an fheum as fheàrr de ghoireasan - faodaidh dòrlach de cheallan air aon fhrithealaiche bathar-cruaidh an goireas frithealaiche gu lèir a chleachdadh leotha fhèin ma tha sin riatanach. Leis gu bheil feum air diofar fo-sheirbheisean mar as trice. goireasan aig diofar amannan, faodaidh tu an coileanadh as àirde a thoirt a-mach à aon fhrithealaiche ma tha thu a’ dealbhadh agus a’ cothromachadh nan ceallan eadar frithealaichean gu ceart. Ma tha feum air, faodar casg a chuir air ceallan cuideachd air a’ ghoireas a thathar a’ cleachdadh.
Dè mu dheidhinn virtualization iomlan?
Cho fad ‘s as aithne dhomh cbsd
a’ toirt taic do dh’ obair bhyve
agus hypervisors XEN. Cha do chleachd mi an dàrna fear a-riamh, ach tha a’ chiad fhear gu math ùr bhyve
anns an eisimpleir gu h-ìosal.
A 'stàladh agus a' rèiteachadh na h-àrainneachd aoigheachd
Bidh sinn a’ cleachdadh FS
gpart add -t freebsd-zfs /dev/ada0
/dev/ada0p4 added!
cuir sgaradh diosc ris an àite a tha air fhàgail
geli init /dev/ada0p4
cuir a-steach am facal-faire crioptachaidh againn
geli attach /dev/ada0p4
Cuiridh sinn a-steach am facal-faire a-rithist agus tha inneal /dev/ada0p4.eli againn - is e seo an t-àite crioptaichte againn. An uairsin bidh sinn ag ath-aithris an aon rud airson / dev/ada1 agus an còrr de na diosgan san raon. Agus bidh sinn a’ cruthachadh fear ùr
zpool create vms mirror /dev/ada0p4.eli /dev/ada1p4.eli /dev/ada3p4.eli
- Uill, tha an uidheamachd sabaid as ìsle againn deiseil. Sreath de dhioscaichean le sgàthan air eagal ’s gum fàillig aon de na trì.
A 'cruthachadh dàta air "pool" ùr
zfs create vms/jails
pkg install cbsd
- chuir sinn sgioba air bhog agus stèidhich sinn riaghladh airson ar ceallan.
Às deidh cbsd
stàladh, feumar a thòiseachadh:
# env workdir="/vms/jails" /usr/local/cbsd/sudoexec/initenv
Uill, freagraidh sinn dòrlach de cheistean, gu ìre mhòr le freagairtean bunaiteach.
* Ma tha thu a’ cleachdadh crioptachadh, tha e cudromach gum bi an daemon cbsdd
cha do thòisich thu gu fèin-ghluasadach gus an dì-chrioptaich thu na diosgan le làimh no gu fèin-ghluasadach (san eisimpleir againn tha seo air a dhèanamh le zabbix)
** Cha bhith mi a’ cleachdadh NAT bho cbsd
, agus tha mi ga rèiteachadh fhèin ann 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
Tha stèidheachadh poileasaidhean balla-teine cuideachd na chuspair air leth, agus mar sin cha tèid mi gu domhainn a-steach a bhith a’ stèidheachadh a’ phoileasaidh BLOCK UILE agus a’ stèidheachadh liostaichean geala, faodaidh tu sin a dhèanamh le bhith a’ leughadh
Uill... tha sinn air cbsd a chuir a-steach, tha an t-àm ann a’ chiad each-obrach againn a chruthachadh - an deamhan Bitcoin cèidse!
cbsd jconstruct-tui
An seo chì sinn an còmhradh cruthachadh cealla. Às deidh na luachan gu lèir a bhith air an suidheachadh, cruthaichidh sinn!
Nuair a chruthaicheas tu a’ chiad chealla agad, bu chòir dhut taghadh dè a chleachdas tu mar bhunait airson na ceallan. Bidh mi a’ taghadh cuairteachadh bhon stòr FreeBSD leis an àithne repo
. Chan eil an roghainn seo air a dhèanamh ach nuair a chruthaicheas tu a 'chiad chealla de dhreach sònraichte (faodaidh tu ceallan de dhreach sam bith a tha nas sine na an dreach aoigheachd).
Às deidh a h-uile càil a chuir a-steach, bidh sinn a ’cur air bhog an cèidse!
# cbsd jstart bitcoind
Ach feumaidh sinn bathar-bog a stàladh sa chèidse.
# jls
JID IP Address Hostname Path
1 192.168.0.1 bitcoind.space.com /zroot/jails/jails/bitcoind
jexec bitcoind
gus faighinn a-steach don consol cealla
agus mu thràth taobh a-staigh na cealla bidh sinn a’ stàladh am bathar-bog leis na h-eisimeileachd aige (tha an siostam aoigheachd againn fhathast glan)
bitcoind:/@[15:25] # pkg install bitcoin-daemon bitcoin-utils
bitcoind:/@[15:30] # sysrc bitcoind_enable=YES
bitcoind:/@[15:30] # service bitcoind start
Tha Bitcoin anns a 'chèidse, ach feumaidh sinn a bhith gun urra oir tha sinn airson ceangal ri cuid de chèidsichean tron lìonra TOP. San fharsaingeachd, tha sinn an dùil a’ mhòr-chuid de cheallan a ruith le bathar-bog amharasach a-mhàin tro neach-ionaid. Taing do pf
Faodaidh tu NAT a dhì-cheadachadh airson raon sònraichte de sheòlaidhean IP air an lìonra ionadail, agus cead a thoirt do NAT a-mhàin airson an nód TOR againn. Mar sin, eadhon ged a gheibh malware a-steach don chill, is coltaiche nach bi e a’ conaltradh ris an t-saoghal a-muigh, agus ma nì e, cha nochd e IP an t-seirbheisiche againn. Mar sin, bidh sinn a’ cruthachadh cealla eile gu seirbheisean “air adhart” mar sheirbheis “.onion” agus mar neach-ionaid airson faighinn chun eadar-lìn gu ceallan fa leth.
# 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
Suidhich airson èisteachd aig seòladh ionadail (ri fhaighinn airson a h-uile cealla)
SOCKSPort 192.168.0.2:9050
Dè eile a tha a dhìth oirnn airson toileachas iomlan? Tha, tha feum againn air seirbheis airson ar lìn, 's dòcha barrachd air aon. Nach cuir sinn nginx air bhog, a bhios mar neach-ionaid cùil agus a bheir aire do bhith ag ùrachadh theisteanasan Let's Encrypt
# cbsd jsconstruct-tui
# cbsd jstart nginx-rev
# jexec nginx-rev
nginx-rev:/@[15:47] # pkg install nginx py36-certbot
Agus mar sin chuir sinn 150 MB de eisimeileachd ann an cèidse. Agus tha an taigh-òsta fhathast glan.
Tillidh sinn gu stèidheachadh nginx nas fhaide air adhart, feumaidh sinn dà chealla a bharrachd a thogail airson ar geata pàighidh air nodejs agus meirge agus tagradh lìn, a tha airson adhbhar air choireigin ann an Apache agus PHP, agus tha feum aig an fhear mu dheireadh air stòr-dàta MySQL cuideachd.
# 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
...agus 380 MB eile de phasganan leotha fhèin
An uairsin, bidh sinn a’ luchdachadh sìos an tagradh againn le git agus ga chuir air bhog.
# cbsd jsconstruct-tui
# cbsd jstart webapp
# jexec webapp
webapp:/@[16:02] # pkg install mariadb104-server apache24 php74 mod_php74 php74-pdo_mysql
450 MB pacaidean. ann an cèidse.
an seo bheir sinn cothrom don leasaiche tro SSH gu dìreach chun chill, nì iad a h-uile càil an sin iad fhèin:
webapp:/@[16:02] # ee /etc/ssh/sshd_config
Port 2267
- atharraich port SSH na cealla gu fear neo-riaghailteach sam bith
webapp:/@[16:02] # sysrc sshd_enable=YES
webapp:/@[16:02] # service sshd start
Uill, tha an t-seirbheis a’ ruith, chan eil air fhàgail ach an riaghailt a chur ris pf
cachaileith-theine
Chì sinn dè an IP a th’ aig na ceallan againn agus cò ris a tha an “sgìre ionadail” againn coltach sa chumantas.
# 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
agus cuir ri riaghailt
# 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
Uill, leis gu bheil sinn an seo, cuiridh sinn cuideachd riaghailt airson neach-ionaid cùil:
## 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
Uill, a-nis beagan mu bitcoins
Is e na tha againn gu bheil tagradh lìn againn a tha fosgailte air an taobh a-muigh agus bidh e a’ bruidhinn gu h-ionadail ris a ’gheata pàighidh againn. A-nis feumaidh sinn a bhith ag ullachadh àrainneachd obrach airson eadar-obrachadh leis an lìonra Bitcoin fhèin - an nód bitcoind
chan eil ann ach daemon a chumas an leth-bhreac ionadail den blockchain ùraichte. Tha comas-gnìomh RPC agus wallet aig an daemon seo, ach tha “còmhdaichean” nas freagarraiche ann airson leasachadh thagraidhean. An toiseach, chuir sinn romhainn a chuir electrum
is e wallet CLI a th’ ann.
coimpiutairean glùine. Airson a-nis cleachdaidh sinn Electrum le frithealaichean poblach, agus nas fhaide air adhart togaidh sinn e ann an cealla eile
# cbsd jsconstruct-tui
# cbsd jstart electrum
# jexec electrum
electrum:/@[8:45] # pkg install py36-electrum
700 MB eile de bhathar-bog nar cèidse
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"
}
A-nis tha wallet againn air a chruthachadh.
wallet@electrum:/ % electrum-3.6 listaddresses
[
"18WEhbjvMLGRMfwudzUrUd25U5C7uZYkzE",
"14XHSejhxsZNDRtk4eFbqAX3L8rftzwQQU",
"1KQXaN8RXiCN1ne9iYngUWAr6KJ6d4pPas",
...
"1KeVcAwEYhk29qEyAfPwcBgF5mMMoy4qjw",
"18VaUuSeBr6T2GwpSHYF3XyNgLyLCt1SWk"
]
wallet@electrum:/ % electrum-3.6 help
Do ar air-slabhraidh Is e dìreach àireamh bheag de dhaoine a bhios comasach air ceangal ris an wallet bho seo a-mach. Gus nach fosgail cothrom air a’ chill seo bhon taobh a-muigh, bidh ceanglaichean tro SSH a’ tachairt tro TOP (dreach dì-mheadhanaichte de VPN). Bidh sinn a’ cur SSH air bhog sa chill, ach na cuir suathadh air ar pf.conf air an aoigh.
electrum:/@[9:00] # sysrc sshd_enable=YES
electrum:/@[9:00] # service sshd start
A-nis leig dhuinn an cealla a chuir dheth le ruigsinneachd eadar-lìn an wallet. Bheir sinn seòladh IP dha bho àite subnet eile nach eil NATed. An toiseach atharraichidh sinn /etc/pf.conf
air an aoigh
# ee /etc/pf.conf
JAIL_IP_POOL="192.168.0.0/24"
atharraichidh sinn e gu JAIL_IP_POOL="192.168.0.0/25"
, mar sin cha bhi cothrom dìreach aig a h-uile seòladh 192.168.0.126-255 air an eadar-lìon. Seòrsa de lìonra “beàrn adhair” bathar-bog. Agus tha riaghailt NAT fhathast mar a bha e
nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC
A luchdadh a-nuas na riaghailtean
# pfctl -f /etc/pf.conf
A nis gabhamaid ar cill
# 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
Hmm, ach a-nis sguir an siostam fhèin ag obair dhuinne. Ach, is urrainn dhuinn neach-ionaid siostam a shònrachadh. Ach tha aon rud ann, air TOR tha e na neach-ionaid SOCKS5, agus airson goireasachd bu mhath leinn neach-ionaid HTTP cuideachd.
# 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
Uill, a-nis tha dà fhrithealaiche progsaidh san t-siostam againn, agus an dà chuid a ’toirt a-mach tro TOR: stocainnean 5: / 192.168.0.2: 9050 agus
A-nis is urrainn dhuinn an àrainneachd wallet againn a rèiteachadh
# 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
Uill, a-nis obraichidh an t-slige bho bhith fo neach-ionaid. Ma tha sinn airson pacaidean a stàladh, bu chòir dhuinn cuir ris /usr/local/etc/pkg.conf
bho bhith fo freumh a 'chèidse
pkg_env: {
http_proxy: "http://my_proxy_ip:8123",
}
Uill, a-nis tha an t-àm ann an t-seirbheis falaichte TOR a chuir ris mar sheòladh ar seirbheis SSH anns a ’chill wallet.
# 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
Is e seo an seòladh ceangail againn. Feuch an dèan sinn sgrùdadh bhon inneal ionadail. Ach an toiseach feumaidh sinn an iuchair SSH againn a chuir ris:
wallet@electrum:/ % mkdir ~/.ssh
wallet@electrum:/ % ee ~/.ssh/authorized_keys
ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAG9Fk2Lqi4GQ8EXZrsH3EgSrVIQPQaAlS38MmJLBabihv9KHIDGXH7r018hxqLNNGbaJWO/wrWk7sG4T0yLHAbdQAFsMYof9kjoyuG56z0XZ8qaD/X/AjrhLMsIoBbUNj0AzxjKNlPJL4NbHsFwbmxGulKS0PdAD5oLcTQi/VnNdU7iFw== user@local
Uill, bho inneal teachdaiche 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
Dèanamaid ceangal (Airson seo a bhith ag obair, feumaidh tu daemon TOR ionadail a bhios ag èisteachd air 9050)
user@local ~$ ssh remotebtc
The authenticity of host 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion (<no hostip for proxy command>)' can't be established.
ECDSA key fingerprint is SHA256:iW8FKjhVF4yyOZB1z4sBkzyvCM+evQ9cCL/EuWm0Du4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion' (ECDSA) to the list of known hosts.
FreeBSD 12.1-RELEASE-p1 GENERIC
To save disk space in your home directory, compress files you rarely
use with "gzip filename".
-- Dru <[email protected]>
wallet@electrum:~ % logout
Soirbheachas!
Gus obrachadh le pàighidhean sa bhad agus meanbh-phàighidhean, feumaidh sinn nód cuideachd c-lightning
riatanach airson obrachadh bitcoind
ach tha.
*Tha diofar bhuileachadh de phròtacal Lightning Network ann an diofar chànanan. Den fheadhainn a rinn sinn deuchainn, bha coltas c-dealanach (sgrìobhte ann an C) mar an fheadhainn as seasmhaiche agus as èifeachdaiche a thaobh ghoireasan
# 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
Fhad ‘s a tha a h-uile dad riatanach air a chuir ri chèile agus air a chuir a-steach, cruthaichidh sinn cleachdaiche RPC airson 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
Tha e coltach nach bi an gluasad mì-rianail agam eadar ceallan cho mì-rianail ma bheir thu fa-near don ghoireas tmux
, a leigeas leat grunn fo-sheiseanan crìochnachaidh a chruthachadh taobh a-staigh aon seisean. Analog: screen
Mar sin, chan eil sinn airson fìor IP ar nód fhoillseachadh, agus tha sinn airson a h-uile gnothach ionmhais a dhèanamh tro TOP. Mar sin, chan eil feum air .onion eile.
# 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
A-nis cruthaichidh sinn config airson c-lightning
lightning:/home/lightning/lightning@[10:31] # su lightning
lightning@lightning:~ % mkdir .lightning
lightning@lightning:~ % ee .lightning/config
alias=My-LN-Node
bind-addr=192.168.0.7:9735
rgb=ff0000
announce-addr=en5wbkavnytti334jc5uzaudkansypfs6aguv6kech4hbzpcz2ove3yd.onion:9735
network=bitcoin
log-level=info
fee-base=0
fee-per-satoshi=1
proxy=192.168.0.2:9050
log-file=/home/lightning/.lightning/c-lightning.log
min-capacity-sat=200000
# sparko plugin
# https://github.com/fiatjaf/lightningd-gjson-rpc/tree/master/cmd/sparko
sparko-host=192.168.0.7
sparko-port=9737
sparko-tls-path=sparko-tls
#sparko-login=mywalletusername:mywalletpassword
#sparko-keys=masterkey;secretread:+listchannels,+listnodes;secretwrite:+invoice,+listinvoices,+delinvoice,+decodepay,+waitpay,+waitinvoice
sparko-keys=masterkey;secretread:+listchannels,+listnodes;ultrawrite:+invoice,+listinvoices,+delinvoice,+decodepay,+waitpay,+waitinvoice
# for the example above the initialization logs (mixed with lightningd logs) should print something like
lightning@lightning:~ % mkdir .lightning/plugins
lightning@lightning:~ % cd .lightning/plugins/
lightning@lightning:~/.lightning/plugins:% fetch https://github.com/fiatjaf/sparko/releases/download/v0.2.1/sparko_full_freebsd_amd64
lightning@lightning:~/.lightning/plugins % mkdir ~/.lightning/sparko-tls
lightning@lightning:~/.lightning/sparko-tls % cd ~/.lightning/sparko-tls
lightning@lightning:~/.lightning/sparko-tls % openssl genrsa -out key.pem 2048
lightning@lightning:~/.lightning/sparko-tls % openssl req -new -x509 -sha256 -key key.pem -out cert.pem -days 3650
lightning@lightning:~/.lightning/plugins % chmod +x sparko_full_freebsd_amd64
lightning@lightning:~/.lightning/plugins % mv sparko_full_freebsd_amd64 sparko
lightning@lightning:~/.lightning/plugins % cd ~
feumaidh tu cuideachd faidhle rèiteachaidh a chruthachadh airson bitcoin-cli, goireas a bhios a’ conaltradh ris bitcoind
lightning@lightning:~ % mkdir .bitcoin
lightning@lightning:~ % ee .bitcoin/bitcoin.conf
rpcconnect=192.168.0.1
rpcuser=test
rpcpassword=test
a' cumail sùil
lightning@lightning:~ % bitcoin-cli echo "test"
[
"test"
]
cur air bhog lightningd
lightning@lightning:~ % lightningd --daemon
E fhèin lightningd
faodaidh tu smachd a chumail air a’ ghoireas lightning-cli
mar eisimpleir:
lightning-cli newaddr
faigh an seòladh airson pàigheadh ùr a-steach
{
"address": "bc1q2n2ffq3lplhme8jufcxahfrnfhruwjgx3c78pv",
"bech32": "bc1q2n2ffq3lplhme8jufcxahfrnfhruwjgx3c78pv"
}
lightning-cli withdraw bc1jufcxahfrnfhruwjgx3cq2n2ffq3lplhme878pv all
cuir an t-airgead gu lèir sa wallet chun t-seòladh (gach seòladh air slabhraidh)
Cuideachd òrdughan airson obrachaidhean far-slabhraidh lightning-cli invoice
, lightning-cli listinvoices
, lightning-cli pay
agus mar sin air adhart
Uill, airson conaltradh leis an tagradh tha REST Api againn
curl -k https://192.168.0.7:9737/rpc -d '{"method": "pay", "params": ["lnbc..."]}' -H 'X-Access masterkey'
Leigamaid a-steach na toraidhean
# 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
Tha seata de shoithichean againn, gach fear le a ìre ruigsinneachd fhèin bho agus chun lìonra ionadail.
# 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
Mar a chì thu, bidh bitcoind a’ toirt suas 190 GB de rùm gu lèir. Dè ma tha feum againn air nód eile airson deuchainn? Seo far a bheil ZFS a’ tighinn gu feum. Le cuideachadh cbsd jclone old=bitcoind new=bitcoind-clone host_hostname=clonedbtc.space.com
's urrainn dhut dealbh a chruthachadh agus cealla ùr a cheangal ris an dealbh seo. Bidh àite fhèin aig a’ chill ùr, ach cha tèid ach an diofar eadar an staid làithreach agus an tè thùsail a thoirt fa-near san t-siostam faidhle (sàbhailidh sinn co-dhiù 190 GB)
Tha an stòr-dàta ZFS fhèin aig gach cealla, agus tha seo air leth goireasach.
Is fhiach a bhith mothachail cuideachd gu bheil feum air sgrùdadh iomallach air an aoigh, airson na h-adhbharan sin a tha againn
B - sàbhailteachd
A thaobh tèarainteachd, tòisichidh sinn bho na prìomh phrionnsabalan ann an co-theacsa bun-structair:
Dìomhaireachd - Bidh innealan àbhaisteach de shiostaman coltach ri UNIX a’ dèanamh cinnteach gu bheil am prionnsapal seo air a bhuileachadh. Bidh sinn gu loidsigeach a’ sgaradh ruigsinneachd gu gach eileamaid den t-siostam a tha air leth fa leth - cealla. Tha ruigsinneachd air a thoirt seachad tro dhearbhadh cleachdaiche àbhaisteach a’ cleachdadh iuchraichean pearsanta an neach-cleachdaidh. Bidh a h-uile conaltradh eadar agus gu na ceallan deiridh a’ tachairt ann an cruth crioptaichte. Taing do chrioptachadh diosc, chan fheum sinn dragh a ghabhail mu shàbhailteachd dàta nuair a bhios sinn ag ath-nuadhachadh diosc no a’ gluasad gu frithealaiche eile. Is e an aon ruigsinneachd riatanach ruigsinneachd air an t-siostam aoigheachd, leis gu bheil ruigsinneachd mar sin mar as trice a’ toirt cothrom air dàta taobh a-staigh soithichean.
Ionracas “Tha buileachadh a’ phrionnsapail seo a’ tachairt aig grunn ìrean eadar-dhealaichte. An toiseach, tha e cudromach toirt fa-near, a thaobh bathar-cruaidh frithealaiche, cuimhne ECC, gu bheil ZFS mar-thà “a-mach às a’ bhogsa ”a’ toirt aire do ionracas dàta aig ìre pìosan fiosrachaidh. Leigidh dealbhan sa bhad leat cùl-taic a dhèanamh aig àm sam bith air an itealan. Bidh innealan goireasach às-mhalairt / in-mhalairt cealla a’ dèanamh ath-riochdachadh cealla sìmplidh.
Ri fhaotainn - Tha seo mar-thà roghainneil. Tha e an urra ri ìre do chliù agus gu bheil gràin agad. Anns an eisimpleir againn, rinn sinn cinnteach gun robh am wallet ruigsinneach a-mhàin bhon lìonra TOP. Ma tha feum air, faodaidh tu a h-uile càil air a’ bhalla-teine a bhacadh agus cothrom a thoirt don fhrithealaiche a-mhàin tro thunailean (TOR no VPN na chùis eile). Mar sin, thèid an frithealaiche a ghearradh dheth bhon t-saoghal a-muigh cho mòr ‘s as urrainn, agus is e sinne fhìn a bhios comasach air buaidh a thoirt air na tha ri fhaighinn.
Do-dhèanta diùltadh - Agus tha seo an urra ri tuilleadh obrachaidh agus gèilleadh ris na poileasaidhean ceart airson còraichean luchd-cleachdaidh, ruigsinneachd, msaa. Ach leis an dòigh-obrach cheart, tha gnìomhan luchd-cleachdaidh uile air an sgrùdadh, agus le taing do fhuasglaidhean criptografach tha e comasach comharrachadh gun teagamh cò a rinn gnìomhan sònraichte agus cuin.
Gu dearbh, chan eil an rèiteachadh a chaidh a mhìneachadh na eisimpleir iomlan de mar a bu chòir dha a bhith an-còmhnaidh, tha e na aon eisimpleir de mar as urrainn dha a bhith, agus aig an aon àm a ’gleidheadh comasan sgèileachaidh is gnàthachaidh gu math sùbailte.
Dè mu dheidhinn virtualization iomlan?
Mu dheidhinn virtualization iomlan a’ cleachdadh cbsd as urrainn dhut bhyve
Feumaidh tu cuid de roghainnean kernel a chomasachadh.
# cat /etc/rc.conf
...
kld_list="vmm if_tap if_bridge nmdm"
...
# cat /boot/loader.conf
...
vmm_load="YES"
...
Mar sin ma dh’ fheumas tu docker a thòiseachadh gu h-obann, an uairsin stàlaich beagan debian agus falbh!
Sin e
Tha mi creidsinn gur e sin a bha mi airson a roinn. Nam bu toil leat an artaigil, faodaidh tu beagan bitcoins a chuir thugam -
Source: www.habr.com