Миний дуусаагүй төсөл. 200 MikroTik чиглүүлэгчийн сүлжээ

Миний дуусаагүй төсөл. 200 MikroTik чиглүүлэгчийн сүлжээ

Сайн уу. Энэ нийтлэл нь өөрийн флотод олон микротик төхөөрөмжтэй бөгөөд төхөөрөмж бүрийг тусад нь холбохгүйн тулд дээд зэргээр нэгтгэхийг хүсдэг хүмүүст зориулагдсан болно. Энэ нийтлэлд би харамсалтай нь хүний ​​хүчин зүйлийн улмаас байлдааны нөхцөлд хүрч чадаагүй төслийг тайлбарлах болно. Товчхондоо: 200 гаруй чиглүүлэгч, хурдан тохируулга, ажилтнуудыг сургах, бүс нутгаар нэгтгэх, сүлжээ болон тодорхой хостуудыг шүүх, бүх төхөөрөмжид хялбар дүрэм нэмэх, бүртгэл хөтлөх, хандалтын хяналт.

Доор тайлбарласан зүйл нь бэлэн тохиолдол мэт дүр эсгэдэггүй, гэхдээ энэ нь сүлжээгээ төлөвлөх, алдааг багасгахад хэрэг болно гэж найдаж байна. Магадгүй зарим санаа, шийдлүүд танд бүрэн зөв биш юм шиг санагдаж магадгүй - хэрэв тийм бол сэтгэгдэл дээр бичээрэй. Энэ тохиолдолд шүүмжлэл нь нийтлэг эрдэнэсийн санд туршлага болно. Тиймээс уншигч та сэтгэгдлүүдийг хараарай, магадгүй зохиогч ноцтой алдаа гаргасан байж магадгүй - олон нийт туслах болно.

Чиглүүлэгчийн тоо 200-300, интернетийн холболтын янз бүрийн чанар бүхий өөр өөр хотуудад тархсан. Бүх зүйлийг сайхан хийж, орон нутгийн админуудад бүх зүйл хэрхэн ажиллахыг тодорхой тайлбарлах шаардлагатай байна.

Тэгэхээр аливаа төсөл хаанаас эхэлдэг вэ? Мэдээжийн хэрэг, хамт TK.

  1. Хэрэглэгчийн шаардлагын дагуу бүх салбаруудын сүлжээний төлөвлөгөөг зохион байгуулах, сүлжээний сегментчилэл (төхөөрөмжийн тооноос хамааран салбаруудад 3-20 сүлжээ).
  2. Салбар бүрт төхөөрөмжүүдийг тохируулж байна. Үйл ажиллагааны янз бүрийн нөхцөлд үйлчилгээ үзүүлэгчийн бодит дамжуулах хурдыг шалгах.
  3. Төхөөрөмжийн хамгаалалтын зохион байгуулалт, цагаан жагсаалтын менежмент, тодорхой хугацааны туршид автоматаар хар жагсаалтад орсон халдлагыг автоматаар илрүүлэх, хяналтын хандалтыг таслан зогсоох, үйлчилгээ үзүүлэхээс татгалзахад ашигладаг янз бүрийн техникийн хэрэгслийн хэрэглээг багасгах.
  4. Хэрэглэгчийн шаардлагын дагуу сүлжээний шүүлтүүр бүхий аюулгүй VPN холболтыг зохион байгуулах. Салбар бүрээс төв рүү хамгийн багадаа 3 VPN холболт.
  5. 1, 2-р зүйлд үндэслэн алдааг тэсвэрлэх чадвартай VPN-үүдийг бий болгох оновчтой арга замыг сонго. Зөв үндэслэлтэй бол динамик чиглүүлэлтийн технологийг гүйцэтгэгч өөрөө сонгож болно.
  6. Үйлчлүүлэгчийн ашигладаг протокол, порт, хост болон бусад тусгай үйлчилгээгээр траффикийн тэргүүлэх чиглэлийг зохион байгуулах. (VOIP, чухал үйлчилгээтэй хостууд)
  7. Техникийн туслах ажилтнуудын хариу арга хэмжээ авахын тулд чиглүүлэгчийн үйл явдлыг хянах, бүртгэх ажлыг зохион байгуулах.

Бидний ойлгож байгаагаар хэд хэдэн тохиолдолд техникийн үзүүлэлтүүдийг шаардлагад үндэслэн боловсруулдаг. Гол асуудлуудыг сонссоны дараа би эдгээр шаардлагыг өөрөө боловсруулсан. Эдгээр цэгүүдийг өөр хэн нэгэн хариуцаж магадгүй гэдгийг тэрээр хүлээн зөвшөөрсөн.

Эдгээр шаардлагыг хангахын тулд ямар хэрэгслийг ашиглах вэ:

  1. ELK стек (хэсэг хугацааны дараа logstash-ийн оронд fluentd ашиглах нь тодорхой болсон).
  2. Хариуцлагатай. Удирдлага, хандалтыг хуваалцахад хялбар болгохын тулд бид AWX ашиглах болно.
  3. GITLAB. Энд тайлбарлах шаардлагагүй. Тохиргооныхоо хувилбарын хяналтгүйгээр бид хаана байх вэ?
  4. PowerShell. Тохиргооны эхний үеийн энгийн скрипт байх болно.
  5. Доку вики, баримт бичиг, гарын авлага бичих зориулалттай. Энэ тохиолдолд бид habr.com сайтыг ашигладаг.
  6. Хяналт шалгалтыг zabbix-ээр явуулна. Мөн ерөнхий ойлголттой болохын тулд холболтын диаграммыг тэнд зурах болно.

EFK тохируулах цэгүүд

Эхний зүйлийн талаар би зөвхөн индексийг бий болгох үзэл баримтлалыг тайлбарлах болно. Олон бий
mikrotik ажиллаж байгаа төхөөрөмжүүдийн бүртгэлийг тохируулах, хүлээн авах талаар маш сайн нийтлэлүүд.

Би зарим зүйл дээр анхаарлаа хандуулах болно:

1. Диаграммын дагуу өөр өөр газар, өөр портууд дээр лог хүлээн авах талаар бодох нь зүйтэй. Үүний тулд бид бүртгэлийн нэгтгэгчийг ашиглах болно. Бид мөн бүх чиглүүлэгчид хандах хандалтыг хуваалцах боломжтой бүх нийтийн график хийхийг хүсч байна. Дараа нь бид индексүүдийг дараах байдлаар байгуулна.

Энд fluentd-тэй тохиргооны хэсэг байна elasticsearch гэж бичнэ үү
logstash_format үнэн
index_name mikrotiklogs.north
logstash_prefix mikrotiklogs.north
угаах_интервал 10 секунд
Хостууд эластик хайлт: 9200
9200 порт

Ингэснээр бид чиглүүлэгч болон сегментийг төлөвлөгөөний дагуу нэгтгэж чадна - mikrotiklogs.west, mikrotiklogs.south, mikrotiklogs.east. Яагаад ийм төвөгтэй болгов? Бид 200 ба түүнээс дээш төхөөрөмжтэй болно гэж ойлгож байна. Та бүх зүйлийг хянаж чадахгүй. Elasticsearch-ийн 6.8 хувилбарын тусламжтайгаар аюулгүй байдлын тохиргоог (лиценз худалдаж авахгүйгээр) ашиглах боломжтой бөгөөд ингэснээр бид техникийн тусламжийн ажилтнууд эсвэл дотоод системийн администраторуудын хооронд үзэх эрхийг хуваарилах боломжтой.
Хүснэгт, график - энд та зүгээр л санал нийлэх хэрэгтэй - ижил зүйлийг ашиглах, эсвэл хүн бүр өөрт тохирсон зүйлийг хийх хэрэгтэй.

2. Мод бэлтгэх замаар. Хэрэв бид галт ханын дүрмийг идэвхжүүлбэл нэрсийг хоосон зайгүй болгоно. Бид fluentd-д энгийн тохиргоог ашигласнаар өгөгдлийг шүүж, тохиромжтой самбар хийх боломжтой болохыг харж болно. Доорх зураг бол миний гэрийн чиглүүлэгч юм.

Миний дуусаагүй төсөл. 200 MikroTik чиглүүлэгчийн сүлжээ

3. Эзэлсэн орон зай болон гуалингаар. Дунджаар цагт 1000 мессеж илгээдэг бол бүртгэл нь өдөрт 2-3 МБ зай эзэлдэг бөгөөд энэ нь тийм ч их биш юм. Elasticsearch хувилбар 7.5.

ANSIBLE.AWX

Аз болоход бидэнд чиглүүлэгчид зориулсан бэлэн модуль бий
Би AWX-ийн талаар дурдсан боловч доорх командууд нь зөвхөн цэвэр хэлбэрээрээ ansible-ийн тухай юм - ansible-тэй ажиллаж байсан хүмүүст gui-ээр дамжуулан awx-ийг ашиглахад ямар ч асуудал гарахгүй гэж би бодож байна.

Үнэнийг хэлэхэд, үүнээс өмнө би ssh ашигладаг бусад гарын авлагуудыг үзсэн бөгөөд тэд бүгд хариу өгөх хугацаа болон бусад олон асуудалтай байсан. Би давтан хэлье, энэ нь зодоон болоогүй , энэ мэдээллийг 20 чиглүүлэгчээс илүүгүй туршилт гэж хүлээн авна уу.

Бид гэрчилгээ эсвэл данс ашиглах хэрэгтэй. Чи өөрөө л шийднэ, би гэрчилгээ авахын төлөө байна. Эрхийн талаархи зарим нарийн санаа. Би бичих эрхийг өгдөг - ядаж "тохиргоог дахин тохируулах" ажиллахгүй.

Сертификат үүсгэх, хуулбарлах, импортлоход ямар ч асуудал гарах ёсгүй.

Командын товч жагсаалтТаны компьютер дээр
ssh-keygen -t RSA, асуултанд хариулах, түлхүүрийг хадгалах.
Mikrotik руу хуулах:
хэрэглэгчийн ssh-keys import public-key-file=id_mtx.pub user=ansible
Эхлээд та данс үүсгэж, түүнд эрх олгох хэрэгтэй.
Сертификат ашиглан холболтыг шалгаж байна
ssh -p 49475 -i / түлхүүрүүд / mtx [имэйлээр хамгаалагдсан]

vi /etc/ansible/hosts-д бүртгүүлнэ үү
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

За, жишээ тоглоом: - нэр: ажлын_сайтуудыг нэмэх
хостууд: testmt
цуврал: 1
холболт: network_cli
алсын_хэрэглэгч: mikrotik.west
баримт цуглуулах: тиймээ
даалгавар:
- нэр: Ажлын_сайтуудыг нэмнэ үү
routeros_command:
тушаалууд:
— /IP галт ханын хаяг-жагсаалт нэмэх хаяг=gov.ru жагсаалт=work_sites comment=Ticket665436_Ochen_nado
— /IP галт ханын хаяг-жагсаалт нэмэх хаяг=habr.com жагсаалт=ажлын_сайтуудын тайлбар=for_habr

Дээрх тохиргооноос харахад өөрийн тоглоомын ном бүтээх нь тийм ч хэцүү биш юм. Cli mikrotik-ийг сайн эзэмшихэд хангалттай. Бүх чиглүүлэгч дээрх тодорхой өгөгдөл бүхий хаягийн жагсаалтыг устгах шаардлагатай нөхцөл байдлыг төсөөлөөд үз дээ:

Олоод устгана уу/ip галт ханын хаяг-жагсаалтыг арилгах [жагсаалтыг хаанаас олох =="gov.ru"]

Би энд галт ханын жагсаалтыг бүхэлд нь оруулаагүй, учир нь... Энэ нь төсөл бүрийн хувьд хувь хүн байх болно. Гэхдээ би нэг зүйлийг баттай хэлж чадна, зөвхөн хаягийн жагсаалтыг ашигла.

GITLAB-ийн дагуу бүх зүйл тодорхой байна. Би энэ талаар дэлгэрэнгүй ярихгүй. Хувь хүний ​​даалгавар, загвар, зохицуулагчийн хувьд бүх зүйл сайхан байдаг.

PowerShell

Энд 3 файл байх болно. Яагаад powershell гэж? Та өөрт илүү тохиромжтой тохиргоог бий болгох ямар ч хэрэгслийг сонгож болно. Энэ тохиолдолд хүн бүр өөрийн компьютер дээрээ Windows-тэй байдаг тул powershell илүү тохиромжтой байхад яагаад үүнийг bash дээр хийх хэрэгтэй вэ? Аль нь илүү тохиромжтой вэ?

Скрипт өөрөө (энгийн бөгөөд ойлгомжтой):[cmdletBinding()] Парам(
[Параметр(Заавал=$true)] [string]$EXTERNALIPADDRESS,
[Параметр(Заавал=$true)] [string]$EXTERNALIPROUTE,
[Параметр(Заавал=$true)] [string]$BWorknets,
[Параметр(Заавал=$true)] [string]$CWorknets,
[Параметр(Заавал=$true)] [string]$BVoipNets,
[Параметр(Заавал=$true)] [string]$CVoipNets,
[Параметр(Заавал=$true)] [string]$CClientss,
[Параметр(Заавал=$true)] [string]$BVPNWORKs,
[Параметр(Заавал=$true)] [string]$CVPNWORKs,
[Параметр(Заавал=$true)] [string]$BVPNCLIENTSs,
[Параметр(Заавал=$true)] [string]$cVPNCLIENTSs,
[Параметр(Заавал=$true)] [string]$NAMEROUTER,
[Параметр(Заавал=$true)] [string]$ServerCertificates,
[Параметр(Заавал=$true)] [string]$infile,
[Параметр(Заавал=$true)] [string]$outfile
)

Get-Content $infile | Foreach-Object {$_.Replace("EXTERNIP", $EXTERNALIPADRESS)} |
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("ServerCertificates", $ServerCertificates)} | Set-Content $outfile

Намайг уучлаарай, би бүх дүрмийг нийтлэх боломжгүй, учир нь... энэ нь тийм ч хөөрхөн биш байх болно. Та шилдэг туршлагыг удирдан чиглүүлсэн дүрмийг өөрөө боловсруулж болно.

Жишээлбэл, миний дагасан холбоосуудын жагсаалт энд байна:wiki.mikrotik.com/wiki/Manual:Таны_чиглүүлэгчийн аюулгүй байдлыг хангах
wiki.mikrotik.com/wiki/Manual:IP/галт хана/шүүлтүүр
wiki.mikrotik.com/wiki/Manual:OSPF-жишээнүүд
wiki.mikrotik.com/wiki/Drop_port_scanners
wiki.mikrotik.com/wiki/Manual: Winbox
wiki.mikrotik.com/wiki/Manual:RouterOS-г сайжруулж байна
wiki.mikrotik.com/wiki/Manual:IP/Fasttrack - энд та хурдны замыг идэвхжүүлсэн үед хөдөлгөөний тэргүүлэх чиглэл, хэлбэр дүрслэх дүрэм ажиллахгүй гэдгийг мэдэх хэрэгтэй - сул төхөөрөмжүүдэд хэрэгтэй.

Хувьсагчийн тэмдэгтүүд:Дараах сүлжээг жишээ болгон авч үзнэ.
192.168.0.0/24 ажлын сүлжээ
172.22.4.0/24 VOIP сүлжээ
Дотоод сүлжээнд нэвтрэх боломжгүй үйлчлүүлэгчдэд зориулсан 10.0.0.0/24 сүлжээ
Томоохон салбаруудад зориулсан 192.168.255.0/24 VPN сүлжээ
172.19.255.0/24 жижиг VPN сүлжээ

Сүлжээний хаяг нь 4 аравтын бутархай тооноос бүрдэх ба ABCD тус тус солих нь ижил зарчмаар ажилладаг бөгөөд хэрэв эхлүүлэх үед энэ нь B гэж асуувал энэ нь 192.168.0.0/24 сүлжээнд 0, C-ийн хувьд 0 тоог оруулах шаардлагатай гэсэн үг юм. = XNUMX.
$EXTERNALIPADDRESS - үйлчилгээ үзүүлэгчийн тусгай хаяг.
$EXTERNALIPROUTE - 0.0.0.0/0 сүлжээний үндсэн чиглүүлэлт
$BWorknets - Ажлын сүлжээ, бидний жишээнд 168 байх болно
$CWorknets - Ажлын сүлжээ, бидний жишээнд энэ нь 0 байх болно
$BVoipNets - Бидний жишээн дээрх VOIP сүлжээ 22
$CVoipNets - Бидний жишээн дээрх VOIP сүлжээ 4
$CClientss - Үйлчлүүлэгчдэд зориулсан сүлжээ - Зөвхөн интернетэд нэвтрэх, манай тохиолдолд энд 0 байна
$BVPNWORKs - Том салбаруудад зориулсан VPN сүлжээ, бидний жишээ 20
$CVPNWORKs - Том салбаруудад зориулсан VPN сүлжээ, бидний жишээнд 255
$BVPNCLIENTS - Жижиг салбаруудад зориулсан VPN сүлжээ нь 19 гэсэн утгатай
$CVPNCLIENTS - Жижиг салбаруудад зориулсан VPN сүлжээ нь 255 гэсэн утгатай
$NAMEROUTER - чиглүүлэгчийн нэр
$ServerCertificate - таны өмнө нь импортолсон гэрчилгээний нэр
$infile — Тохиргоог унших файлын замыг зааж өгнө үү, жишээ нь D:config.txt (хашилт, хоосон зайгүй англи замыг сонговол зохимжтой)
$outfile — хадгалах замыг зааж өгнө, жишээ нь D:MT-test.txt

Би тодорхой шалтгааны улмаас жишээн дээрх хаягуудыг зориудаар өөрчилсөн.

Би халдлага, хэвийн бус зан үйлийг илрүүлэх талаар санаагаа алдсан - энэ нь тусдаа нийтлэл байх ёстой. Гэхдээ энэ ангилалд та Zabbix-ийн хяналтын өгөгдлийн утгыг + elasticsearch-аас боловсруулсан curl өгөгдлийг ашиглаж болно гэдгийг тэмдэглэх нь зүйтэй.

Та ямар цэгүүдэд анхаарлаа хандуулах хэрэгтэй вэ:

  1. Сүлжээний төлөвлөгөө. Уншихуйц хэлбэрээр нэн даруй зохиох нь дээр. Excel хангалттай байх болно. Харамсалтай нь сүлжээнүүд нь "Шинэ салбар гарч ирлээ, танд /24" гэсэн зарчмын дагуу баригдаж байгааг би олон удаа хардаг. Тухайн байршилд хэчнээн төхөөрөмж хүлээгдэж байгаа эсвэл цаашид өсөх эсэхийг хэн ч тооцоогүй байна. Жишээлбэл, төхөөрөмж нь 10-аас илүүгүй байх нь тодорхой байсан жижиг дэлгүүр нээгдсэн бол яагаад /24-ийг хуваарилах вэ? Томоохон салбаруудын хувьд эсрэгээрээ /24-ийг хуваарилдаг бөгөөд 500 төхөөрөмж байдаг - та зүгээр л сүлжээ нэмж болно, гэхдээ та бүгдийг нэг дор бодохыг хүсч байна.
  2. Шүүлтүүрийн дүрэм. Хэрэв төсөл нь сүлжээг салгаж, хамгийн их сегментчилэл хийх болно гэж үзвэл. Шилдэг туршлага цаг хугацааны явцад өөрчлөгддөг. Өмнө нь компьютерийн сүлжээ, принтерийн сүлжээ хоёр хуваагддаг байсан бол одоо эдгээр сүлжээг хуваахгүй байх нь хэвийн үзэгдэл юм. Эрүүл ухаанаа ашиглах, шаардлагагүй олон дэд сүлжээ үүсгэхгүй байх, бүх төхөөрөмжийг нэг сүлжээнд нэгтгэхгүй байх нь зүйтэй.
  3. Бүх чиглүүлэгч дээрх "Алтан" тохиргоо. Тэдгээр. Хэрэв та төлөвлөгөөгөө шийдсэн бол. Бүх зүйлийг нэн даруй урьдчилан харж, бүх тохиргоо ижил байгаа эсэхийг шалгах нь зүйтэй - зөвхөн хаягийн жагсаалт болон IP хаягууд өөр байна. Хэрэв асуудал гарвал дибаг хийх хугацаа багасна.
  4. Зохион байгуулалтын асуудал техникийн асуудлаас дутахааргүй чухал. Ихэнхдээ залхуу ажилтнууд эдгээр зөвлөмжийг бэлэн тохиргоо, скрипт ашиглахгүйгээр "гараар" гүйцэтгэдэг бөгөөд энэ нь эцэстээ гэнэтийн асуудалд хүргэдэг.

Динамик чиглүүлэлтээр. Бүсийн хуваагдал бүхий OSPF ашигласан. Гэхдээ энэ бол туршилтын вандан тул байлдааны нөхцөлд ийм зүйлийг байрлуулах нь илүү сонирхолтой юм.

Намайг чиглүүлэгчийн тохиргоог нийтлээгүйд хэн ч бухимдахгүй байх гэж найдаж байна. Холбоосууд хангалттай байх болно гэж би бодож байна, дараа нь бүх зүйл шаардлагаас хамаарна. Мэдээжийн хэрэг туршилтууд, илүү олон шалгалт шаардлагатай.

Шинэ ондоо бүгд төслөө хэрэгжүүлэхийг хүсэн ерөөе. Хандалтын эрх тантай хамт байх болтугай!!!

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх