Хоёр эзэн, нэг хаяг: TAP гүүр дээрх давхардсан IP
Зөвхөн эхэлж холбогдсон үед хаягаа хадгалдаг VPN клиент ARP зөрчилд ялагдаж байна, уралдаанд биш. Гүүр дээрх хаягийн бүх эзнийг ол.
Нэг Windows клиент 10.8.0.2-г барьж, ачаалах дараалал өөрчлөгдөх хүртэл ажиллана; дараа нь клиент дээр юу ч өөрчлөгдөөгүй байхад мөн хаяг зөрчил гэж мэдээлэгддэг. Мөн гүүрлэсэн сегмент дэх хоёр дахь хост мөн утгыг шаарддаг бөгөөд тохиргоог хамгийн сүүлд дуусгасан машин ихэвчлэн хожигддог. Хоёулаа үүнийг өөрийн гэж үздэг бөгөөд хожигдсон тал нь өөрт нь хэрэглэ гэж заасан хаягийг чимээгүйхэн хэрэглэхээ болино. Үүнийг цаг хугацааны асуудал гэж үзэх нь дахин ачаалах бүрт давтагдах шалтгаан болдог.
Гүүрт хүрэхээс өмнө зөрчлийн нотолгоог уншаарай
Windows хаягийн зөрчлийг нөгөө шаардагчийн техник хангамжийн хаягтай хамт мэдээлдэг. Энэ техник хангамжийн хаяг нь ашигтай баримт, учир нь нэг хост дээрх нэг интерфэйстэй тохирдог, харин үйл явдлын харуулсан нэр нь давхардал хаана байгааг юу ч хэлэхгүй. Ямар нэг зүйлийг өөрчлөхөөс өмнө техник хангамжийн хаягийг бичиж аваарай.
ARP-д суурилсан давхардлыг илрүүлэх нь хаягийг ашиглахаас өмнө өрсөлдөгч эздийг шалгаж, дараа нь ч үргэлжлүүлэн ажигладаг. Тиймээс сүлжээг тохируулах үед байхгүй байсан хост нэг цагийн дараа ч зөрчил үүсгэж болно. Шалгалт нь ачаалах үеийн нэг удаагийн шалгалт биш. Дараа гарч ирсэн машин өдөржингөө тайван хэрэглэгдэж байсан хаягийг авч болох тул энэ гэмтэл тохиргооны алдаа биш, уралдаан мэт харагддаг.
Зөрчлийн үйл явдал дангаараа аль тохиргоо нөгөө шаардлагыг үүсгэснийг хэлэхгүй бөгөөд хаягийг туршилтаар устгах нь танд хэлэх байсан уялдалгыг устгана. Нотолгооны зорилго нь техник хангамжийн хаягийг таны шалгаж болох интерфэйс болгох явдал юм. Машины нэрээр бүртгэлээс хайх нь ихэвчлэн буруу хост руу хүргэдэг.
Сегмент дэх бүх шаардлагыг бүртгэ
Гүүрлэсэн TAP тохиргоо нь өмнө нь тусдаа байсан Ethernet сегментүүдийг нэгтгэдэг тул өөрсдийн сүлжээнд өвөрмөц байсан хаягууд кадрууд нэг холбоосыг хуваалцахад мөргөлдөж болно. Энэ гэмтлийн ангилал VPN-д байгаа бөгөөд түүнийг орлуулсан маршрутлагдсан сүлжээнд байхгүй шалтгаан нь энэ юм. Сэжиглэж буй эхний эзнийг биш, боломжит бүх эзнийг жагсаа.
Жагсаалтыг энэ дарааллаар туул: гүүр төхөөрөмж бүр болон түүний гишүүн портууд дээрх хаягууд, OpenVPN пул болон клиент тус бүрийн тогтмол хуваарилалт, мөн гүүрлэсэн сегментийг хамарсан аливаа DHCP сервер. Дараа нь зөрчлийн тайлан дахь техник хангамжийн хаягийг олсон интерфэйстэйгээ тулга.
ip -4 addr show | grep -E 'inet |^[0-9]+: '
bridge link show
ip neigh show dev br0
Пул болон DHCP хүрээ нь хүмүүсийн мартаждаг хоёр эзэн юм. Хоёр хүрээг хамт хэвлэж, өөр юу ч хийхээс өмнө давхцлыг хай. Гараар олгосон гүүрийн хаяг болон мөн утгыг олгодог пул эрт орой хэзээ нэгэн цагт мөргөлдөх бөгөөд хоёр хүрээг зэрэгцүүлэн хэвлэх хүртэл мөргөлдөөн санамсаргүй мэт харагдана.
Гүүрүүдийг зөвхөн таних тэмдэг хэрэгтэй газарт дугаарла
Энгийн хост гүүрт гүүр төхөөрөмж нь хотын гуравдугаар давхаргын тохиргоог агуулж, Ethernet болон TAP гишүүд порт болж ажилладаг. Гишүүн бүрт өөрийн хаяг өгөх, эсвэл хаягийг өөрчлөхгүйгээр нэг суулгах скриптийг хэд хэдэн машин руу хуулах нь нэг сегмент мөн утгын гурван эзэнтэй болох зам юм. Гишүүдэд кадр дамжуулахад өөрийн таних тэмдэг хэрэггүй. Тэдэнд тухайн сегмент дээр хүрч болох хост бүрт яг нэг таних тэмдэг хэрэгтэй.
Зөвхөн кадр сольдог гүүрт тухайн сегмент дээр хаяг огт хэрэггүй. Дугааргүй орхих нь мөргөлдөөний бүхэл ангиллыг арилгана, гэхдээ хост таны шалгасан удирдлагын замтай байх ёстой. Эхлээд нэвтрэлтийг батал, хоёрдугаарт хаягийг хас, гуравдугаарт хүрэх боломжийг шалга.
Хэрэв таны устгах гэж буй хаяг машин руу орох цорын ганц зам бол, түүнийг туршилт болгон устгах нь онош биш, өөрөө үүсгэсэн тасалдал юм. Ямар нэг зүйлийг туршихаас өмнө гадуурх замыг шалга.
Засварыг дахин ачаалалтад тэсвэртэй болго
Ажиллаж буй интерфэйсийг өөрчлөх нь одоогийн ачааллыг засна, өөр юу ч биш. Ачаалах үед хаягийг дахин үүсгэдэг бүхэн дараагийн дахин ачаалалтад зөрчлийг сэргээнэ, та засвар ажиллаагүй гэж дүгнэх бөгөөд үнэндээ энэ нь хэзээ ч байнгын байгаагүй. Аль файлыг өөрчилснөө тэмдэглэ, дараагийн дахин ачаалалт гэнэтийн зүйл илрүүлэхийн оронд шийдвэрийг батална.
Тухайн тохиргооны эзнийг ол: сүлжээний менежерийн профайл, интерфэйс тус бүрийн файл, контейнер эсвэл VM-ийн тодорхойлолт, эсвэл cloud-init хэсэг. Тэнд нь өөрчил, дараа нь шинэ утга буцаж ирснийг батлахын тулд нэг өртсөн хотыг санаатайгаар дахин ачаал. Дахин ачаалалт нь байнгын байдлыг нотолдог цорын ганц туршилт юм.
Гүүрийн хаягуудыг DHCP хүрээний дотор үл хамаарах зүйл болгон нөөцөл, эсвэл гадна нь зөө. Зөвхөн хүснэгтэд байдаг нөөц нь үл хамаарах зүйл биш бөгөөд хуваарилагч үүнийг уншихгүй.
Бүх клиент онлайн байхад үүнийг нотол
Нэг амжилттай холболт юу ч нотлохгүй, учир нь анхны шинж тэмдэг зөвхөн дараалал өөрчлөгдөхөд илэрч байсан. Төлөвлөсөн бүх клиентийг асаа, ачаалах дарааллыг өөрчил, дахин холбогдсоны дараа давт. Дараа нь өмнө нь уралдаанд хожигддог байсан хотыг дахин ачаалж, хаяг хадгалагдсаныг батал.
Шууд баталгаажуулахын тулд хаягийг оноохоос өмнө давхар эзэн байгаа эсэхийг шалгаж, дараа нь хөршийн хүснэгтийг ажигла. Хэрэв юу ч шалгалтад хариулахгүй бөгөөд бүрэн дахин ачаалах циклд хаяг өвөрмөц хэвээр байвал зөрчил далдлагдаагүй, шийдэгдсэн байна. Доорх командууд хоёр шалгалтыг гүүр төхөөрөмж дээр гүйцэтгэдэг. RFC 5227 эдгээр хэрэгслүүдийн гүйцэтгэдэг шалгалт болон зарлалын зан төлөвийг тодорхойлдог бөгөөд хэн нэгэн илрүүлэлтийг унтраахыг санал болгоход иш татах ёстой эх сурвалж юм.
arping -D -I br0 10.8.0.2
ip neigh show dev br0 | grep 10.8.0.2
Хариу аваагүй шалгалт цэвэр сегмент дээр хүлээгдэж буй үр дүн юм. Хариу татсан шалгалт танд үлдсэн эзний техник хангамжийн хаягийг өгдөг, энэ нь эхэнд Windows үйл явдлын өгсөн мөн нотолгоо юм. Тэр гаралтыг өөрчлөлтийн бүртгэлтэй хамт хадгал, учир нь хаяг өвөрмөц баригдсаныг нотлох цорын ганц зүйл нь тэр юм.