Consul + iptables = :3

Na 2010 ụlọ ọrụ Ịlụ ọgụ enwere sava 50 na ụdị netwọkụ dị mfe: azụ azụ, frontend na firewall. Ọnụ ọgụgụ nke sava toro, ihe nlereanya ahụ ghọrọ mgbagwoju anya: nhazi, VLAN dịpụrụ adịpụ na ACL, mgbe ahụ VPNs nwere VRF, VLAN nwere ACL na L2, VRF nwere ACL na L3. Isi na-atụgharị? Ọ ga-atọkwu ụtọ ma emechaa.

Mgbe enwere ihe nkesa 16, ọ gaghị ekwe omume ịrụ ọrụ na-enweghị anya mmiri na ọtụtụ akụkụ dị iche iche. Ya mere, anyị wepụtara ihe ngwọta ọzọ. Anyị were nchịkọta Netfilter, tinye Consul na ya dị ka isi iyi data, wee nweta firewall ekesa ngwa ngwa. Ha dochiri ACL na ndị na-anya ụgbọ elu wee jiri ha dị ka mgbanaka mpụga na nke ime. Iji jikwaa ngwá ọrụ ahụ nke ọma, anyị mepụtara usoro BEFW, nke a na-eji n'ebe niile: site na ijikwa ohere onye ọrụ na netwọk ngwaahịa ruo na-ekewapụ akụkụ netwọk na ibe ya.

Consul + iptables = :3

Ọ ga-agwa gị ka ihe niile si arụ ọrụ na ihe mere ị ga-eji lerukwuo usoro a anya. Ivan Agarkov (amuor) bụ onye isi otu nchekwa akụrụngwa nke ngalaba mmezi na ụlọ ọrụ mmepe Minsk. Ivan bụ onye ofufe SELinux, hụrụ Perl n'anya, ma dee koodu. Dị ka onye isi nke nchekwa nchekwa ozi, ọ na-arụ ọrụ mgbe niile na ndekọ, nkwado ndabere na mpaghara R & D iji chebe Wargaming site na ndị na-egwu egwu ma hụ na ọrụ nke sava egwuregwu niile na ụlọ ọrụ ahụ.

Akụkọ ihe mere eme

Tupu m agwa gị otú anyị si mee ya, m ga-agwa gị otú anyị si bịa na nke mbụ na ihe mere o ji dị mkpa. Iji mee nke a, ka anyị laghachi azụ 9 afọ: 2010, World of tank dị nnọọ pụtara. Wargaming nwere ihe dị ka sava 50.

Consul + iptables = :3
chaatị uto ụlọ ọrụ.

Anyị nwere ụdị netwọkụ. Maka oge ahụ ọ kacha mma.

Consul + iptables = :3
Ụdị netwọkụ na 2010.

Enwere ndị ajọ mmadụ nọ n'ihu na-achọ imebi anyị, mana o nwere firewall. Enweghị firewall na azụ azụ, mana enwere sava 50 ebe ahụ, anyị maara ha niile. Ihe niile na-arụ ọrụ nke ọma.

N'ime afọ 4, ụgbọ mmiri ihe nkesa na-eto ugboro 100, ruo 5000. Netwọk mbụ dịpụrụ adịpụ pụtara - nhazi: ha enweghị ike ịga na mmepụta, na ọtụtụ mgbe ihe na-agba ọsọ n'ebe ahụ nwere ike ịdị ize ndụ.

Consul + iptables = :3
Ụdị netwọkụ na 2014.

Site na inertia, anyị na-eji otu ngwa ngwa ngwa, na-arụ ọrụ niile na VLAN dịpụrụ adịpụ: ACL na-edegara VLAN, nke na-enye ohere ma ọ bụ jụ ụdị njikọ.

Na 2016, ọnụ ọgụgụ nke sava ruru 8000. Wargaming na-etinye uche na ụlọ ọrụ ndị ọzọ, na netwọk mmekọrịta ndị ọzọ pụtara. Ha dị ka nke anyị, mana ọ bụghị nke ọma: VLAN anaghị arụ ọrụ maka ndị mmekọ, ị ga-eji VPN na VRF, ikewapụ na-agbagwoju anya. Ngwakọta mkpuchi ACL toro.

Consul + iptables = :3
Ụdị netwọkụ na 2016.

Ka ọ na-erule mmalite nke 2018, ụgbọ mmiri nke igwe na-eto eto ruo 16. Enwere akụkụ 000, anyị agụghịkwa ndị ọzọ, gụnyere ndị mechiri emechi nke echekwara data ego. Netwọk akpa (Kubernetes), DevOps, netwọk igwe ojii ejikọrọ site na VPN, dịka ọmụmaatụ, site na IVS, apụtala. Enwere ọtụtụ iwu - ọ na-egbu mgbu.

Consul + iptables = :3
Ụdị netwọkụ na ụzọ iche iche na 2018.

Maka iche anyị ji: VLAN nwere ACL na L2, VRF nwere ACL na L3, VPN na ọtụtụ ndị ọzọ. Nke ukwuu.

Nsogbu

Onye ọ bụla bi na ACL na VLAN. Kedu ihe ọ bụ? Harold ga-aza ajụjụ a, na-ezochi mgbu ahụ.

Consul + iptables = :3

E nwere ọtụtụ nsogbu, ma e nwere nnukwu nsogbu ise.

  • Ọnụ ahịa geometric na-abawanye maka iwu ọhụrụ. Ọchịchị ọhụrụ ọ bụla were ogologo oge ịgbakwunye karịa nke gara aga, n'ihi na ọ dị mkpa ka buru ụzọ hụ ma ọ bụrụ na enweelarị iwu dị otú ahụ.
  • Enweghị firewall n'ime ngalaba. Ekewapụrụ akụkụ ndị ahụ n'otu ụzọ, ma enwebeghịrị ihe onwunwe zuru oke n'ime.
  • E tinyere iwu ndị ahụ ogologo oge. Ndị na-arụ ọrụ nwere ike iji aka dee otu iwu mpaghara n'ime otu elekere. Nke zuru ụwa ọnụ were ọtụtụ ụbọchị.
  • Ihe isi ike na iwu nyocha. Kpọmkwem, ọ gaghị ekwe omume. Edere iwu mbụ na 2010, na ọtụtụ n'ime ndị edemede ha arụkwaghị ọrụ maka ụlọ ọrụ ahụ.
  • Ọkwa dị ala nke njikwa akụrụngwa. Nke a bụ isi nsogbu - anyị amaghị nke ọma ihe na-eme na mba anyị.

Nke a bụ ihe onye injinia netwọk dị ka na 2018 mgbe ọ nụrụ: "Achọrọ ACL ọzọ."

Consul + iptables = :3

Ngwọta

Ná mmalite nke 2018, e kpebiri ime ihe banyere ya.

Ọnụ ego nke njikọta na-eto eto mgbe niile. Ebe mmalite bụ na nnukwu ebe data kwụsịrị ịkwado VLAN dịpụrụ adịpụ na ACL n'ihi na ngwaọrụ ndị ahụ agwụla ebe nchekwa.

Ngwọta: anyị wepụrụ ihe mmadụ na-akpata ma na-akpaghị aka na-enye ohere ịnweta oke.

Iwu ọhụrụ na-ewe ogologo oge iji tinye n'ọrụ. Ngwọta: mee ngwa ngwa ngwa nke iwu, mee ka ọ kesaa na ihe yiri ya. Nke a na-achọ usoro nkesa ka ewepụtara iwu ndị ahụ n'onwe ha, na-enweghị rsync ma ọ bụ SFTP na otu puku usoro.

Enweghị firewall n'ime ngalaba. Firewall n'ime akụkụ malitere ịbịakwute anyị mgbe ọrụ dị iche iche pụtara n'ime otu netwọkụ ahụ. Ngwọta: jiri firewall na ọkwa nnabata - firewalls dabeere na ndị ọbịa. Ihe fọrọ nke nta ka ọ bụrụ ebe niile anyị nwere Linux, na ebe ọ bụla anyị nwere iptables, nke a abụghị nsogbu.

Ihe isi ike na iwu nyocha. Ngwọta: Debe iwu niile n'otu ebe maka nyocha na njikwa, ka anyị nwee ike nyochaa ihe niile.

Ọkwa dị ala nke njikwa akụrụngwa. Ngwọta: were ndekọ ọrụ niile wee banye n'etiti ha.

Nke a bụ usoro nhazi karịa nke teknụzụ. Mgbe ụfọdụ, anyị na-enwe 200-300 ọhụrụ ewepụtara kwa izu, karịsịa n'oge nkwalite na ezumike. Ọzọkwa, nke a bụ naanị maka otu otu nke DevOps anyị. Site na ọtụtụ ntọhapụ, ọ gaghị ekwe omume ịhụ ihe ọdụ ụgbọ mmiri, IP, na njikọta dị mkpa. N’ihi ya, anyị chọrọ ndị nlekọta ije ozi a zụrụ nke ọma bụ́ ndị jụrụ ìgwè ahụ, sị: “Olee ihe e nwere, gịnịkwa mere unu ji wepụta ya?”

Mgbe ihe niile anyị malitere, onye injinia netwọkụ na 2019 malitere ịdị ka nke a.

Consul + iptables = :3

Nkwuputa

Anyị kpebiri na anyị ga-etinye ihe niile anyị hụrụ site n'enyemaka nke ndị njikwa ọrụ na Consul ma si ebe ahụ dee iwu iptables.

Olee otú anyị si kpebie ime nke a?

  • Anyị ga-anakọta ọrụ niile, netwọkụ na ndị ọrụ.
  • Ka anyị mepụta iwu iptables dabere na ha.
  • Anyị na-akpaghị aka njikwa.
  • ....
  • Uru.

Consul abụghị API dịpụrụ adịpụ, ọ nwere ike ịgba ọsọ n'ọnụ ọnụ ọ bụla wee degara iptables akwụkwọ. Ihe fọrọ nke nta ka ọ bụrụ iji ngwá ọrụ nchịkwa akpaaka ga-ehichapụ ihe ndị na-adịghị mkpa, a ga-edozikwa ọtụtụ nsogbu! Anyị ga-arụ ọrụ ndị ọzọ ka anyị na-aga.

Gịnị kpatara Consul?

egosila onwe ya nke ọma. Na 2014-15, anyị ji ya dị ka ndabere maka Vault, nke anyị na-echekwa okwuntughe.

Adịghị atụfu data. N'oge a na-eji ya, Consul adaghị data n'oge otu ihe mberede. Nke a bụ nnukwu gbakwunyere maka sistemụ njikwa firewall.

Njikọ P2P na-eme ka mgbasa nke mgbanwe dịkwuo ngwa. Site na P2P, mgbanwe niile na-abịa ngwa ngwa, ọ dịghị mkpa ichere ruo awa.

API REST dị mma. Anyị tụlekwara Apache ZooKeeper, mana ọ nweghị API REST, yabụ ị ga-etinye crutches.

Na-arụ ọrụ dị ka ma Key Vault (KV) na ndekọ (Nchọpụta ọrụ). Ị nwere ike ịchekwa ọrụ, katalọgụ, na ebe data ozugbo. Nke a dị mma ọ bụghị naanị maka anyị, kamakwa maka ndị agbata obi, n'ihi na mgbe anyị na-arụ ọrụ zuru ụwa ọnụ, anyị na-eche nnukwu echiche.

Edere ya na Go, nke bụ akụkụ nke nchịkọta Wargaming. Anyị hụrụ asụsụ a n'anya, anyị nwere ọtụtụ ndị mmepe Go.

Sistemụ ACL dị ike. Na Consul, ị nwere ike iji ACL jikwaa onye na-ede ihe. Anyị na-ekwe nkwa na iwu firewall agaghị ejikọta na ihe ọ bụla ọzọ na anyị agaghị enwe nsogbu na nke a.

Mana Consul nwekwara ihe ndọghachi azụ ya.

  • Adịghị ọnụ ọgụgụ n'ime ebe data ọ gwụla ma ị nwere ụdị azụmahịa. Ọ bụ naanị federation nwere ike ịgbatị ya.
  • Ọ dabere na ogo netwọkụ na ibu ihe nkesa. Consul agaghị arụ ọrụ nke ọma dị ka ihe nkesa na ihe nkesa na-arụsi ọrụ ike ma ọ bụrụ na enwere lags na netwọk, dịka ọmụmaatụ, ọsọ na-enweghị isi. Nke a bụ n'ihi njikọ P2P yana melite ụdị nkesa.
  • Nleba anya siri ike dị. Na ọnọdụ Consul ọ nwere ike ịsị na ihe niile dị mma, mana ọ nwụrụ ogologo oge gara aga.

Anyị doziri ọtụtụ n'ime nsogbu ndị a mgbe anyị na-eji Consul, nke mere anyị ji họrọ ya. Ụlọ ọrụ ahụ nwere atụmatụ maka azụ azụ ọzọ, mana anyị amụtala imeri nsogbu ma na-ebi ugbu a na Consul.

Ka Consul na-arụ ọrụ

Anyị ga-etinye sava atọ ruo ise na ebe data nwere ọnọdụ. Otu sava ma ọ bụ abụọ agaghị arụ ọrụ: ha agaghị enwe ike ịhazi quorum ma kpebie onye ziri ezi na onye na-ezighị ezi mgbe data ahụ adabaghị. Ihe karịrị ise enweghị isi, nrụpụta ga-adaba.

Consul + iptables = :3

Ndị ahịa jikọọ na sava n'usoro ọ bụla: otu ndị ọrụ, naanị na ọkọlọtọ server = false.

Consul + iptables = :3

Mgbe nke a gasịrị, ndị ahịa na-enweta ndepụta njikọ P2P ma wulite njikọ n'etiti onwe ha.

Consul + iptables = :3

N'ọkwa zuru ụwa ọnụ, anyị na-ejikọta ọtụtụ ebe data. Ha na-ejikọkwa P2P ma na-ekwurịta okwu.

Consul + iptables = :3

Mgbe anyị chọrọ iweghachite data site na ebe data ọzọ, arịrịọ a na-esi na sava gaa na nkesa. A na-akpọ atụmatụ a Usoro Serf. HashiCorp mepụtara usoro Serf, dị ka Consul.

Ụfọdụ ihe dị mkpa gbasara Consul

Consul nwere akwụkwọ na-akọwa ka ọ si arụ ọrụ. Aga m enye naanị eziokwu ahọpụtara kwesịrị ịmara.

Sava Consul na-ahọrọ onye isi n'etiti ndị ntuli aka. Consul na-ahọrọ nna ukwu na ndepụta nke sava maka ebe data ọ bụla, arịrịọ niile na-aga naanị ya, n'agbanyeghị ọnụọgụ nke sava. Ntu oyi nke nna ukwu anaghị eduga na ntuli aka ọzọ. Ọ bụrụ na ahọpụtaghị nna ukwu, onye ọ bụla anaghị enye arịrịọ.

Ị chọrọ nha nha kwụ ọtọ? Ndo, mba.

Arịrịọ maka ebe data ọzọ na-aga site na nna ukwu gaa na nna ukwu, n'agbanyeghị nkesa ọ bịara. Nna-ukwu ahọpụtara na-enweta 100% nke ibu ahụ, belụsọ maka ibu na arịrịọ mbugharị. Sava niile dị na etiti data nwere nnomi data ọhụrụ, mana naanị otu na-aza.

Naanị otu ụzọ a ga-esi tụọ ya bụ iji mee ka ọnọdụ stale dị na onye ahịa.

N'ọnọdụ nke ochie, ị nwere ike ịza na-enweghị quorum. Nke a bụ ọnọdụ nke anyị na-ahapụ ndakọrịta data, mana gụọ ntakịrị ngwa ngwa karịa ka ọ dị na mbụ, na ihe nkesa ọ bụla na-aza. Dị ka o kwesịrị ịdị, na-edekọ naanị site na nna ukwu.

Consul anaghị detuo data n'etiti ebe data. Mgbe a na-agbakọta federation, ihe nkesa ọ bụla ga-enwe naanị data nke ya. Maka ndị ọzọ, ọ na-echigharịkwuru onye ọzọ mgbe niile.

A naghị ekwe nkwa na arụ ọrụ na-abụghị nke azụmahịa. Cheta na ọ bụghị naanị gị nwere ike ịgbanwe ihe. Ọ bụrụ na ịchọrọ ya dị iche, jiri mkpọchi mee azụmahịa.

Ọrụ igbochi anaghị ekwe nkwa ịkpọchi. Arịrịọ ahụ na-aga site na nna ukwu gaa na nna ukwu, ọ bụghịkwa ozugbo, n'ihi ya, ọ dịghị nkwa na mgbochi ahụ ga-arụ ọrụ mgbe ị na-egbochi, dịka ọmụmaatụ, na ebe data ọzọ.

ACL anaghịkwa ekwe nkwa ịnweta (n'ọtụtụ ọnọdụ). ACL nwere ike ọ gaghị arụ ọrụ n'ihi na echekwara ya n'otu ebe data etiti - na ACL data center (Primary DC). Ọ bụrụ na DC azaghị gị, ACL agaghị arụ ọrụ.

Otu nna ukwu kpọnwụrụ akpọnwụ ga-eme ka ọgbakọ ahụ niile daa. Dịka ọmụmaatụ, enwere ebe data 10 na gọọmenti etiti, otu nwere netwọk ọjọọ, otu nna ukwu na-ada. Onye ọ bụla na-ekwurịta okwu na ya ga-arapara na gburugburu: a na-arịọ arịrịọ, ọ dịghị azịza ya, eri ahụ kwụsịrị. Enweghị ụzọ mara mgbe nke a ga-eme, naanị n'ime otu awa ma ọ bụ abụọ, Federation dum ga-ada. O nweghị ihe ị ga-eme maka ya.

A na-ejikwa ọnọdụ, quorum na ntuli aka site na eriri dị iche. Ntuli aka ọzọ agaghị eme, ọnọdụ agaghị egosi ihe ọ bụla. Ị na-eche na ị nwere Consul dị ndụ, ị na-ajụ, ọ dịghịkwa ihe na-eme - ọ dịghị azịza. N'otu oge ahụ, ọnọdụ na-egosi na ihe niile dị mma.

Anyị enwetala nsogbu a wee wughachi akụkụ ụfọdụ nke ebe data iji zere ya.

Ụdị azụmahịa nke Consul Enterprise enweghị ụfọdụ ọghọm dị n'elu. Ọ nwere ọtụtụ ọrụ bara uru: ịhọrọ ndị ntuli aka, nkesa, scaling. Enwere naanị otu "mana" - usoro ikikere maka usoro kesara dị oke ọnụ.

Ndụ hacking: rm -rf /var/lib/consul - ọgwụgwọ maka ọrịa niile nke onye ọrụ ahụ. Ọ bụrụ na ihe anaghị arụ ọrụ maka gị, naanị hichapụ data gị wee budata data site na otu. O yikarịrị, Consul ga-arụ ọrụ.

BEFW

Ugbu a, ka anyị kwuo maka ihe anyị gbakwunyere na Consul.

BEFW bụ mkpọkpọ okwu maka BackEndFireWniile. Ekwesịrị m ịkpọ aha ngwaahịa ahụ n'ụzọ ụfọdụ mgbe m mepụtara ebe nchekwa ahụ iji tinye ule mbụ n'ime ya. Aha a ka dị.

Ndebiri iwu

Edere iwu ndị ahụ na syntax iptables.

  • -N BEFW
  • -P INPUT DROP
  • -A INPUT -m steeti-steeti emetụtara,Eguzobere -j anabata
  • -A INPUT -i lo -j anabata
  • -A INPUT -j BEFW

Ihe niile na-abanye n'agbụ BEFW, ewezuga ESTABLISHED, RELATED na localhost. Ihe ndebiri nwere ike ịbụ ihe ọ bụla, nke a bụ naanị ihe atụ.

Kedu ka BEFW si baa uru?

Services

Anyị nwere ọrụ, ọ na-enwe ọdụ ụgbọ mmiri mgbe niile, ọnụ nke ọ na-agba. Site na ọnụ anyị, anyị nwere ike jụọ onye ọrụ mpaghara wee chọpụta na anyị nwere ụdị ọrụ. Ị nwekwara ike itinye mkpado.

Consul + iptables = :3

Ọrụ ọ bụla na-arụ ma debanyere aha ya na Consul na-atụgharị ghọọ iwu iptables. Anyị nwere SSH - ọdụ ụgbọ mmiri mepere emepe 22. Ihe odide Bash dị mfe: curl na iptables, ọ dịghị ihe ọzọ dị mkpa.

Ndị ahịa

Olee otú imeghe ohere ọ bụghị onye ọ bụla, ma họrọ? Tinye ndepụta IP na nchekwa KV site na aha ọrụ.

Consul + iptables = :3

Dịka ọmụmaatụ, anyị chọrọ ka onye ọ bụla nọ na netwọk nke iri nwee ike ịnweta ọrụ SSH_TCP_22. Tinye otu obere ogige TTL? ma ugbu a, anyị nwere ikike nwa oge, dịka ọmụmaatụ, otu ụbọchị.

Nnweta

Anyị na-ejikọta ọrụ na ndị ahịa: anyị nwere ọrụ, nchekwa KV dị njikere maka nke ọ bụla. Ugbu a, anyị na-enye ohere ọ bụghị onye ọ bụla, ma selectively.

Consul + iptables = :3

Otu

Ọ bụrụ na anyị ede ọtụtụ puku IP maka ịnweta oge ọ bụla, ike ga-agwụ anyị. Ka anyị were mkpokọta - nke dị iche iche na KV. Ka anyị kpọọ ya Alias ​​(ma ọ bụ otu) ma chekwaa otu n'ebe ahụ dịka otu ụkpụrụ ahụ si dị.

Consul + iptables = :3

Ka anyị jikọọ: ugbu a, anyị nwere ike imepe SSH ọ bụghị kpọmkwem maka P2P, kama maka otu dum ma ọ bụ ọtụtụ otu. N'otu ụzọ ahụ, enwere TTL - ị nwere ike ịgbakwunye na otu ma wepụ ya na otu nwa oge.

Consul + iptables = :3

Ntinye

Nsogbu anyị bụ ihe kpatara mmadụ na akpaaka. Ruo ugbu a, anyị edozila ya otu a.

Consul + iptables = :3

Anyị na Puppet na-arụ ọrụ, ma nyefee ha ihe niile metụtara sistemụ (koodu ngwa). Puppetdb (PostgreSQL mgbe niile) na-echekwa ndepụta ọrụ na-arụ ebe ahụ, enwere ike ịchọta ha site na ụdị akụrụngwa. N'ebe ahụ ị nwere ike ịchọpụta onye na-etinye akwụkwọ ebe. Anyị nwekwara arịrịọ ịdọrọ na sistemụ arịrịọ maka nke a.

Anyị dere befw-sync, ngwọta dị mfe na-enyere aka ịnyefe data. Nke mbụ, a na-enweta kuki mmekọrịta site na puppetdb. A na-ahazi HTTP API ebe ahụ: anyị na-arịọ ihe ọrụ anyị nwere, ihe a ga-eme. Mgbe ahụ, ha rịọrọ Consul arịrịọ.

Enwere mbanye? Ee: ha dere iwu wee kwe ka a nabata arịrịọ Pull. Ị chọrọ ọdụ ụgbọ mmiri ma ọ bụ tinye onye ọbịa na ụfọdụ otu? Pull Arịrịọ, nyochaa - agaghịkwa ọzọ "Chọta ACL 200 ọzọ wee gbalịa ime ihe gbasara ya."

Njikarịcha

Pinging localhost nwere yinye iwu efu na-ewe 0,075 ms.

Consul + iptables = :3

Ka anyị tinye 10 iptables adreesị na yinye a. N'ihi ya, ping ga-abawanye ugboro 000: iptables zuru oke, nhazi adreesị ọ bụla na-ewe oge.

Consul + iptables = :3

Maka firewall ebe anyị na-akwaga ọtụtụ puku ACL, anyị nwere ọtụtụ iwu, nke a na-ewebata latency. Nke a dị njọ maka usoro egwuregwu.

Ma ọ bụrụ na anyị na-etinye 10 adreesị na ipset Ping ga-ebelata.

Consul + iptables = :3

Isi ihe bụ na "O" (mgbagwoju anya algorithm) maka ipset na-abụkarị 1, n'agbanyeghị iwu ole e nwere. N'ezie, enwere njedebe - enweghị ike karịa iwu 65535. Maka ugbu a, anyị na-ebi na nke a: ị nwere ike jikọta ha, gbasaa ha, mee ipset abụọ n'otu.

Nchekwa

Ihe ezi uche dị na ya ga n'ihu na usoro iteration na-echekwa ozi gbasara ndị ahịa maka ọrụ na ipset.

Consul + iptables = :3

Ugbu a, anyị nwere otu SSH, ma anyị anaghị ede 100 IP otu oge, ma tọọ aha ipset nke anyị kwesịrị iji na-ekwurịta okwu, na-esonụ na-achị. DROP. Enwere ike ịtụgharị ya n'otu iwu "Onye na-anọghị ebe a, DROP", mana ọ doro anya karị.

Ugbu a, anyị nwere ụkpụrụ na usoro. Ọrụ bụ isi bụ ime nhazi tupu ịde iwu, n'ihi na ma ọ bụghị ya, iptables agaghị ede iwu.

Usoro izu

N'ụdị eserese, ihe niile m kwuru dị ka nke a.

Consul + iptables = :3

Anyị na-etinye aka na Puppet, a na-ezigara onye ọbịa ihe niile, ọrụ ebe a, ipset n'ebe ahụ, na onye ọ bụla na-edeghị aha ebe ahụ agaghị ekwe.

Hapụ & jụ

Iji chekwaa ụwa ngwa ngwa ma ọ bụ gbanyụọ mmadụ ngwa ngwa, na mmalite nke agbụ niile anyị mere ipset abụọ: rules_allow и rules_deny. Kedu ka o si arụ ọrụ?

Dịka ọmụmaatụ, mmadụ na-eji bots na-eke ibu na Weebụ anyị. Na mbụ, ị ga-achọta IP ya site na ndekọ, buru ya na ndị injinia netwọk, ka ha wee chọta isi iyi nke okporo ụzọ ma gbochie ya. Ọ dị iche ugbu a.

Consul + iptables = :3

Anyị na-eziga ya na Consul, chere 2,5 sekọnd, na ọ na-mere. Ebe ọ bụ na Consul na-ekesa ngwa ngwa site na P2P, ọ na-arụ ọrụ ebe niile, n'akụkụ ọ bụla nke ụwa.

Ozugbo m kwụsịrị kpamkpam WOT n'ihi mmejọ na firewall. rules_allow - nke a bụ mkpuchi anyị megide ụdị ikpe ahụ. Ọ bụrụ na anyị mehiere ebe na firewall, ihe na-egbochi ebe, anyị nwere ike mgbe niile izipu keonodu 0.0/0iji ngwa ngwa bulie ihe niile. E mesịa, anyị ga-eji aka dozie ihe niile.

Ntọala ndị ọzọ

Ị nwere ike itinye nhazi ọ bụla ọzọ na oghere $IPSETS$.

Consul + iptables = :3

Maka gịnị? Mgbe ụfọdụ, mmadụ chọrọ ipset, dịka ọmụmaatụ, iṅomi mmechi nke akụkụ ụfọdụ nke ụyọkọ ahụ. Onye ọ bụla nwere ike weta set ọ bụla, kpọọ ha aha, a ga-ekutere ha n'aka Consul. N'otu oge ahụ, sets nwere ike isonye na iwu iptables ma ọ bụ mee ihe dị ka otu NOOP: daemon ga-edobe nkwụsi ike.

Ndị ọrụ

Na mbụ, ọ dị ka nke a: onye ọrụ jikọọ na netwọk wee nweta paramita site na ngalaba. Tupu ọbịbịa nke firewalls ọgbọ ọhụrụ, Cisco amaghị otú e si aghọta ebe onye ọrụ nọ na ebe IP dị. Ya mere, e nyere ohere naanị site na aha nnabata nke igwe.

Gịnị ka anyị mere? Anyị rapaara n'oge anyị nwetara adreesị. Ọtụtụ mgbe nke a bụ dot1x, Wi-Fi ma ọ bụ VPN - ihe niile na-aga site na RADIUS. Maka onye ọrụ ọ bụla, anyị na-emepụta otu site na aha njirimara wee tinye IP n'ime ya na TTL ya na dhcp.lease ya - ozugbo ọ kwụsịrị, iwu ahụ ga-apụ n'anya.

Consul + iptables = :3

Ugbu a, anyị nwere ike imepe ohere ịnweta ọrụ, dịka otu ndị ọzọ, site na aha njirimara. Anyị ewepụla ihe mgbu na aha nnabata mgbe ha gbanwere, anyị ewepụla ibu ahụ na ndị injinia netwọkụ n'ihi na ha achọghịzi Cisco. Ugbu a ndị injinia n'onwe ha na-edebanye aha ohere na sava ha.

Mkpuchi

N'otu oge ahụ, anyị malitere ịkwatu ihe mkpuchi ahụ. Ndị njikwa ọrụ weghaara ngwa ahịa, anyị nyochara netwọkụ anyị niile. Ka anyị kewaa ha n'ime otu ìgwè, na na sava ndị dị mkpa agbakwunyere otu dị iche iche, dịka ọmụmaatụ, ịgọnarị. Ugbu a otu staging iche na-ejedebe na iwu_deny nke mmepụta, ma ọ bụghị na mmepụta n'onwe ya.

Consul + iptables = :3

Atụmatụ a na-arụ ọrụ ngwa ngwa na ngwa ngwa: anyị na-ewepụ ACL niile na sava, budata ngwaike, ma belata ọnụ ọgụgụ VLAN dịpụrụ adịpụ.

Njikwa iguzosi ike n'ezi ihe

Na mbụ, anyị nwere ihe mkpali pụrụ iche nke kọrọ mgbe mmadụ jiri aka gbanwee iwu firewall. M na-ede nnukwu linter maka ịlele iwu firewall, ọ siri ike. BEFW na-achịkwa iguzosi ike n'ezi ihe ugbu a. Ọ na-eji ịnụ ọkụ n’obi hụ na iwu ndị ọ na-eme adịghị agbanwe. Ọ bụrụ na mmadụ agbanwee iwu firewall, ọ ga-agbanwe ihe niile azụ. “Emebere m ngwa ngwa ka m nwee ike isi n’ụlọ na-arụ ọrụ”—ọ dịghịzi nhọrọ ndị dị otú ahụ.

BEFW na-achịkwa ipset site na ọrụ na ndepụta na befw.conf, iwu nke ọrụ na BEFW yinye. Mana ọ naghị enyocha agbụ na iwu ndị ọzọ na ipset ndị ọzọ.

Nchedo okuku

BEFW mgbe niile na-echekwa ikpeazụ mara ezigbo ala ozugbo na state.bin ọnụọgụ abụọ Ọdịdị. Ọ bụrụ na ihe adịghị mma, ọ na-atụgharị azụ na steeti a mgbe niile.bin.

Consul + iptables = :3

Nke a bụ mkpuchi megide ọrụ Consul na-akwụghị ụgwọ, mgbe ọ na-ezigaghị data ma ọ bụ mmadụ mehiere ma jiri iwu na-enweghị ike itinye n'ọrụ. Iji hụ na a hapụghị anyị na-enweghị firewall, BEFW ga-atụgharị na steeti kachasị ọhụrụ ma ọ bụrụ na njehie emee n'oge ọ bụla.

N'ọnọdụ ndị siri ike, nke a bụ nkwa na a ga-ahapụ anyị na firewall na-arụ ọrụ. Anyị na-emepe netwọkụ isi awọ niile na olile anya na onye nchịkwa ga-abịa dozie ya. Otu ụbọchị, m ga-etinye nke a na nhazi, mana ugbu a, anyị nwere netwọkụ isi awọ atọ: 10/8, 172/12 na 192.168/16. N'ime Consul anyị, nke a bụ akụkụ dị mkpa na-enyere anyị aka ịzụlite n'ihu.

Ihe ngosi: n'oge akụkọ ahụ, Ivan na-egosipụta ọnọdụ ngosi nke BEFW. Ọ dị mfe ikiri ihe ngosi видео. Koodu isi iyi dị na GitHub.

ọnyà

Aga m agwa gị maka ahụhụ ndị anyị zutere.

ipset tinye ntọala 0.0.0.0/0. Kedu ihe ga - eme ma ọ bụrụ na ị gbakwunye 0.0.0.0/0 na ipset? A ga-agbakwunye IP niile? Ịnweta ịntanetị ọ ga-adị?

Mba, anyị ga-enweta ahụhụ na-eri anyị awa abụọ nke oge ezumike. Ọzọkwa, ahụhụ ahụ arụghị ọrụ kemgbe 2016, ọ dị na RedHat Bugzilla n'okpuru nọmba #1297092, anyị chọtara ya na mberede - site na akụkọ onye nrụpụta.

Ọ bụ ugbu a iwu siri ike na BEFW na 0.0.0.0/0 na-atụgharị gaa na adreesị abụọ: 0.0.0.0/1 и 128.0.0.0/1.

ipset weghachi set < faịlụ. Kedu ihe ipset na-eme mgbe ị gwara ya restore? Ị chere na ọ na-arụ ọrụ dị ka iptables? Ọ ga-eweghachite data?

Ọ dịghị ihe dị otú ahụ - ọ na-ejikọta ọnụ, na adreesị ochie anaghị aga ebe ọ bụla, ị naghị egbochi ohere.

Anyị hụrụ ahụhụ mgbe anyị na-anwale ikewapụ. Ugbu a, e nwere a kama mgbagwoju usoro - kama restore jidere create tempmgbe ahụ restore flush temp и restore temp. Na njedebe nke swap: maka atomity, n'ihi na ọ bụrụ na ị na-eme ya mbụ flush na ugbu a ụfọdụ ngwugwu bịarutere, a ga-atụfu ya ma ihe ga-agahie. Yabụ na enwere ntakịrị anwansi ojii ebe ahụ.

consul kv get -datacenter=ọzọ. Dịka m kwuru, anyị chere na anyị na-arịọ maka ụfọdụ data, mana anyị ga-enweta data ma ọ bụ njehie. Anyị nwere ike ime nke a site na Consul na mpaghara, mana na nke a, ha abụọ ga-ajụ oyi.

Onye ahịa Consul mpaghara bụ ihe mkpuchi n'elu HTTP API. Mana ọ kwụgidere na ọ naghị azaghachi Ctrl+C, ma ọ bụ Ctrl+Z, ma ọ bụ ihe ọ bụla, naanị kill -9 na console ọzọ. Anyị zutere nke a mgbe anyị na-arụ nnukwu ụyọkọ. Mana anyị enweghị ihe ngwọta; anyị na-akwado idozi njehie a na Consul.

Onye ndu Consul anaghị aza. Nna-ukwu anyị nọ na ebe data anaghị azaghachi, anyị na-eche: "Ikekwe algọridim nhọrọ ga-arụ ọrụ ugbu a?"

Ee e, ọ gaghị arụ ọrụ, na nlekota oru agaghị egosi ihe ọ bụla: Consul ga-ekwu na e nwere ntinye aka nkwa, a chọtara onye ndu, ihe niile dị mma.

Olee otú anyị ga-esi eme nke a? service consul restart na cron kwa elekere. Ọ bụrụ na ị nwere sava 50, ọ nweghị nnukwu ihe. Mgbe enwere 16 n'ime ha, ị ga-aghọta ka o si arụ ọrụ.

nkwubi

N'ihi ya, anyị nwetara uru ndị a:

  • 100% mkpuchi nke igwe Linux niile.
  • Ọsọ.
  • Akpaaka.
  • Anyị napụtara ndị injinia ngwaike na netwọkụ n'ohu.
  • Ohere mbanye apụtala nke fọrọ nke nta ka ọ bụrụ enweghị oke: ọbụlagodi na Kubernetes, ọbụlagodi na enwere ike, ọbụlagodi na Python.

Минусы: Consul, nke anyị nwere ugbu a na-ebi, na nnọọ elu na-eri nke njehie. Dị ka ihe atụ, otu ugboro na 6 pm (isi oge na Russia) M na-edezi ihe na ndepụta nke netwọk. Anyị na-ewu mkpuchi mkpuchi na BEFW n'oge ahụ. Emehiere m ebe, ọ dị ka m gosipụtara nkpuchi na-ezighị ezi, mana ihe niile dara na sekọnd abụọ. Nleba anya na-enwu, onye na-akwado ọrụ na-abịa na-agba ọsọ: "Anyị nwere ihe niile!" Onye isi ngalaba ahụ tụgharịrị isi awọ mgbe ọ kọwara ndị ahịa ihe kpatara nke a ji mee.

Ọnụ ego nke njehie dị oke elu na anyị ewepụtala usoro mgbochi mgbagwoju anya nke anyị. Ọ bụrụ na i mejuputa nke a na saịtị mmepụta buru ibu, ịkwesighi ịnye onye ọ bụla akara ngosi nna ukwu maka Consul. Nke a ga-akwụsị nke ọma.

Ọnụ Edere m koodu maka awa 400 naanị. Ndị otu m nke mmadụ 4 na-etinye awa 10 kwa ọnwa na nkwado maka onye ọ bụla. Tụnyere ọnụahịa nke firewall ọgbọ ọhụrụ ọ bụla, ọ bụ n'efu.

Atụmatụ. Atụmatụ ogologo oge bụ ịchọta ụgbọ njem ọzọ iji dochie ma ọ bụ kwado Consul. Ikekwe ọ ga-abụ Kafka ma ọ bụ ihe yiri ya. Mana n'afọ ndị na-abịa, anyị ga-ebi na Consul.

Atụmatụ ozugbo: mwekota na Fail2ban, na nlekota oru, na nftables, ikekwe na nkesa ndị ọzọ, metrics, elu nlekota oru, njikarịcha. Nkwado Kubernetes bụkwa ebe na atụmatụ, n'ihi na ugbu a, anyị nwere ọtụtụ ụyọkọ na ọchịchọ.

Ndị ọzọ si na atụmatụ:

  • ịchọ anomalies na okporo ụzọ;
  • njikwa map netwọk;
  • nkwado Kubernetes;
  • na-achịkọta ngwugwu maka sistemụ niile;
  • Weebụ-UI.

Anyị na-arụ ọrụ mgbe niile na ịgbasa nhazi ahụ, na-abawanye metrics na njikarịcha.

Soro oru ngo a. Ọrụ ahụ tụgharịrị dị mma, mana, ọ dị nwute, ọ ka bụ ọrụ otu onye. Bịa na GitHub ma gbalịa ime ihe: mee, nwalee, atụ aro ihe, nye ntule gị.

Ka ọ dị ugbu a, anyị na-akwado maka Saint HighLoad++, nke ga-eme na Eprel 6 na 7 na St. Petersburg, anyị na-akpọkwa ndị mmepe nke usoro ibu dị elu. tinye maka mkpesa. Ndị ọkà okwu nwere ahụmahụ amaralarị ihe ha ga-eme, mana maka ndị ọhụrụ ikwu okwu anyị na-akwado ma ọ dịkarịa ala gbalịa. Isonye na ogbako dị ka onye na-ekwu okwu nwere ọtụtụ uru. Ị nwere ike ịgụ ndị, dịka ọmụmaatụ, na njedebe Akụkọ a.

isi: www.habr.com

Tinye a comment