Хуваасан туннелийн маршрутууд давхцах үед: аль префикс ялдаг вэ
Хамгийн урт префиксийн тохирол, метрик болон бодлогын дүрмүүд давхцаж буй очих газрыг аль туннель үйлчилдгийг тодорхойлно. Эхлээд эх сурвалжийн хаяг болон шийдэгдсэн нэрийг шалгана уу.
Хуваасан туннелийн хоёр профайл, хоёр хувийн префикс, хоёулаа шаардаж буй нэг хост байна. Шинж тэмдэг нь цэвэр эвдрэл болох нь ховор: үйлчилгээ даваа гарагт ажиллаж, хоёр дахь клиент дахин холбогдсоны дараа хугацаа хэтэрч, дахин ачаалсны дараа дахин ажилладаг. Клиентүүдийг холбосон дараалал үр дүнг шийдэхгүй, клиентийн интерфэйс дэх мөрүүдийн дараалал ч шийдэхгүй. Эдгээр шалгалтыг дарааллаар гүйцэтгэж, тохирохгүй эхний шалгалт дээр зогсоно уу, учир нь дараагийнх нь өмнөх нь үнэн үед л утга учиртай.
1. Очих газрыг болон эх сурвалжийг бичнэ үү
Бүтэлгүйтэж буй хүсэлт явж буй яг хаягаас эхэл, хостын нэрээс биш, аппликейшны нэрээс биш. Нэрийг нэг удаа шийдэж, хариу бүрийг бичиж, бүтэлгүйтэж буй урсгал бодитоор ашиглаж буйг сонго. Дараа нь мөн урсгалын локал хаягийг бич, учир нь эх сурвалжийн хаяг аль бодлогын дүрэм тохирох, улмаар аль хүснэгтийг үзэхийг өөрчилж болно.
Хэд хэдэн A бичлэгийн аль нэг рүү чиглэсэн хүсэлт бүтэлгүйтэж болох бөгөөд зэргэлдээ хаяг амжилттай болдог, энэ нь тогтворгүй туннель мэт харагдавч бодит байдал дээр хоёр өөр зам юм. Хэрэв очих газар нь хэд хэдэн хариулттай нэр бол ямар нэг зүйлийг өөрчлөхөөс өмнө хариулт бүрийг тусад нь шалга.
2. Цөмөөс аль маршрутыг сонгосныг асуу
Маршрутын хүснэгтийг уншиж хариултыг таамаглах хэрэггүй. Стек асуудаг асуултыг өөрөө ижил эх сурвалжийн хаягтай асуу: Linux дээр ip route get 10.20.4.10 from 10.8.0.2 эсвэл PowerShell дээр Find-NetRoute -RemoteIPAddress 10.20.4.10. Гаралт нь бодитоор ашиглагдах маршрутыг нэрлэдэг бөгөөд энэ нь хүснэгтийг уншихдаа хүлээсэнээс ихэнхдээ өөр байдаг.
Тохирох маршрутуудын дунд ихэвчлэн илүү тодорхой префикс ялдаг: хоёуланд нь байгаа хаягийн хувьд /24 нь /16-г дийлнэ. Ижил урттай тохирлуудын дунд бага метрик ялж, унтарсан холбоос дээр суулгасан маршрут алгасагдана. Нэг /24-ийг нэг метрикээр түлхэж буй хоёр туннель бол өөр тохиолдол: цөм хоёр маршрутыг хоёуланг нь хадгалж, тэдгээрийн дундаас сонгодог тул үр дүн клиентүүд холбогдсон дарааллыг дагахгүйгээр ээлжлэн өөрчлөгдөж болно. Даваа-гарагт-ажилладаг-мягмар-гарагт-бүтэлгүйтдэг хэв маягийг яг энэ нөхцөл үүсгэдэг бөгөөд өөр дарааллаар дахин холбогдох нь үүнийг өөрчлөхгүй.
3. Бодлогын дүрэм хайлтыг өөр тийш чиглүүлсэн эсэхийг шалга
Маршрутын хүснэгтийг үзэхээс өмнө цөм өөрийн бодлогын дүрмүүдийг дамждаг. Дүрэм нь тодорхой эх сурвалж, хэрэглэгч эсвэл галт ханын тэмдэглэгээнээс ирсэн траффикийг огт өөр хүснэгт рүү илгээж болох тул үндсэн хүснэгтийн ялсан префикс тэр урсгалд хэзээ ч үзэгдэхгүй байж болно. ip rule show тэдгээрийг үнэлгээний дарааллаар жагсааж, ip route show table 100 сонгосон хүснэгтэд бодитоор юу байгааг харуулна.
Энд хоёр урхи байна. Хоосон хүснэгт рүү заасан дүрэм дараагийн дүрэм рүү унадаг хайлт үүсгэдэг тул дүрэм юу ч хийдэггүй мэт харагдана. Нөгөө нь эрхийн дугаар өөрөө: дүрмүүд өсөх дарааллаар уншигдах ба суулгасан утгууд нь 0 local, 32766 main, 32767 default юм. 32767-оос бага дугаартай дүрэм бүгдийг баригч анхдагч дүрмээс өмнө үзэгдэнэ. 32767-оос их дугаартай дүрэм түүний ард байрлаж, өмнөх ямар ч хүснэгт хариу өгөхгүй үед л хүрдэг бөгөөд main дахь энгийн анхдагч маршрут үүнийг саатуулдаг тул практикт хэзээ ч хүрдэггүй бөгөөд суулгасан мэт харагдахын зэрэгцээ чимээгүй юу ч хийдэггүй. Хэрэв клиент дүрэм болон маршрут бичсэн бол хоёуланг нь шалгаж, дахин холбогдсоны дараа дахин шалга, учир нь дахин бичсэн профайл өөр эрхтэй хоёр дахь дүрэм нэмж болно.
4. Маршрутын тэнцлийг давхардсан хаягийн төлөвлөгөөнөөс ялга
Заримдаа префикс огт асуудал биш. Хоёр газар хоёулаа 192.168.1.0/24 ашиглаж байгаа нь нэг хаяг хоёр өөр хосттыг илэрхийлж байгаа бөгөөд ямар ч маршрут тэднийг ялгаж чадахгүй. Хоёр хариултын аль нэг рүү чиглэсэн хостын маршрут нь нөгөө газар мөн нэрэнд хариу өгөх хүртэл л ажиллаж, дараа нь үл хамаарах зүйл чимээгүйхэн алдаа болдог.
Шинж нь очих хаяг хоёр замд ижил бөгөөд зөвхөн зориулсан эзэн нь өөр байх явдал юм. Энэ нь хаягийн төлөвлөгөөний шийдвэр, маршрутжуулалтын тохируулга биш: нэг талыг дахин дугаарла, нэг талыг орчуулдаг гарцны ард тавь, эсвэл өөрийн нэрсийг шийддэг проксигоор дамжин хоёр дахь газарт хүр. Анхдагч маршрутыг буулгах эсвэл хостын үл хамаарах зүйлсийг овоолох нь мөргөлдөөнийг зөвхөн өөр газар зөөнө.
5. Шийдэгч маршруттай санал нийлж байгааг батал
Буруу хувийн хаяг руу шийдэгдэж буй нэр нь маршрутжуулалтын зөрчилдөөний бүх шинж тэмдгийг үүсгэдэг боловч түүний нэг ч шалтгааныг үүсгэдэггүй. Хост хүлээн авсан хариуг очих газар бодитоор ашиглаж буй хаягтай харьцуулж, аль шийдэгч хариу өгснийг шалга. Хэрэв туннель шийдэгч түлхэж байвал клиент түүнийг туннель ашигладаг урсгалуудад суулгах ёстой; үгүй бол хост локал шийдэгчээс асуусан хэвээр байх бөгөөд тэр нь хайлтын домэйн эсвэл кэшлэсэн бичлэгээс хариу өгч болно.
Шийдэгчээс шууд асууж, хариу өгсөн серверийг бич. Богино TTL-тэй кэшлэсэн хариулт нь дахин холбогдсоны дараах эхний хүсэлт тав дахь хүсэлтээс яагаад өөр ажиллахыг ч тайлбарлаж болно.
6. Дахин холбогдож, хэрэглэсэн төлөвийг үзээд, дараа нь хоёр урсгалыг шалга
Засварын дараа дахин холбогдож, профайл редакторт итгэхийн оронд клиент бодитоор юу суулгасныг үз. Дүрмүүд, хүснэгтүүд болон түүнээс гарах ip route get хариуг дахин унш. Хоёр дахь клиент холбогдохдоо өөрийн маршрутыг дахин суулгаж, зөрчилдөөнийг дахин үүсгэж болох тул төлөвийн шалгалт сүүлийн клиент холбогдсоны дараа хийгдэх ёстой, өмнө нь биш.
Нэг биш, хоёр урсгалыг шалга: өмнө нь бүтэлгүйтдэг байсан хүсэлт болон нөгөө туннелийг ашиглах ёстой нөөц. Бүх хувийн траффикийг нэг холболт руу шилжүүлбэл эхний туршилт давж, хоёр дахь нь эвдэрнэ, үүнийг зөвхөн хосолсон туршилт л барьж чадна. Үлдээж буй үл хамаарах зүйл бүрийг очих газар болон шалтгааны хамт бич, ингэснээр дараагийн хүн санаатай хостын маршрутыг үлдэгдлээс ялгаж чадна.