ակտիւ բոտերի քանակը Հայաստանում։
Special thanks to shell, awk, cut, paste. graph created using gnuplot.
ակտիւ բոտերի քանակը Հայաստանում։
Special thanks to shell, awk, cut, paste. graph created using gnuplot.
CARP֊ի մասին
CARP֊ը, նոյն ինքը Common Address Redundancy Protocol-ը, ցանցային հաղորդակարգ է, որը թոյլ է տալիս մի քանի հանգոյց նոյն ցանցում ունենան նոյն ԱյՓին 🙂 CARP-ի գլխաւոր նպատակն է ֆեյլօվերների ժամանակ ապահովել կապը։ ճիշտ կարգաւորումով այն կարող է օգտագործուել որպէս ծանրաբեռնուածութեան հաւասարակշռող (Load Balancer)։
CARP-ը ստեղծուել OpenBSD֊ի կողմից է որպէս Ցիսկոյի VRRP֊ի ու HSRP֊ի ազատ եւ անպատենտ տարբերակ 🙂
Ինչու (Free|Open)BSD֊ի վրայ։
ահաւոր յարմար է, հեշտ, տեղակայումը տեւում է չորս րոպէ ։պ
Օկ, հիմա կարգաւորենք։
Այս փորձարկման համար սարքել եմ երկու վիրտուալ մեքենայ, hosta եւ hostb, որտեղ, hosta-ն լինելու է գլխաւոր մեքենան, իսկ hostb-ն լինելու է backup-ը։
օքեյ, հիմա։ CARP-ի համար պէտք են հետեւեալ բաները՝ Մեքենաներ, ամէն մէկն ունենում է իր իրական ԱյՓին (Real IP), եւ բոլորը միասին սպասարկում են Shared IP որն ունի իր Virtual Host ID :))
օկ, նախ կարգաւորենք իրական այփիները, եւ տեսնենք որ մէկը միւսին հասանելի է։
hosta.carp
:
ifconfig em1 inet 192.168.69.10/24
ապա hostb.carp
:
ifconfig em1 inet 192.168.69.20/24
եւ իրար պինգենք (։
ահա, հիմա երկուսն էլ իրար հասանելի են։ հիմա արդէն կարգաւորենք VHID-ն եւ shared IP-ն (։
hosta.carp
:
ifconfig em1 inet vhid advskew 100 pass mypassword alias 192.168.69.50/24
hostb.carp
:
ifconfig em1 inet vhid advskew 200 pass mypassword alias 192.168.69.50/24
advskew-ն որն աւելի ցածր է, դա աւելի բարձր priority ունի։
ես չուզեցի հրաման աշխատեցնել, նախընտրում եմ սկրիպտ գրել, ահա եւ դա։
յուշում, չմոռանալ միացնել միջուկի մոդուլը՝ kldload carp
ահա եւ երկու մեքենաները, ոնց տեսնում էք, մէկը master իսկ միւսը backup 🙂
լաւ, հիմա արդէն փորձարկում անենք։
դրա համար ես կը քաշեմ երկուսի վրայ էլ վեբ սերվեր, ապա ամէն մէկի մէջ գրենք թէ ինքը ով է ։)
հիմա, մաաաարդ ես, եթէ HostA-ին ինչ որ բան լինի, (էս դէպքում ես Reboot արեցի) ապա HostB-ն է արդէն պատասխանում 🙂
լաւ, հիմա միքիչ աւելի հետաքրքիր բան։ շատ ժամանակ ուզում ենք մեր միջավայրը փոխել, ասենք Dev վերսիան release անել, բայց երբէք downtime չենք ուզում։
հիմա ունեմ HostDev, որը ունի Dev վերսիան, հիմա դա պէտք է Release անել։
նախ իհարկէ դա կարգաւորում ենք CARP-ով (իհարկէ իր իրական այփին կարգաւորելուց յետոյ)։
ifconfig em1 inet 192.168.69.32/24
ifconfig em1 inet vhid 1 advskew 99 pass mypassword alias 192.168.69.50/25
ապա իրեն դնում ենք MASTER
ifconfig em1 vhid 1 state master
ու ֆսյո (։
ասանկ բաներ 🙂
miserable people love each other… miserably.
լինուքս բաշխումների նոր վարկածներում (արդէն քանի տարի է) անցել են ոչ-աւանդական դրայւերի հիման վրայ ինտերֆեյսների անուանմանը, օրինակ՝ wlan0-ի փոխարէն wlp8s0 կամ eth0-ի փոխարէն ens3s0, եւ այլն։ որը ինձ դուր չի գալիս։ դէ եթէ նոյն բանը լինէր ԲՍԴ-ում, կասէի օկ է, ԲՍԴ-ական է, բայց լինուքսի քսան տարի մշակոյթը փոխելը (անհիմն) այդքան ալ սիրուն չէ (։
ցոյց տամ թէ ինչպէս հետ փոխել աւանդական անուններին։
այս մեթոդը կ’աշխատի կամայական լինուքսում, եթէ բութլոդերը գրաբն է (շատ քիչ հաւանական է, որ Լիլո էք օգտագործում, ու այս գրածս կարդում էք ։պ)
Գրաբը գեներացնում է իր կարգաւորումները grub-mkconfig հրամանով, սակայն մինչ այդ այն ունի նաեւ իր default եւ user-default կարգաւորումները որի հետ «հաշուի է նստում»։
/etc/default/grub
ֆայլում գոյութիւն ունի GRUB_CMDLINE_LINUX_DEFAULT
փոփոխականը, որտեղ պէտք է աւելացնել հետեւեալ արժէքը՝ net.ifnames=0
այսինքն հիմա պէտք է լինի այսպէս՝
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0"
ահա, հիմա էլ պէտք է նոր քոնֆիկ ֆայլը գեներացնել՝
grub-mkconfig -o /boot/grub/grub.cfg
ըհը, յաջորդ բութի ժամանակ կ՚ունենանք ինտերֆեյսներ աւանդական անուններով 😀
ծեծուած թեմայի մասին եմ ուզում խօսել, ուղղակի երկու բան աւելացնելով.
Սան Ֆրանցիսկոյի միթափները՝ Meetups near San Francisco, California
եւ Երեւանեան միթափները՝ Meetups near Yerevan
բայց այստեղ հետաքրքիրը իրականում ուրիշ բան է. այն, որ Երեւանում շատ աւելի շատ է բնակչութիւնը քան Սան Ֆրանցիսկոյում։ բայց մէկ է, մեզ մօտ աւելի քիչ են համայնքները, եթէ առհասարակ կան։
ուտենց։ մինչ։
Բարի լոյս։
ժամը երեքն է, բայց բարի լոյս, քանի որ ես նոր եմ արթնացել։ ես, ես, ես։ այսպէս ենք մենք՝ մարդ արարածներս, by default, միշտ self-centered ենք, դա մեր բնական կարգաւորումն է, բայց լաւ է որ հնարաւոր է փոխել։
վերնագիրը երկար էր, թեման՝ աւելի երկար, բայց հաւանաբար ոչ շատ հետաքրքիր շատերի համար։
Հայաստան եմ եկել մօտ չորս ու կէս տարի առաջ, համարեայ արեւելահայերէնից զրոյ, համարեայ մարդ չգիտէի։ այսօր շատերին եմ ճանաչում, շատերն էլ ինձ։ բայց այսօր իմ մասին չեմ ուզում գրել։ այսօր ուզում եմ գրել Էդգարի մասին։ նա շատ լաւ տղայ է, իր մասին տեսայ առաջին անգամ ռեդիթում։ իհարկէ ռեդիթում էի տեսնելու, քանի որ մենք ֆեյսբուք չունենք (։ երբ գրառել էր, որ հաւաքում է Հայաստանեան թեքնոլոջի համայնք։ պահի տակ մտածեցի «շիթ, էս ինչքան խնդիրներ է ունենալու, I mean, համարեայ fucked up ես լինում առաջին երկու ամիսը ՀՀում» դէ գոնէ ինձ հետ տենց էր
որոշեցինք հանդիպել։ հանդիպեցինք, նոյնիսկ գնացինք խմելու։ խմեցինք այնքան շատ, խօսեցինք այնքան շատ, հասկացանք այնքան շատ բան կայ անելու Հայաստանում, որ տարիների գործ է։ լաւ, ինչեւէ։ դրա մասին դեռ ուրիշ անգամ։
հա, խմելու մասին, այնքան շատ էինք խմել, որ երբ տուն եկայ, սկսեցի հալիւցինացիաներ տեսնել։ սարդը քայլում էր խոհանոցում։ իհարկէ չսպանեցի սարդին, ես սիրում եմ սարդերին, անգամ սարդ-մարդին։
յաջորդ առաւօտ (իրականում կրկին կէսօրին) արթնացայ, գնացի խոհանոց, նայեցի պահարանի արանքին ու հասկացայ որ տեսիլք էր։ այդքան բան։ դեռ կը խօսենք հալիւցինացիաների մասին…
Հայաստանում ապրելը բարդ է, մարդիկ միշտ զբաղ են, երբեք ժամանակ չունեն ինձ եւ/կամ Էդգարի նման նորեկների համար։ եթէ մէկը ժամանակ է գտնում, ապա փորձէք իրենց պինդ պահել գրկած, ամէն օր տեսնել, խօսել, շփուել, իրար օգնել, որ չյոգնել, ուտենց։ նորայր, վաչագան, ձեզ եմ նայում (։
աւելի վատն այն է, երբ մէկը նորեկ է, ու շատերն իրեն նայում եւ ասում են «էս ինչի՞ ես եկել, ըստէ լաւ տեղ չի ապէ, հետ գնայ քո տեղերը, կամ էն քո հոլանդաները» (մի ժամանակ այնտեղ էի ապրում)։ աւաղ, այդ մարդկանց լսել պէտք չէ, այնքան յետամնաց են, որ չեն տարբերում Հոլանդիան Նիդեռլանդներից։
բայց իրենք էլ իրենց հալիւցինացիաներն ունեն։ մինչ այդ, խօսենք հալիւցինացիաների մասին…
Սարդը միջին չափսի էր, սիրուն, կանաչ, ակտիւ, հա փորձում էր վերեւ բարձրանալ, բայց ընկնում էր։ հալիւցինացիաները օդից չեն գալիս, երազների նման են, ինչ-որ բան են ներկայացնում։ այս դէպքում՝ մեզ։ միջին տարիքի եմ, կանաչ տերմինալներ եմ սիրում, ակտիւ եմ, հա փորձում եմ բարձրանալ, բայց դէ life sucks, միշտ ընկնում եմ ինչ-որ տեղ։ դէ իհարկէ սիրունը դուրս հանեցի։
իհարկէ հիմա նստած խոհանոցում գիտեմ, որ այդ անկիւնում սարդ չկայ։ բայց ամէն անգամ, որ գնում եմ, նայում եմ գետնին։ ամէն անգամ։
հալիւցինացիաները ազդեցութիւն են թողնում, միշտ։ ինչքան էլ մենք իմանանք, ընդունենք, կամ չ’ընդունենք, դա փաստ է։
Շատերի համար Հայաստանը աշխարհի ամենաֆաքդափ երկիրն է, գիտե՞ք ինչու։ քանի որ իրենք այդպիսի հալիւցինացիաներ ունեն։ բայց դա օկ է, բոլորս ենք խմած վատ ժամանակ նման բաներ տեսնում։
միակ բանը, որ շատերը չեն անում, դա պահարանի հետեւում սարդը ման գալն է, իրականութիւնը գտնելն է, հասկանալն է, որ դա սուտ է, տեսիլք է։
երեւի… երեւի միակ սխալ բանը, որ շատերն անում են, դա իրենց տեսած հալիւցինացիաները տարածելն է։ ու ասելով որ այդ ամէն ինչը իրականութիւն է։
Հայաստանը վատ երկիր չի, բայց աշխարհը ամենալաւ երկիրն էլ չի։ միակ ձեւը, որ մարդիկ գան մտնեն մեր խոհանոց առանց վախենալու սարդից, այն է, որ ապացուցենք, նախ ինքներս մեզ, որ այդ սարդը չկայ, որ դա սուտ էր, ու ամէն օր մտնենք խոհանոց, լաւ հաց սարքենք, ոչ թէ վախենանք, ու գնանք ուրիշի խոհանոցը, մերը մենակ թողնելով։
սարդերը մենք ենք ստեղծում, մենք էլ պէտք է սպանենք դրանց։
երբ մէկը ցանկանում է գալ Հայաստան, փորձէք չանտեսել իրեն։ փորձէք օգնել։
Էդգարը Հայաստանում է, փորձում է մեր բոլորի սարդին սպանել, կամ գոնէ ապացուցել, որ դա իրական չէ։
բացել է արդէն ՄիթԱփ խումբ, փորձում է ինչ-որ բան փոխել, եկէք օգնենք իրեն (։
ֆաք, գրելով տարուեցի, սիգարետը յանգեց։
Էդգարներ շատ կան, իրենց նկատել է պէտք, գնահատել է պէտք։ բայց սարդերը այդքան շատ չեն, ինչքան դրանց մասին տարածողները, առանց տեսնելու սարդերին, առանց անգամ փաստ ունենալու, սարդը կապիկ դարձնողները, սարդից վախեցողները, խոհանոցը լքողները, լքել առաջարկողները, եւ ամենակարեւորը՝ սարդին ստեղծողները։
եւ ատանկ բաներ։ մինչ։
ուզում եմ խօսել ֆայլերի գաղտնագրման մասին։ բայց ոչ GnuPG-ով եւ/կամ EncFS-ով ինչպէս միշտ առաջարկում եմ։
խօսքս գնում է միանգամեայ գաղտնագրման մասին, այս անգամ OpenSSL-ով։
գաղտնագրում ենք mytext.txt ֆայլն այսպէս՝
openssl enc -aes-256-cbc -in mytext.txt -out encrypted.asc
ապա մուտքագրում ենք գաղտնագիր։ չմոռանաք գաղտնագիրը, եւ չգրէք ոչ մէկ տեղ ։Ճ
հիմա ապագաղգտնագրում ենք՝
openssl enc -d -aes-256-cbc -in encrypted.asc -out hertext.txt
ահա եւ ջիֆ (։
ընկերներիս մեծ մասը օգտագործում են Վիրտուալ Բոքս, սակայն ես չեմ սիրում դա։ նախ ահաւոր երկար է քոմփայլ արւում, յետոյ էլ քոմանդ լայնից մի քիչ բարդ է։
ՔիւԷՄԻւ֊ն աւելի պարզ է, համ էլ նորմալ աշխատում է KVM֊ի հետ։ նորմալը որն է, հենց իրար համար են ստեղծուած ։Ճ
ամէն դէպքում։ էսօր արագի մէջ ցոյց եմ տալու, թէ ինչպէս սարքել կամուրջ, որ կարողանան հիւր մեքենաները շփուել միասին, ինչպէս նաեւ տանտէր մեքենայի հետ (։
նախ, ես ունեմ հետեւեալ ինտերֆեյսները՝
հիմա, պէտք է անել հետեւեալը. նախ սարքել երկու հատ TUN/TAP ինտերֆեյս, որը թոյլ կը տայ մեր հիւր մեքենաներին կպնեն, ապա այդ երկու ինտերֆեյսները միացնում ենք իրար, սարքելով br0 կամուրջ ինտերֆեյս։
ու այդ br0-ն նաեւ լինում է մեր տանտէր մեքենայի ինտերֆեյը։
նախ ստուգենք եթէ մեր միջուկը սպասարկում է TUN/TAP ինտերֆեյսը։ գրեփում ենք կարգաւորումները.
antranigv@zvartnots ~ $ grep CONFIG_TUN /boot/config-`uname -r`
CONFIG_TUN=y
ահա, ինձ մօտ այդ հնարաւորութիւնը կայ, ձեր մօտ հաւանաբար y-ի փոխարէն կը լինի m։ այսինքն որպէս մոդուլ։
հիմա պէտք է սարքել երկու TAP ինտերֆեյս, ամէն մէկը մի հիւր մեքենայի համար։ դրա համար պէտք է լինել ռութ (։
antranigv@zvartnots ~ $ sudo tunctl -t tap0 -u antranigv -g kvm
Set 'tap0' persistent and owned by uid 1000 gid 78
antranigv@zvartnots ~ $ sudo tunctl -t tap1 -u antranigv -g kvm
Set 'tap1' persistent and owned by uid 1000 gid 78
իհարկէ antranigv
-ն պէտք է փոխէք ձեր յուզերնեյմով, որ կարողանաք օգտագործել ինտերֆեյսը որպէս յուզեր (։
ահա, հիմա արդէն ունենք երկուսն էլ (։
հիմա պէտք է կամուրջ սարքել, ու երկուսը միացնել իրար ։Ճ
antranigv@zvartnots ~ $ sudo brctl addbr br0
antranigv@zvartnots ~ $ sudo ifconfig br0 192.168.70.1
antranigv@zvartnots ~ $ sudo brctl addif br0 tap0
antranigv@zvartnots ~ $ sudo brctl addif br0 tap1
ու վերջում պէտք է sysctl-ով միացնել IP forwarding-ը որ մեր սարքը աշխատի որպէս ռաութեր։
net.ipv4.ip_forward = 1
թոյն ^^ հիմա արդէն պէտք է մեքենաները միացնել։ ես ուզում եմ միացնել իմ երկու մեքենաները։ մէկը իմ ամենաառաջին յունիքսն է եղել, իսկ միւսը էքսփլոյթ էքսերսայզի նեբուլա մեքենան է, անպայման խորհուրդ եմ տալիս սովորել դրա վրայ (։
նախ նեբուլան՝
antranigv@zvartnots ~/exploit-exercise $ qemu-system-x86_64 -enable-kvm \
> -cdrom exploit-exercises-nebula-5.iso \
> -m 512M \
> -monitor stdio \
> -name nebula \
> -net nic,model=e1000,macaddr=52:54:00:00:1F:EC -net user,hostname=nebula \
> -net nic,model=e1000,macaddr=52:54:00:00:35:FE -net tap,ifname=tap0,script=no,downscript=no \
>
ահա, մեր նեբուլայում երեւում են երկու ինտերֆեյս։ դրել եմ մակ հասցէնէերը որ կարողանամ տարբերել, մէկը սովորական յուզեր ինտերֆեյս է, որը թոյլ է տալս մտնել համացանց, իսկ միւսը որ միանայ մեր ներքին ցանցին։ հիմա պէտք է ներքին ցանցի ինտերֆեյսին տալ ներքին այփի։ ինչպէս որ վերեւում էինք նախատեսել (։
հիւր ՕՀ-ում անում ենք
ifconfig eth1 inet 192.168.70.10
ու արդէն նոյն ցանցի մէջ ենք, հիմա էլ կպնում ենք իրար (։
հիմա նոյնը պէտք է անել միւս հիւրի հետ։ ահա
antranigv@zvartnots ~/oldlinux $ qemu-system-x86_64 -enable-kvm \
> -m 512M \
> -name wirelesscracker \
> -cdrom wirelesscracker.iso \
> -net nic,model=e1000,macaddr=52:54:00:00:30:FE -net tap,ifname=tap1,script=no,downscript=no \
> -monitor stdio
ահա եւ միացաւ (։
հիմա այստեղ էլ ենք կարգաւորում.
ifconfig eth0 inet 192.168.70.11
հիմա փորձենք ամէն տեղ պինգել ։Ճ
ահա, ամէն ինչ աշխատում է (։
ու տենց։