Mradi wangu ambao haujatekelezwa. Mtandao wa vipanga njia 200 vya MikroTik

Mradi wangu ambao haujatekelezwa. Mtandao wa vipanga njia 200 vya MikroTik

Salaam wote. Nakala hii imekusudiwa wale ambao wana vifaa vingi vya Mikrotik kwenye meli zao, na ambao wanataka kufanya umoja wa juu ili wasiunganishe kila kifaa kando. Katika makala hii nitaelezea mradi ambao, kwa bahati mbaya, haukufikia hali ya kupambana kutokana na sababu za kibinadamu. Kwa kifupi: routers zaidi ya 200, kuanzisha haraka na mafunzo ya wafanyakazi, kuunganishwa kwa kanda, mitandao ya kuchuja na majeshi maalum, uwezo wa kuongeza kwa urahisi sheria kwa vifaa vyote, ukataji miti na udhibiti wa upatikanaji.

Nini kilichoelezwa hapa chini haijifanya kuwa kesi iliyopangwa tayari, lakini natumaini itakuwa na manufaa kwako wakati wa kupanga mitandao yako na kupunguza makosa. Labda vidokezo na suluhisho zinaweza kuonekana sio sawa kwako - ikiwa ni hivyo, andika kwenye maoni. Ukosoaji katika kesi hii utakuwa uzoefu kwa hazina ya kawaida. Kwa hivyo, msomaji, angalia maoni, labda mwandishi alifanya makosa makubwa - jamii itasaidia.

Idadi ya ruta ni 200-300, zilizotawanyika katika miji tofauti na ubora tofauti wa miunganisho ya Mtandao. Ni muhimu kufanya kila kitu kwa uzuri na kuelezea wazi kwa wasimamizi wa ndani jinsi kila kitu kitafanya kazi.

Kwa hivyo, mradi wowote huanza wapi? Bila shaka, na TK.

  1. Shirika la mpango wa mtandao kwa matawi yote kulingana na mahitaji ya wateja, sehemu za mtandao (kutoka mitandao 3 hadi 20 katika matawi kulingana na idadi ya vifaa).
  2. Kuweka vifaa katika kila tawi. Kuangalia kasi ya upitishaji halisi ya mtoa huduma chini ya hali tofauti za uendeshaji.
  3. Mpangilio wa ulinzi wa kifaa, udhibiti wa orodha iliyoidhinishwa, utambuzi wa kiotomatiki wa mashambulizi kwa kuorodhesha kiotomatiki kwa muda fulani, kupunguza matumizi ya njia mbalimbali za kiufundi zinazotumiwa kuzuia ufikiaji wa udhibiti na kukataa huduma.
  4. Shirika la miunganisho salama ya VPN na uchujaji wa mtandao kulingana na mahitaji ya mteja. Kiwango cha chini cha miunganisho 3 ya VPN kutoka kwa kila tawi hadi katikati.
  5. Kulingana na pointi 1, 2. Chagua njia bora za kuunda VPN zinazostahimili makosa. Ikithibitishwa kwa usahihi, teknolojia inayobadilika ya uelekezaji inaweza kuchaguliwa na mkandarasi.
  6. Mpangilio wa kipaumbele cha trafiki kwa itifaki, bandari, seva pangishi na huduma zingine maalum zinazotumiwa na mteja. (VOIP, mwenyeji na huduma muhimu)
  7. Shirika la ufuatiliaji na magogo ya matukio ya router kwa majibu ya wafanyakazi wa msaada wa kiufundi.

Kama tunavyoelewa, katika hali kadhaa vipimo vya kiufundi vinaundwa kulingana na mahitaji. Nilitengeneza mahitaji haya mwenyewe, baada ya kusikiliza shida kuu. Alikubali uwezekano kwamba mtu mwingine anaweza kuchukua huduma ya pointi hizi.

Ni zana gani zitatumika kutimiza mahitaji haya:

  1. Stack ya ELK (baada ya muda fulani, ikawa wazi kuwa ufasaha utatumika badala ya logstash).
  2. Ansible. Kwa urahisi wa usimamizi na kushiriki ufikiaji, tutatumia AWX.
  3. GITLAB. Hakuna haja ya kueleza hapa. Je, tungekuwa wapi bila udhibiti wa toleo la usanidi wetu?
  4. PowerShell. Kutakuwa na hati rahisi kwa kizazi cha kwanza cha usanidi.
  5. Doku wiki, kwa kuandika hati na miongozo. Katika kesi hii, tunatumia habr.com.
  6. Ufuatiliaji utafanywa kupitia zabbix. Mchoro wa uunganisho pia utachorwa hapo kwa uelewa wa jumla.

Pointi za kuanzisha EFK

Kuhusu nukta ya kwanza, nitaelezea tu itikadi ambayo fahirisi zitajengwa. Wapo wengi
makala bora juu ya kusanidi na kupokea kumbukumbu kutoka kwa vifaa vinavyoendesha mikrotik.

Nitazingatia mambo kadhaa:

1. Kulingana na mchoro, inafaa kuzingatia kupokea magogo kutoka sehemu tofauti na kwenye bandari tofauti. Kwa hili tutatumia aggregator ya logi. Pia tunataka kutengeneza michoro ya ulimwengu kwa vipanga njia vyote vyenye uwezo wa kushiriki ufikiaji. Kisha tunaunda faharisi kama ifuatavyo:

hapa kuna kipande cha usanidi kilicho na ufasaha aina elasticsearch
logstash_format kweli
index_name mikrotiklogs.north
logstash_prefix mikrotiklogs.north
flush_interval sekunde 10
majeshi utaftaji wa elastic: 9200
bandari 9200

Kwa njia hii tunaweza kuchanganya ruta na sehemu kulingana na mpango - mikrotiklogs.west, mikrotiklogs.south, mikrotiklogs.east. Kwa nini kuifanya iwe ngumu sana? Tunaelewa kuwa tutakuwa na vifaa 200 au zaidi. Huwezi kufuatilia kila kitu. Kwa toleo la 6.8 la elasticsearch, mipangilio ya usalama inapatikana kwetu (bila kununua leseni), kwa hivyo tunaweza kusambaza haki za kutazama kati ya wafanyikazi wa usaidizi wa kiufundi au wasimamizi wa mfumo wa ndani.
Jedwali, grafu - hapa unahitaji tu kukubaliana - ama tumia zile zile, au kila mtu anafanya kile kinachomfaa.

2. Kwa kukata miti. Ikiwa tunawezesha kuingia kwenye sheria za firewall, basi tunafanya majina bila nafasi. Inaweza kuonekana kuwa kwa kutumia usanidi rahisi kwa ufasaha, tunaweza kuchuja data na kutengeneza paneli zinazofaa. Picha hapa chini ni kipanga njia changu cha nyumbani.

Mradi wangu ambao haujatekelezwa. Mtandao wa vipanga njia 200 vya MikroTik

3. Kwa nafasi iliyochukuliwa na magogo. Kwa wastani, na ujumbe 1000 kwa saa, kumbukumbu huchukua 2-3 MB kwa siku, ambayo, unaona, sio nyingi. Elasticsearch toleo la 7.5.

ANSIBLE.AWX

Kwa bahati nzuri kwa ajili yetu, tuna moduli iliyopangwa tayari kwa routeros
Nilitaja juu ya AWX, lakini amri zilizo hapa chini ni za kueleweka tu katika hali yake safi - nadhani kwamba kwa wale ambao wamefanya kazi na ansible, hakutakuwa na shida kutumia awx kupitia gui.

Kuwa mkweli, kabla ya hii niliangalia miongozo mingine ambapo walitumia ssh, na wote walikuwa na shida tofauti na wakati wa majibu na rundo la shida zingine. Narudia, haikuja kupigana , chukua habari hii kama jaribio ambalo halikufika zaidi ya msimamo wa ruta 20.

Tunahitaji kutumia cheti au akaunti. Ni juu yako kuamua, mimi ni kwa ajili ya vyeti. Baadhi ya hoja za hila kuhusu haki. Ninatoa haki za uandishi - angalau "weka upya usanidi" haitafanya kazi.

Haipaswi kuwa na shida katika kutengeneza, kunakili na kuagiza cheti:

Orodha fupi ya amriKwenye PC yako
ssh-keygen -t RSA, jibu maswali, hifadhi ufunguo.
Nakili kwa mikrotik:
funguo za ssh huleta public-key-file=id_mtx.pub user=ansible
Kwanza unahitaji kuunda akaunti na kuipatia haki.
Kukagua muunganisho kwa kutumia cheti
ssh -p 49475 -i /keys/mtx [barua pepe inalindwa]

Sajili vi /etc/ansible/hosts
MT01 ansible_network_os=routers ansible_ssh_port=49475 ansible_ssh_user= ansible
MT02 ansible_network_os=routers ansible_ssh_port=49475 ansible_ssh_user= ansible
MT03 ansible_network_os=routers ansible_ssh_port=49475 ansible_ssh_user= ansible
MT04 ansible_network_os=routers ansible_ssh_port=49475 ansible_ssh_user= ansible

Kweli, mfano wa kitabu cha kucheza: - jina: add_work_sites
mwenyeji ni testmt
mfululizo: 1
muunganisho: network_cli
kijijini_mtumiaji: mikrotik.west
kukusanya_facts: ndiyo
majukumu:
- jina: ongeza Work_sites
routeros_amri:
amri:
β€” /ip firewall address-list add address=gov.ru list=work_sites comment=Ticket665436_Ochen_nado
β€” /orodha ya anwani ya ip-firewall add address=habr.com list=work_sites comment=for_habr

Kama unavyoona kutoka kwa usanidi ulio hapo juu, kuunda vitabu vyako vya kucheza sio ngumu. Inatosha kutawala mikrotik vizuri. Hebu fikiria hali ambapo unahitaji kuondoa orodha ya anwani na data fulani kwenye routers zote, basi:

Tafuta na uondoe/ip firewal address-orodha ondoa [pata wapi list="gov.ru"]

Kwa makusudi sikujumuisha orodha nzima ya ngome hapa kwa sababu... itakuwa ya mtu binafsi kwa kila mradi. Lakini jambo moja ninaweza kusema kwa uhakika, tumia tu orodha ya anwani.

Kulingana na GITLAB kila kitu kiko wazi. Sitakaa kwenye hatua hii. Kila kitu ni nzuri kwa kazi za kibinafsi, templeti, washughulikiaji.

Powershell

Kutakuwa na faili 3 hapa. Kwa nini ganda la nguvu? Unaweza kuchagua zana yoyote ya kutengeneza usanidi, chochote ambacho kinafaa zaidi kwako. Katika kesi hii, kila mtu ana Windows kwenye PC yake, kwa nini uifanye kwa bash wakati powershell ni rahisi zaidi. Ni ipi inayofaa zaidi?

Hati yenyewe (rahisi na inayoeleweka):[cmdletBinding()] Paramu (
[Kigezo(Lazima=$true)] [string]$EXTERNALIPADDRESS,
[Kigezo(Lazima=$true)] [string]$EXTERNALIPROUTE,
[Kigezo(Lazima=$true)] [string] $BWorknets,
[Kigezo(Lazima=$true)] [string]$CWorknets,
[Kigezo(Lazima=$true)] [string]$BVoipNets,
[Kigezo(Lazima=$true)] [string]$CVoipNets,
[Kigezo(Lazima=$true)] [string]$CClients,
[Kigezo(Lazima=$true)] [string]$BVPNWORKs,
[Kigezo(Lazima=$true)] [string]$CPWORKs,
[Kigezo(Lazima=$true)] [string]$BVPNCLIENTSs,
[Kigezo(Lazima=$true)] [string]$cVPNCLIENTSs,
[Kigezo(Lazima=$true)] [string]$NAMEROUTER,
[Kigezo(Lazima=$true)] [string]$ServerCertificates,
[Kigezo(Lazima=$true)] [string]$infile,
[Kigezo(Lazima=$true)] [string]$outfile
)

Pata-Maudhui $infile | Foreach-Object {$_.Badilisha("EXTERNIP", $EXTERNALIPADDRESS)} |
Foreach-Object {$_.Replace("EXTOUTE", $EXTERNALIPROUTE)} |
Foreach-Object {$_.Replace("BWorknet", $BWorknets)} |
Foreach-Object {$_.Replace("CWorknet", $CWorknets)} |
Foreach-Object {$_.Replace("BVoipNet", $BVoipNets)} |
Foreach-Object {$_.Replace("CVoipNet", $CVoipNets)} |
Foreach-Object {$_.Replace("CClients", $CClients)} |
Foreach-Object {$_.Replace("BVPNWORK", $BVPNWORKs)} |
Foreach-Object {$_.Replace("CPNWORK", $CPWORKs)} |
Foreach-Object {$_.Replace("BVPNCLIENTS", $BVPNCLIENTSs)} |
Foreach-Object {$_.Badilisha("CPVCLIENTS", $cVPNCLIENTSs)} |
Foreach-Object {$_.Badilisha("MYNAMERROUTER", $NAMEROUTER)} |
Foreach-Object {$_.Replace("ServerCertificate", $ServerCertificates)} | Set-Content $outfile

Tafadhali nisamehe, siwezi kuchapisha sheria zote kwa sababu ... haitakuwa nzuri sana. Unaweza kutengeneza sheria mwenyewe, ukiongozwa na mazoea bora.

Kwa mfano, hapa kuna orodha ya viungo ambavyo nilifuata:wiki.mikrotik.com/wiki/Manual:Kulinda_Ruta_Yako
wiki.mikrotik.com/wiki/Manual:IP/Firewall/Filter
wiki.mikrotik.com/wiki/Manual:OSPF-mifano
wiki.mikrotik.com/wiki/Drop_port_scanners
wiki.mikrotik.com/wiki/Manual: Winbox
wiki.mikrotik.com/wiki/Manual:Kuboresha_RouterOS
wiki.mikrotik.com/wiki/Manual:IP/Fasttrack - hapa unahitaji kujua kwamba wakati fasttrack imewezeshwa, vipaumbele vya trafiki na sheria za kuunda hazitafanya kazi - muhimu kwa vifaa dhaifu.

Alama za vigeu:Mitandao ifuatayo inachukuliwa kama mfano:
192.168.0.0/24 mtandao wa kazi
172.22.4.0/24 mtandao wa VOIP
10.0.0.0/24 mtandao kwa wateja bila ufikiaji wa mtandao wa ndani
192.168.255.0/24 mtandao wa VPN kwa matawi makubwa
172.19.255.0/24 mtandao wa VPN kwa ndogo

Anwani ya mtandao ina nambari 4 za decimal, kwa mtiririko huo A.B.C.D, uingizwaji hufanya kazi kwa kanuni hiyo hiyo, ikiwa wakati wa kuanza inauliza B, basi inamaanisha unahitaji kuingiza nambari 192.168.0.0 kwa mtandao 24/0, na kwa C. = 0.
$EXTERNALIPADDDRESS - anwani maalum kutoka kwa mtoa huduma.
$EXTERNALIPROUTE - njia chaguo-msingi ya mtandao 0.0.0.0/0
$BWorknets - Mtandao wa kazi, kwa mfano wetu kutakuwa na 168
$CWorknets - Mtandao unaofanya kazi, kwa mfano wetu hii itakuwa 0
$BVoipNets - mtandao wa VOIP katika mfano wetu hapa 22
$CVoipNets - mtandao wa VOIP katika mfano wetu hapa 4
$CClients - Mtandao wa wateja - Ufikiaji wa Intaneti pekee, kwa upande wetu hapa 0
$BVPNWORKs - Mtandao wa VPN kwa matawi makubwa, kwa mfano wetu 20
$CPWORKs - Mtandao wa VPN kwa matawi makubwa, kwa mfano wetu 255
$BVPNCLIENTS - Mtandao wa VPN kwa matawi madogo, ikimaanisha 19
$CPVCLIENTS - Mtandao wa VPN kwa matawi madogo, ikimaanisha 255
$NAMEROUTER - jina la kipanga njia
$ServerCertificate - jina la cheti ulichoingiza awali
$infile - Bainisha njia ya faili ambayo tutasoma usanidi, kwa mfano D:config.txt (ikiwezekana njia ya Kiingereza bila nukuu na nafasi)
$outfile β€” bainisha njia ya kuihifadhi, kwa mfano D:MT-test.txt

Nimebadilisha kwa makusudi anwani katika mifano kwa sababu za wazi.

Nilikosa uhakika kuhusu kugundua mashambulizi na tabia isiyo ya kawaida - hii inastahili makala tofauti. Lakini inafaa kuashiria kuwa katika kitengo hiki unaweza kutumia maadili ya ufuatiliaji kutoka kwa Zabbix + data iliyochakatwa ya curl kutoka kwa elasticsearch.

Ni pointi gani unapaswa kuzingatia:

  1. Mpango wa mtandao. Ni bora kuitunga mara moja katika fomu inayoweza kusomeka. Excel itatosha. Kwa bahati mbaya, mara nyingi mimi huona kwamba mitandao imejengwa kulingana na kanuni "Tawi jipya limetokea, hapa ni /24 kwa ajili yako." Hakuna anayebaini ni vifaa vingapi vinatarajiwa katika eneo fulani au kama kutakuwa na ukuaji zaidi. Kwa mfano, duka ndogo ilifunguliwa ambayo hapo awali ilikuwa wazi kuwa kifaa hakitakuwa zaidi ya 10, kwa nini kutenga /24? Kwa matawi makubwa, kinyume chake, wanatenga /24, na kuna vifaa 500 - unaweza kuongeza mtandao tu, lakini unataka kufikiria kila kitu mara moja.
  2. Sheria za kuchuja. Ikiwa mradi unadhania kuwa kutakuwa na mgawanyiko wa mitandao na sehemu ya juu zaidi. Mazoea bora hubadilika kwa wakati. Hapo awali, mtandao wa PC na mtandao wa printer uligawanywa, lakini sasa ni kawaida kabisa si kugawanya mitandao hii. Inafaa kutumia akili ya kawaida na sio kuunda subnets nyingi ambapo hazihitajiki na sio kuchanganya vifaa vyote kwenye mtandao mmoja.
  3. Mipangilio ya "Dhahabu" kwenye ruta zote. Wale. ikiwa umeamua juu ya mpango. Inafaa kuona kila kitu mara moja na kujaribu kuhakikisha kuwa mipangilio yote inafanana - orodha ya anwani tu na anwani za IP ndizo tofauti. Ikiwa shida zitatokea, wakati wa kurekebisha utakuwa mdogo.
  4. Masuala ya shirika sio muhimu zaidi kuliko yale ya kiufundi. Mara nyingi wafanyikazi wavivu hufanya mapendekezo haya "kwa mikono", bila kutumia usanidi na maandishi yaliyotengenezwa tayari, ambayo mwishowe husababisha shida.

Kwa uelekezaji unaobadilika. OSPF yenye mgawanyiko wa eneo ilitumika. Lakini hii ni benchi ya majaribio; inavutia zaidi kusanidi vitu kama hivyo katika hali ya mapigano.

Natumai hakuna mtu anayekasirika kwamba sikuchapisha usanidi wa router. Nadhani kuwa viungo vitatosha, na kisha kila kitu kinategemea mahitaji. Na bila shaka vipimo, vipimo zaidi vinahitajika.

Natamani kila mtu atambue miradi yake katika mwaka mpya. Huenda ufikiaji uliotolewa uwe nawe !!!

Chanzo: mapenzi.com

Kuongeza maoni