Angry IP Scanner (men bu IP-skanerni nimadan g'azablantirganini bilmayman, lekin u yaxshi ishlaydi).
Tarmoqlarni bepul IP manzillar uchun skanerlashda ehtiyot bo'ling, chunki tarmoqni skanerlash hujumni aniqlash tizimlarida tahdid sifatida namoyon bo'lishi mumkin. Agar siz o'zingizga tegishli bo'lmagan tarmoqni skanerlayotgan bo'lsangiz, skanerlashni boshlashdan oldin har doim tarmoq ma'muri va boshqaruvidan ruxsat olganingizga ishonch hosil qiling. Bundan tashqari, agar siz kompaniya tarmog'ini skanerlayotgan bo'lsangiz, esda tutingki, qo'llaniladigan har qanday apparat yuk balanslagichlari pinglarga javob bermasligi mumkin, shuning uchun siz tarmoq ma'muringizning IP tartibini ham ko'rib chiqishingiz va natijalarni solishtirishingiz mumkin.
Sizni Google qidiruvi muammosidan xalos qilish uchun quyidagi nmap sintaksisi quyi tarmoqni skanerlaydi va qaysi IP manzillar ishlatilayotgani haqida hisobot beradi. Avval o'rnatilgan nmap paketi kerak bo'ladi. Shunchaki tarmoq manzilini o'zingizga almashtiring:
nmap -sP 192.168.1.0/24
keepalived ni o'rnatishimiz kerak. Ikkala serveringizda ham quyidagi buyruqni bajaring:
sudo apt install keepalived
saqlanib qolgan demonning holatini tekshirsangiz, u o'rnatilgan zahotiyoq ishga tushishga urinib ko'rganini va darhol muvaffaqiyatsiz bo'lganini ko'rasiz. Agar siz keepalived holatini systemctl buyrug'i bilan tekshirsangiz, quyidagiga o'xshash xatolikni ko'rasiz:
Condition: start condition failed
keepalived ni sozlamaganimiz sababli, u muvaffaqiyatsiz bo'lishi mumkin. Axir, biz uni tekshirish uchun hech narsa bermadik yoki suzuvchi IP-ni tayinlamadik. Odatiy bo'lib, paketni o'rnatganingizdan so'ng namunaviy konfiguratsiya fayli yaratilmaydi; biz buni o'zimiz yaratishimiz kerak. Keepalived uchun konfiguratsiya /etc/keepalived ichida saqlanadi, bu vaqtda tizimingizda bo'sh katalog bo'lishi kerak. Agar biron sababga ko'ra ushbu katalog mavjud bo'lmasa, uni yarating:
sudo mkdir /etc/keepalived
Keling, asosiy serverimizda matn muharririni ochamiz va bo'sh bo'lishi kerak bo'lgan /etc/keepalived/ keepalived.conf faylini tahrirlaymiz. Faylga quyidagi kodni kiriting. Ushbu konfiguratsiya sizning muhitingizda ishlashi uchun siz ba'zi o'zgarishlar qilishingiz kerak bo'ladi. Davom etar ekanmiz, kod nima qilayotganini va nimani o'zgartirishingiz kerakligini tushuntirib beraman. Kodni joylashtirgandan so'ng matn muharririni ochiq tuting va ushbu konfiguratsiya fayli siz uchun ishlashini ta'minlash bo'yicha ba'zi maslahatlarni o'qishni davom eting:
Global_defs {xabarnoma_email@mycompody.com
}
}
Ushbu faylda juda oz narsa bor, shuning uchun nima sodir bo'layotganini yaxshiroq tushunishingiz uchun men konfiguratsiya bo'limini bo'limga qarab tushuntiraman:
global_defs { notification_email { myemail@mycompany.com } notification_email_from keepalived@mycompany.com smtp_server 192.168.1.150 smtp_connect_timeout 30 router_id mycompany_web_prod }
Global_defs bo'limida biz ogohlantirish xabarlarini yuborish uchun foydalanish uchun maxsus elektron pochta xostini sozlaymiz. Muammo yuzaga kelganda va saqlanib qolgan yangi asosiy serverga o‘tganda, u sizga muammo borligi haqida xabar berish uchun elektron pochta xabarini yuborishi mumkin. Siz ushbu qiymatlarning har birini pochta serveringizga mos keladigan tarzda o'zgartirishni xohlaysiz. Agar sizda pochta serveri bo'lmasa, keepalived to'g'ri ishlaydi. Agar sizda pochta serveri bo'lmasa, ushbu bo'limni o'chirib tashlashingiz yoki sharh qoldirishingiz mumkin. Biroq, saqlab qolish uchun pochta serverini o'rnatish tavsiya etiladi.
Keling, kodning keyingi qismini ko'rib chiqaylik:
vrrp_instance VI_1 { smtp_alert interfeysi enp0s3 virtual_router_id 51 ustuvor 100
advert_int 5
Bu erda biz virtual IP-ni belgilashimiz qanday ishlashiga oid ba'zi konfiguratsiya variantlarini tayinlaymiz. Bu erda siz o'zgartirmoqchi bo'lgan birinchi narsa - interfeys. Mening namunaviy konfiguratsiyamda menda interfeys nomi sifatida enp0s3 bor. Bu serveringizdagi server interfeysi bilan mos kelishi kerak, u erda siz tutashuv bog'lanishi kerak. Agar shubhangiz bo'lsa, interfeyslar ro'yxatini olish uchun qobiq so'rovida ip a ni bajaring.
virtual_router_id 0 dan 255 gacha bo'lishi mumkin bo'lgan juda maxsus raqam. Bu raqam bir xil ichki tarmoqda ishlashning bir nechta nusxalarini farqlash uchun ishlatiladi. Har bir saqlangan klasterning har bir a'zosi bir xil virtual_router_id ga ega bo'lishi kerak, lekin agar siz bir xil pastki tarmoqda bir nechta juft yoki serverlar guruhini ishlatayotgan bo'lsangiz, har bir guruh o'z virtual_router_id ga ega bo'lishi kerak. Men misolimda 51 dan foydalandim, lekin siz xohlagan raqamdan foydalanishingiz mumkin.
virtual_router_id bir xil ekanligiga ishonch hosil qilishingiz kerak. Tez orada boshqa serverni o'rnatish bo'yicha ba'zi maslahatlarni ko'rib chiqaman, shuning uchun siz hali ikkinchi serveringizda keepalivedni sozlamagan bo'lsangiz, tashvishlanmang.
Ushbu blokdagi yana bir muhim variant - bu ustuvorlik. Bu raqam har bir serverda mutlaqo boshqacha bo'lishi kerak. Eng yuqori ustuvor qiymatga ega bo'lgan saqlangan nusxa har doim asosiy server hisoblanadi. Mening misolimda men bu raqamni 100 ga qo'ydim. Ustuvorlik uchun 100 dan foydalanish yaxshi, agar boshqa server bu raqamdan foydalanmasa. Boshqa serverlar pastroq ustuvorlikka ega bo'lishi kerak. Masalan, ikkinchi veb-serverning ustuvorligini 80 ga o'rnatishingiz mumkin. Agar siz uchinchi yoki to'rtinchisini o'rnatsangiz, ularning ustuvorligini mos ravishda 60 va 40 ga o'rnatishingiz mumkin. Bu men boshimning tepasida tanlagan o'zboshimchalik raqamlari. Har bir server boshqa ustuvorlikka ega ekan va siz asosiy boʻlishni istagan server eng yuqori ustuvorlikka ega ekan, siz yaxshi holatdasiz. advert_int opsiyasi reklamalar qanchalik tez-tez yuborilishini sozlaydi va bir necha soniya ichida sozlanadi. Bizning misol kodimizda reklamalar har 5 soniyada yuboriladi, bu esa boshqa serverga hali ham tirik va faol ekanligi haqida xabar beradi.
Yakuniy blokda biz virtual IP-manzilni o'rnatamiz:
virtual_ipaddress {192.168.1.200
}
faraziy misol sifatida 192.168.1.200 ni tanladim ; DHCP diapazoningizdan tashqarida hech qanday qurilma ishlatmaydigan IP manzilni tanlashingiz kerak.
keepalived ni sozlaganingizdan so'ng, keling, uni sinab ko'ramiz va u ishlayotganligini tekshiramiz. Asosiy serveringizda keepalived ni ishga tushiring:
sudo systemctl start keepalived
Demonni ishga tushirgandan so'ng, u qanday ishlashini ko'rish uchun uning holatiga qarang:
sudo systemctl status keepalived
Agar xato bo'lmasa, demonning holati faol bo'lishi kerak (ishlayotgan). Agar biron sababga ko'ra holat boshqa narsa bo'lsa, status buyrug'ini bajarganingizdan so'ng ko'rsatilgan jurnal yozuvlarini ko'rib chiqing, chunki keepalived konfiguratsiya faylida topilgan har qanday xatoliklarni juda tavsiflaydi.
Agar hamma narsa yaxshi bo'lsa, interfeyslaringizda ro'yxatdagi suzuvchi IP uchun tanlagan IP manzilingizni ko'rishingiz kerak. Ularni ko'rish uchun so'rovingiz bo'yicha ip a ni bajaring. Suzuvchi IPni ko'ryapsizmi? Aks holda, uning paydo bo'lishi uchun bir necha soniya vaqt ketishi mumkinligini yodda tuting. 30 soniya kuting va interfeys ro'yxatini yana tekshiring.
ikkinchi veb-serverda keepalivedni o'rnatishimiz kerak. Agar siz hali buni qilmagan bo'lsangiz, keepalived paketini boshqa serverga o'rnating va keyin keepalived.conf faylini ishchi serveringizdan yangisiga nusxalang. Ikkinchi serverning saqlanishi bilan bog'liq ba'zi narsalarni yodda tutish kerak. conf fayli:
Ikkilamchi serverdagi ustuvorlikni asosiy serverda ishlatganingizdan pastroq raqamga o'zgartirishni unutmang
virtual_ipaddress qiymati ikkalasida bir xil bo'lishi kerak
virtual_router_id qiymati ikkalasida bir xil bo'lishi kerak
Ikkilamchi serveringizda saqlashni ishga tushiring yoki qayta ishga tushiring va xizmat ishga tushganda xatolik yoʻqligini tekshiring
Keling, bir oz zavqlanaylik va harakatda saqlanib qolganligini ko'ramiz. Quyidagi juda oddiy HTML fayl: