Запусціце пінг з IPsec-шлюза на далёкі бок, не атрымайце адказу і зрабіце выснову, што тунель зламаны, хоць кожная працоўная нагрузка за шлюзам перадае трафік нармальна. Гэтыя два вынікі не супярэчаць адзін аднаму. Пінг, запушчаны на шлюзе, — гэта пакет з лакальнай крыніцай, і шлюз выбірае адрас крыніцы са сваёй табліцы маршрутызацыі. Гэты выбар можа адрознівацца ад адрасоў, якія выкарыстоўвае рэальны трафік сайта, а гэта змяняе, якая палітыка супадае і які зваротны маршрут прымяняецца. Вызначыце, што менавіта павінен даказаць тэст, перш чым рабіць высновы з яго выніку.

Тры розныя пытанні, на якія можа адказаць пінг

Першае пытанне — ці дасягальны далёкі бок наогул з гэтага хоста. Другое — ці дапускаюць селектары тунеля або палітыка на аснове маршруту трафік з пэўнай крыніцы. Трэцяе — ці працуе перанакіраваны трафік ад працоўнай нагрузкі за шлюзам ад канца да канца. Адна каманда не можа адказаць на ўсе тры, і менавіта адрас крыніцы аддзяляе іх.

Спачатку выберыце пытанне. Інакш няўдалы пінг стане доказам той тэорыі, якая ў вас ужо была.

Чаму шлюз выбірае адрас, якога вы не чакалі

Калі вы пінгуеце прызначэнне, лакальны стек выбірае крыніцу з маршруту, які яму адпавядае. На тунелі на аснове маршруту гэта можа быць адрас спасылкі інтэрфейса тунеля, які ў многіх праектах сайтаў уяўляе сабой пару 169.254.x.x, выбрана для пераходу пункт-пункт. Гэтыя адрасы існуюць, каб спасылка працавала; яны не аб’яўляюцца як сеткі-крыніцы прыкладанняў на далёкім баку.

Такім чынам, далёкі бок можа атрымаць запыт рэха з адраса, да якога ў яго няма зваротнага маршруту, або такога, якому не адпавядае ніводзін селектар. Тунель можа быць здаровым, а пінг усё роўна можа не прайсці, і гэта менавіта той ілжыванегатыўны вынік, пра які гэты артыкул.

Выбірайце крыніцу свядома

На кантраляваным Linux-шлюзе выберыце крыніцу, якая ўжо прызначана лакальна: ping -c 4 -I 10.30.0.1 10.40.0.20. Адрасы тут прыведзены для прыкладу, таму падстаўце рэальны ўнутраны адрас шлюза і рэальнае далёкае прызначэнне і пераканайцеся, што абраная крыніца належыць гэтаму прыладзе і дапускаецца палітыкай сайта.

Не пазычайце адрас працоўнай нагрузкі для тэсту. Выдаванне сябе за хост, які не прызначаны шлюзу, стварае вынік, які ніхто не зможа ўзнавіць, а на некаторых стэках ён правальваецца так, што выглядае як няспраўнасць тунеля.

Чытайце зваротны шлях, а не толькі запыт

Праверце, якая крыніца фактычна прыходзіць на далёкае прызначэнне, уключаючы любую наўмысную трансляцыю па шляху. Затым праверце зваротны маршрут далёкага боку да гэтай крыніцы і селектары або палітыку, якія яе дапускаюць. Запыт, які прыходзіць з нечаканай крыніцы, — гэта пытанне маршрутызацыі і палітыкі, а не крыптаграфіі.

Тут таксама захоп пакетаў дапамагае больш, чым чарговы пінг: ён паказвае крыніцу, якую ўбачыў далёкі бок, а гэта і ёсць адрас, да якога павінен дайсці яго адказ.

Затым праверце працоўную нагрузку

Вырашальны тэст — гэта пінг ад звычайнага хоста за шлюзам да звычайнага хоста за далёкім шлюзам. Ён задзейнічае ролю шлюза ў перанакіраванні, рэальную крыніцу прыкладання і сапраўдны зваротны шлях, а гэта менавіта той паток, які важны карыстальнікам.

Трымайце вынікі асобна ў нататках: дасягальнасць з шлюза, допуск палітыкі для абранай крыніцы і перанакіраваны трафік. Паспяховы замацаваны пінг — карысны доказ таго, што тунель нешта пераносіць; гэта не доказ таго, што кожны перанакіраваны паток працуе. І аўтаматычна абраная крыніца шлюза, да якой нельга дасягнуць, не з’яўляецца доказам таго, што тунель сайта не працуе.

Не дадавайце агульны маршрут для 169.254.0.0/16 толькі каб атрымаць адзін дыягнастычны адказ. Гэта абменьвае памылковы тэст на пастаяннае рашэнне аб маршрутызацыі, і наступны чалавек атрымае яго ў спадчыну без кантэксту.

Падобныя артыкулы