Након повезивања отворите табелу рутирања и нађете једну адресу која се рутира кроз тунел, док подмрежа око ње и даље иде на локални пролаз. Тај запис је рута до хоста: једна адреса, поклопљена префиксом од самих јединица. Важан је јер одлуке о рутирању користе најдужи поклапајући префикс, па /32 може да надјача /24 или подразумевану руту без промене било које од њих. Да ли је то пажљив изузетак или будући прекид, зависи од тога коју адресу именује и ко је одржава.

Једна адреса, један запис у табели

Рута до хоста IPv4 носи префикс /32, а рута до хоста IPv6 носи /128, што значи да се запис може поклопити тачно са једном одредишном адресом. Ништа друго у табели се не помера: подмрежа која је покрива и подразумевана рута остају где су биле. Уски запис побеђује за ту адресу јер је његов префикс дужи, а не јер је додат касније.

То својство чини руту до хоста добрим изузетком и лошом навиком. Два записа /32 која именују улазна врата услуге не покривају њену другу адресу, њену адресу IPv6 ни адресу на коју се сели следећег месеца. Табела пуна необјашњених записа са једном адресом обично значи да је неко стално крпио око одлуке о подмрежи уместо да је донесе. Прво прочитајте дужину префикса, а затим питајте шта запис треба да заштити.

Читајте запис од клијента ка споља

Почните од машине са проблемом, јер се иста адреса може рутирати другачије на преносном рачунару и на пролазу испред њега. Питајте језгро који би пут изабрало за тачну адресу коју користи апликација, уместо да читате табелу одозго. Одговор укључује интерфејс и следећи скок, који заједно чине одлуку.

ip route get 203.0.113.25
ip -6 route get 2001:db8:4::25
ip route show | grep -F 203.0.113.25
Find-NetRoute -RemoteIPAddress 203.0.113.25

Поновите упит за породицу адреса коју апликација заиста бира, јер клијент може да преферира IPv6 и тихо заобиђе изузетак IPv4. Упоредите резултат пре и после подизања тунела и сачувајте оба излаза. То поређење показује да ли је клијент додао запис при повезивању или је он већ био тамо.

Стални запис и запис времена извршавања отказују различито. Запис времена извршавања нестаје са сесијом, док стални преживљава поновно покретање и наставља да шаље саобраћај пролазу који више не постоји.

Изузетак крајње тачке и замка рекурзије

VPN клијенти обично инсталирају руту до хоста на спољну адресу сервера кроз изворни пролаз пре него што преусмере подразумевану руту. Без тог записа шифровани пакети би били послати у тунел који покушавају да изграде, а веза би се вртела у петљи док не истекне време.

Замка се појављује када прихваћене подмреже тунела случајно укључе ту адресу крајње тачке, или када други профил касније дода ширу руту. Тада запис крајње тачке губи од дужег префикса и сесија се руши чим почне да пропушта саобраћај. Записивање адресе крајње тачке поред прихваћених подмрежа најјефтинији је начин да се судар примети пре корисника. То такође објашњава зашто исти профил ради из једне мреже, а из друге не.

Проверите пут који апликација заиста користи

Успешан ping на име хоста слаб је доказ када се апликација повезује на другу адресу или другу породицу. Проверите тачну комбинацију адресе, породице, порта и интерфејса са машине која покреће клијента.

ip route get 203.0.113.25
sudo nft list ruleset | grep -A 4 'chain output'
curl -sS --max-time 8 -o /dev/null -w '%{remote_ip}
' https://app.example.net

Ако је пут погрешан, одлучите да ли је захтев мрежа или једна адреса пре него што било шта уредите. Захтев за једном адресом оправдава руту до хоста са коментаром и власником; услуга са адресама које се ротирају треба рутирање засновано на домену или поштену одлуку о подмрежи.

Уклоните записе који више не одговарају стварном одредишту и забележите оне које задржавате. Необјашњен /32 се три месеца касније не разликује од грешке, а следећа особа ће га избрисати не знајући шта је од њега зависило.

Повезани чланци