VPN рутирање засновано на доменима наспрам IP рута: шта одговара?
Име хоста у кутији за подељени тунел није рута. Упоредите правила домена и експлицитне префиксе по освежавању, обухвату поддомена и ономе што се дешава када се DNS промени.
IP рута се поклапа са префиксом адресе, а кернел је примењује без додатних питања. VPN правило засновано на домену поклапа се са именом, што значи да нешто у стеку мора да одлучи које адресе то име тренутно означава и да ту одлуку одржава ажурном. То су различити механизми са различитим начинима отказа, а добављачи користе исту реч за оба. Упоређивање на листама функција промашује поенту; упоредите их по томе шта се дешава када се одговор промени.
Корисна подела је између правила које разрешава и правила које не разрешава.
Са чиме се свако правило заправо поклапа
Правило префикса поклапа се са одредишним адресама у табели рутирања. Ништа се не разрешава, ништа не истиче, а поклапање је тачно за сваки пакет. Правило домена поклапа се са захтевом апликације за именом, које RFC 1034 дефинише као стабло ознака, а не као адресу. Неки производи разреше име једном и инсталирају добијене адресе као руте, што правило чини IP правилом са придодатим тајмером за освежавање.
Знајте које од то двоје имате пре него што почнете да отклањате грешке, јер квар изгледа потпуно другачије у сваком случају.
Где правило домена живи у стеку
Ако производ имплементира правила домена кроз локални прокси, саобраћај мора да стигне до тог проксија, а апликације које игноришу системски прокси у потпуности заобилазе правило. Ако их имплементира разрешавањем имена и додавањем рута, адресе су свеже само до последњег освежавања. Ако се каче на резолвер, понашање DNS-а постаје део политике рутирања, а резервни резолвер то може тихо да поништи.
Читајте модел добављача, а не ознаку у подешавањима. Два клијента са кутијом под називом Split Tunnel могу да раде три различите ствари.
Упоредите шта се квари
Три ствари се кваре на различите начине. Промена адреса: име хоста CDN-а може да се разреши у другачији скуп адреса у року од неколико минута, па копирана листа брзо стари. Обухват поддомена: правило за example.com може или не мора да покрива api.example.com, а документација је обично јасна о томе који је случај. Неуспех разрешавања: када резолвер закаже, клијент који разрешава може да се врати на тунелирање саобраћаја или на његово директно слање.
Само је друго питање конфигурације. Друга два су питања дизајна о томе колико је производ спреман да нагађа.
| Behaviour | Prefix rule | Domain rule |
|---|---|---|
| Match basis | destination address | requested name or resolved addresses |
| Staleness | none | depends on refresh policy |
| Subdomain scope | not applicable | product-defined |
| Resolver outage | unaffected | product-defined fallback |
| Where to debug | routing table | client log plus resolver state |
Када је префикс бољи одговор
За стабилну приватну подмрежу експлицитни префикс је јаснији, бржи и лакши за ревизију. Такође преживљава испад резолвера, јер ништа не треба да се разрешава. Посегните за правилом домена када је услуга хостована, када се адресе ротирају или када заиста не можете да набројите скуп одредишта. Не посежите за њим само зато што је име хоста оно што случајно знате.
Нагађана статична листа је најгоре од оба: изгледа одржавано и тихо промашује саобраћај оног дана када провајдер дода хост.
Проверите свежим захтевом
Тестирајте хладним захтевом након нормалног поновног повезивања, јер кеширана страница можда никада неће додирнути правило. Разрешите име, затим проверите куда је веза заиста отишла. dig +short app.example.com даје тренутни скуп адреса, а листа веза клијента говори вам који је интерфејс носио ток.
Поновите након интервала освежавања који производ документује. Ако се скуп адреса помери, а правило га не прати, пронашли сте стварно понашање.
Држите и политику резолвера одвојено. Правило домена треба тачне податке о именима, али само по себи не одлучује који резолвер одговара на упит.