Projeya min a ku pêk nehat. Tora 200 routerên MikroTik

Projeya min a ku pêk nehat. Tora 200 routerên MikroTik

Silav hemû. Ev gotar ji bo kesên ku di fîloya wan de gelek cîhazên Mikrotik hene, û yên ku dixwazin herî zêde yekbûnek çêbikin, ji bo ku bi her amûrekê veqetandî ve neyên girêdan ve hatî armanc kirin. Di vê gotarê de ez ê projeyek vebêjim ku mixabin ji ber faktorên mirovî negihiştiye şert û mercên şer. Bi kurtasî: zêdetirî 200 router, sazkirina bilez û perwerdehiya karmendan, yekbûna li gorî herêmê, fîlterkirina toran û mêvandarên taybetî, şiyana ku meriv bi hêsanî qaîdeyan li hemî cîhazan zêde bike, têketin û kontrolkirina gihîştinê.

Tiştê ku li jêr tê ravekirin wekî dozek amade xuya nake, lê ez hêvî dikim ku ew ê ji we re bikêr be dema ku torên xwe plansaz bikin û xeletiyan kêm bikin. Dibe ku hin xal û çareserî ji we re bi tevahî rast xuya nekin - heke wusa be, di şîroveyan de binivîsin. Rexne di vê rewşê de dê bibe ezmûnek ji bo xezîneya hevpar. Ji ber vê yekê, xwendevan, li şîroveyan binêre, dibe ku nivîskar xeletiyek cidî kiriye - civak dê alîkariyê bike.

Hejmara routeran 200-300 e, li bajarên cihê yên ku bi kalîteya girêdanên Înternetê yên cihêreng belav bûne. Pêdivî ye ku meriv her tiştî bi xweşikî û bi zelalî ji rêveberên herêmî re rave bike ka dê her tişt çawa bixebite.

Ji ber vê yekê, projeyek li ku dest pê dike? Bê guman, bi ТЗ.

  1. Rêxistinkirina plansaziyek torê ji bo hemî şaxan li gorî hewcedariyên xerîdar, dabeşkirina torê (ji 3 heya 20 toran di şaxan de li gorî hejmara cîhazan girêdayî ye).
  2. Sazkirina cîhazên li her şaxê. Kontrolkirina leza rastîn a peydakerê di bin şert û mercên xebitandinê yên cihêreng de.
  3. Rêxistinkirina parastina cîhazê, rêveberiya navnîşa spî, xweseriya êrîşan bi navnîşa otomatîkî ya reş ji bo demek diyarkirî, kêmkirina karanîna cûrbecûr awayên teknîkî yên ku ji bo girtina kontrolê û redkirina karûbarê têne bikar anîn.
  4. Rêxistinkirina girêdanên VPN yên ewledar bi fîlterkirina torê li gorî daxwazên xerîdar. Ji her şaxê heya navendê herî kêm 3 girêdan VPN.
  5. Li ser bingeha xalên 1, 2. Rêbazên çêtirîn ji bo avakirina VPN-toleransê hilbijêrin. Ger rast rast were rast kirin, teknolojiya rêveçûna dînamîkî dikare ji hêla peyker ve were hilbijartin.
  6. Rêxistinkirina pêşînkirina trafîkê ji hêla protokol, port, mêvandar û karûbarên din ên taybetî yên ku ji hêla xerîdar ve têne bikar anîn. (VOIP, mêvandarên bi karûbarên girîng)
  7. Rêxistinkirina çavdêrîkirin û tomarkirina bûyerên router ji bo bersivdana karmendên piştevaniya teknîkî.

Wekî ku em fêm dikin, di gelek rewşan de taybetmendiyên teknîkî li gorî hewcedariyên têne çêkirin. Min bi xwe, piştî ku li pirsgirêkên sereke guhdarî kir, van hewcedarîyan formule kir. Wî îhtîmala ku kesek din karibe van xalan bişopîne qebûl kir.

Ji bo bicihanîna van daxwazan dê kîjan amûr werin bikar anîn:

  1. ELK stack (piştî demekê, eşkere bû ku dê fluentd li şûna logstash were bikar anîn).
  2. Ansible. Ji bo hêsankirina rêveberiyê û parvekirina gihîştinê, em ê AWX bikar bînin.
  3. GITLAB. Li vir ne hewce ye ku were ravekirin. Em ê bêyî kontrola guhertoya mîhengên xwe li ku bin?
  4. PowerShell. Ji bo nifşa destpêkê ya mîhengê dê skrîptek hêsan hebe.
  5. Doku wiki, ji bo nivîsandina belge û rêberan. Di vê rewşê de, em habr.com bikar tînin.
  6. Şopandin dê bi rêya zabbix bê kirin. Ji bo têgihiştinek giştî dê diagramek pêwendiyê jî li wir were kişandin.

xalên sazkirina EFK

Di derbarê xala yekem de, ez ê tenê îdeolojiya ku dê îndeks bi wê ava bibin vebêjim. Gelek hene
gotarên hêja yên li ser sazkirin û wergirtina têketinên ji cîhazên ku mikrotik dixebitin.

Ez ê li ser çend xalan rawestim:

1. Li gorî diagramê, hêja ye ku meriv têketinên ji cîhên cihê û li benderên cihêreng werbigire. Ji bo vê yekê em ê berhevkarek têketinê bikar bînin. Di heman demê de em dixwazin ji bo hemî routerên bi şiyana parvekirina gihîştinê grafikên gerdûnî çêbikin. Dûv re em îndeksan bi vî rengî ava dikin:

li vir perçeyek veavakirina bi fluentd heye type elasticsearch
logstash_format rast
index_name mikrotiklogs.bakur
logstash_prefix mikrotiklogs.north
flush_interval 10s
mêvandar elasticsearch: 9200
Port 9200

Bi vî rengî em dikarin router û li gorî planê dabeş bikin - mikrotiklogs.west, mikrotiklogs.south, mikrotiklogs.east. Çima ew qas tevlihev dike? Em fêm dikin ku em ê 200 an jî zêdetir cîhazên me hebin. Hûn nikarin her tiştî bişopînin. Bi guhertoya 6.8 ya elasticsearch, mîhengên ewlehiyê ji me re peyda dibin (bêyî kirîna destûrnameyek), bi vî rengî em dikarin mafên dîtinê di navbera xebatkarên piştgiriya teknîkî an rêveberên pergala herêmî de belav bikin.
Tablo, grafîk - li vir hûn tenê hewce ne ku li hev bikin - an heman bikar bînin, an jî her kes tiştê ku ji bo wî rehet e dike.

2. Bi têketinê. Ger em di qaîdeyên dîwarê agir de têketinê çalak bikin, wê hingê em navan bêyî valahiyê dikin. Tê dîtin ku bi karanîna mîhengek hêsan a di fluentd de, em dikarin daneyan fîlter bikin û panelên hêsan çêkin. Wêneyê li jêr routera mala min e.

Projeya min a ku pêk nehat. Tora 200 routerên MikroTik

3. Ji hêla cîhê dagirkirî û têketin. Bi navînî, bi 1000 peyaman di saetekê de, têketin rojane 2-3 MB digire, ku, hûn dibînin, ne ew çend e. Guhertoya Elasticsearch 7.5.

ANSIBLE.AWX

Xwezî ji bo me, me modulek amadekirî ya ji bo routeroyan heye
Min behsa AWX kir, lê emrên li jêr tenê di forma wê ya paqij de li ser ansible-yê ne - ez difikirim ku ji bo kesên ku bi ansible re xebitîne, dê ti pirsgirêk bi karanîna awx-ê bi navgîniya gui re tune be.

Rast be, berî vê yekê min li rêberên din nihêrî ku wan ssh bikar anîne, û wan hemî bi dema bersivdayînê û komek pirsgirêkên din re pirsgirêkên cûda hebûn. Ez dubare dikim, ew bi şerekî derneket , vê agahiyê wekî ceribandinek ku ji rawestgeha 20 routeran wêdetir neçû bihesibînin.

Pêdivî ye ku em sertîfîkayek an hesabek bikar bînin. Ev li ser we ye ku hûn biryar bidin, ez ji bo sertîfîkayan im. Li ser mafan hin xalek nazik. Ez mafên nivîsandinê didim - bi kêmanî "sazkirina vesazkirinê" dê nexebite.

Divê di hilberandin, kopîkirin û anîna sertîfîkayê de pirsgirêk tunebin:

Lîsteya fermana kurtLi ser PC-ya xwe
ssh-keygen -t RSA, bersiva pirsan bidin, mifteyê hilînin.
Kopîkirin li mikrotik:
Bişkojên ssh-ê bikarhêner public-key-file=id_mtx.pub user=ansible import dikin
Pêşî hûn hewce ne ku hesabek biafirînin û mafên wê bidin.
Kontrolkirina girêdanê bi karanîna sertîfîkayê
ssh -p 49475 -i /bişkojk/mtx [email parastî]

Vi /etc/ansible/hosts qeyd bikin
MT01 ansible_network_os=routeros ansible_ssh_port=49475 ansible_ssh_user= ansible
MT02 ansible_network_os=routeros ansible_ssh_port=49475 ansible_ssh_user= ansible
MT03 ansible_network_os=routeros ansible_ssh_port=49475 ansible_ssh_user= ansible
MT04 ansible_network_os=routeros ansible_ssh_port=49475 ansible_ssh_user= ansible

Welê, mînakek lîstika lîstikê: - nav: add_work_sites
mêvandar: testmt
rêzik: 1
girêdan: network_cli
remote_user: mikrotik.west
berhev_rastî: belê
wezîfe:
- nav: Work_sites zêde bike
routeros_command:
ferman:
— / ip firewall address-list navnîşana lê zêde bike=gov.ru list=work_sites comment=Ticket665436_Ochen_nado
- /ip-ê navnîşana-lîsteya firewall navnîşan zêde bike=habr.com list=kar_malperan şîrove=for_habr

Wekî ku hûn ji veavakirina jorîn dibînin, çêkirina pirtûkên lîstika xwe ne dijwar e. Bes e ku meriv klîk mîkrotîkê baş serdest bike. Ka em rewşek bifikirin ku hûn hewce ne ku navnîşa navnîşan bi hin daneyan li ser hemî routeran rakin, wê hingê:

Dîtin û jêbirin/ip-ê navnîşana-lîsteya firewal jêbirin [li ku lîsteya = "gov.ru" bibînin]

Min bi qestî tevaya navnîşa firewallê li vir nexist ji ber ku ... ew ê ji bo her projeyê ferdî be. Lê tiştek ku ez dikarim bê guman bibêjim, tenê navnîşa navnîşan bikar bînin.

Li gorî GITLAB her tişt zelal e. Ez ê li ser vê xalê nesekinim. Her tişt ji bo peywirên kesane, şablon, hilberan xweş e.

Powershell

Li vir dê 3 dosya hebin. Çima powershell? Hûn dikarin her amûrek ji bo çêkirina mîhengan hilbijêrin, çi ji we re hêsantir e. Di vê rewşê de, her kes Windows-ê li ser PC-ya xwe heye, ji ber vê yekê çima dema ku powershell hêsantir e wiya di bash de bike. Kîjan hêsantir e?

Nivîsar bixwe (hêsan û têgihîştî):[cmdletBinding()] Param(
[Parameter(Mandatory=$rast)] [string]$EXTERNALIPADDDRESS,
[Parameter(Mandatory=$rast)] [string]$EXTERNALIPROUTE,
[Parameter(Mandatory=$rast)] [string]$BWorknets,
[Parameter(Mandatory=$true)] [string]$CWorknets,
[Parameter(Mandatory=$true)] [string]$BVoipNets,
[Parameter(Mandatory=$true)] [string]$CVoipNets,
[Parameter(Mandatory=$true)] [string]$CClientss,
[Parameter(Mandatory=$rast)] [string]$BVPNWORKs,
[Parameter(Mandatory=$rast)] [string]$CVPNWORKs,
[Parameter(Mandatory=$rast)] [string]$BVPNCLIENTS,
[Parameter(Mandatory=$rast)] [string]$cVPNCLIENTS,
[Parameter(Mandatory=$true)] [string]$NAMEROUTER,
[Parameter(Mandatory=$true)] [string]$ServerCertificates,
[Parameter(Mandatory=$true)] [string]$inpel,
[Parameter(Mandatory=$rast)] [string]$outfile
)

Get-Content $infile | Foreach-Object {$_.Replace("EXTERNIP", $EXTERNALIPADDRESS)} |
Foreach-Object {$_.Replace("EXTROUTE", $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", $CClientss)} |
Foreach-Object {$_.Replace("BVPNWORK", $BVPNWORKs)} |
Foreach-Object {$_.Replace("CVPNWORK", $CVPNWORKs)} |
Foreach-Object {$_.Replace("BVPNCLIENTS", $BVPNCLIENTSs)} |
Foreach-Object {$_.Replace("CVPNCLIENTS", $cVPNCLIENTSs)} |
Foreach-Object {$_.Replace("MYNAMERROUTER", $NAMEROUTER)} |
Foreach-Object {$_.Replace("ServerCertificate", $ServerCertificates)} | Set-Content $outfile

Ji kerema xwe min bibore, ez nikarim hemî qaîdeyan bişînim ji ber ku ... ew ê ne pir xweşik be. Hûn dikarin qaîdeyên xwe bi xwe çêbikin, ji hêla pratîkên çêtirîn ve têne rêve kirin.

Mînakî, li vir navnîşek girêdanên ku min şopandin heye:wiki.mikrotik.com/wiki/Manual:Securing_Your_Router
wiki.mikrotik.com/wiki/Manual:IP / Firewall / Parzûn
wiki.mikrotik.com/wiki/Manual:OSPF-mînak
wiki.mikrotik.com/wiki/Drop_port_scanners
wiki.mikrotik.com/wiki/Manual:Winbox
wiki.mikrotik.com/wiki/Manual: Upgrading_RouterOS
wiki.mikrotik.com/wiki/Manual:IP/Fasttrack - li vir hûn hewce ne ku zanibin ku gava fasttrack were çalak kirin, rêzikên pêşanî û şikilkirina trafîkê dê nexebitin - ji bo amûrên qels kêrhatî.

Sembolên ji bo guherbaran:Torên jêrîn wekî mînak têne girtin:
192.168.0.0/24 tora xebatê
172.22.4.0/24 tora VOIP
Tora 10.0.0.0/24 ji bo xerîdarên bêyî gihîştina tora herêmî
192.168.255.0/24 Tora VPN ji bo şaxên mezin
172.19.255.0/24 tora VPN ji bo piçûk

Navnîşana torê ji 4 hejmarên dehiyê pêk tê, bi rêzê ve ABCD, veguheztin li ser heman prensîbê dixebite, heke di destpêkê de ew B bixwaze, wê hingê ev tê vê wateyê ku hûn hewce ne ku ji bo torê 192.168.0.0/24, û ji bo C hejmara 0 binivîsin. = 0.
$EXTERNALIPADDDRESS - navnîşana taybetî ya pêşkêşker.
$EXTERNALIPROUTE - riya xwerû ya torê 0.0.0.0/0
$BWorknets - Tora xebatê, di mînaka me de dê 168 hebe
$ CWorknets - Tora xebatê, di mînaka me de ev ê bibe 0
$BVoipNets - Tora VOIP di mînaka me de li vir 22
$ CVoipNets - Tora VOIP di mînaka me de li vir 4
$CClientss - Tora ji bo xerîdaran - Tenê gihîştina înternetê, di rewşa me de li vir 0
$BVPNWORKs - Tora VPN ji bo şaxên mezin, di mînaka me de 20
$ CVPNWORKs - Tora VPN ji bo şaxên mezin, di mînaka me de 255
$BVPNCLIENTS - Tora VPN ji bo şaxên piçûk, tê wateya 19
$ CVPNCLIENTS - Tora VPN ji bo şaxên piçûk, tê wateya 255
$NAMEROUTER - navê routerê
$ServerCertificate - navê sertîfîkaya ku te berê anîbû
$infile — Rêya pelê ku em ê pêvekê jê re bixwînin diyar bikin, mînakî D:config.txt (tercîh e ku riya îngilîzî bê navber û valahiyê)
$outfile - riya ku wê xilas bike diyar bike, mînak D:MT-test.txt

Min ji ber sedemên eşkere navnîşanên di mînakan de bi zanebûn guhertiye.

Min xala di derbarê tespîtkirina êrîşan û behremendiya anormal de ji bîr kir - ev gotarek cûda heq dike. Lê hêja ye ku were destnîşan kirin ku di vê kategoriyê de hûn dikarin nirxên daneya çavdêriyê ji Zabbix + daneyên curl ên pêvajoyî ji elasticsearch bikar bînin.

Divê hûn bala xwe bidin kîjan xalan:

  1. Plana torê. Çêtir e ku meriv wê tavilê di formek xwendinê de berhev bike. Excel dê bes be. Mixabin, ez pir caran dibînim ku torgilok li gorî prensîba "Şaxek nû xuya bû, li vir ji bo we /24" têne çêkirin. Kes nizane ka çend cîhazên li cîhek diyar têne hêvî kirin an dê mezinbûnek din hebe. Mînakî, firotgehek piçûk vebû ku tê de di destpêkê de diyar bû ku dê cîhaz ji 10-an zêdetir nebe, çima /24 veqetînin? Ji bo şaxên mezin, berevajî, ew / 24 veqetînin, û 500 cîhaz hene - hûn dikarin bi tenê torgilokek lê zêde bikin, lê hûn dixwazin bi carekê re her tiştî bifikirin.
  2. qaîdeyên Parzûna. Ger proje texmîn bike ku dê veqetandina toran û dabeşkirina herî zêde hebe. Pratîkên çêtirîn bi demê re diguhezin. Berê, torgilokek PC û torgilokek çaperê dabeş bûn, lê naha pir normal e ku van toran dabeş nekin. Hêja ye ku meriv aqilê hevpar bikar bîne û li cîhê ku ne hewce be gelek jêrtoran biafirîne û hemî cîhazan di yek torê de nehêle.
  3. Mîhengên "Zêrîn" li ser hemî routeran. Ewan. heke we planek biryar da. Hêja ye ku her tişt tavilê pêşbîn bikin û hewl bidin ku pê ewle bibin ku hemî mîhengan yek in - tenê navnîşa navnîşan û navnîşanên IP-yê cûda ne. Ger pirsgirêk derkevin, dema debugging dê kêmtir be.
  4. Pirsgirêkên rêxistinî ji yên teknîkî ne kêmtir girîng in. Bi gelemperî karmendên tembel van pêşniyaran "bi destan" pêk tînin, bêyî ku mîheng û nivîsarên amade bikar bînin, ku di dawiyê de ji nedîtî ve dibe sedema pirsgirêkan.

Bi rêvekirina dînamîk. OSPF bi dabeşkirina zonê hate bikar anîn. Lê ev bendek ceribandinê ye ku meriv tiştên weha di şert û mercên şer de saz bike.

Ez hêvî dikim ku tu kes aciz nebe ku min mîhengên routerê neşandiye. Ez difikirim ku girêdan dê bes be, û paşê her tişt bi hewcedariyên girêdayî ye. Û bê guman ceribandin, ceribandinên bêtir hewce ne.

Hêvî dikim ku her kes di sala nû de projeyên xwe pêk bîne. Bila gihîştina destûr bi we re be!!!

Source: www.habr.com

Add a comment