Могу ли DHCP руте послати ваш саобраћај око VPN тунела?
Шифровање штити пакете тек када уђу у тунел. Избор руте одлучује који ће ући. Проверите DHCP руте, правила и пут којим иду апликације.
Шифровање почиње на граници, а та граница је одлука о усмеравању коју крајња тачка доноси пре него што се било који пакет инкапсулира. Мрежа која никада не види ваше кључеве ипак може вашем рачунару дати руту која јој се више свиђа од оне коју има тунел. Овде се мешају две грешке: читање пакета који је већ у тунелу и усмеравање пакета који тамо никада није стављен.
Разлика је важна јер је другу грешку јефтиније уредити и много лакше пропустити. Испољава се као захтев који је изашао кроз погрешан интерфејс док је клијент још извештавао о здравом споју.
Два начина на која мрежа може утицати на вас
Пакет који стигне до тунела има садржај скривен од сваког скока који пређе, и та заштита важи чак и кад вас пут изненади. Пакет који никада не стигне до тунела обичан је захтев са ваше адресе, послат онамо камо је показивала табела усмеравања. Прва грешка тражи сломљену шифру или компромитованог партнера, док друга тражи само конфигурацијску поруку којој је ваш рачунар одлучио да верује. Због те асиметрије половина која се бави усмеравањем заслужује засебан преглед.
Опрема на путу не треба ваше кључеве да би утицала на други случај. Треба јој само да ваша крајња тачка прихвати руту, резолвер или правило политике које такву производи.
expected: app -> tunnel device -> encapsulation -> internet
observed: app -> wlan0 -> plaintext -> internet
Одакле рута може доћи пре него што тунел постоји
DHCP дели више од најма адресе. Опција бескласних статичких рута може носити префиксе одредишта и следеће скокове, а RFC 3442 расправља о безбедносним последицама погрешне адресе усмеравача: саобраћај послат на погрешну страну, ускраћивање услуге или посматрач смештен на путу. Клијент који прихвати те руте пре него што тунел буде активан може завршити са пожељним путем који нема никакве везе с вашим пружаоцем услуге.
Ништа од тога не чини убацивање рута универзалним. Клијент мора прихватити опцију, префикс мора покривати саобраћај до којег вам је стало, изабрани следећи скок мора бити доступан, а политика спровођења мора допустити пакету да изађе тим путем. Уклоните било који од тих услова и исти одговор је безопасан. Зато се два рачунара на истој мрежи могу понашати различито, јер не покрећу исти клијент, исту политику или чак исту фамилију адреса.
IPv6 заслужује засебан пролаз, јер најаве усмеравача носе подразумевану руту кроз други код од опције DHCPv4. Тест који прегледа само v4 табелу то није покрио.
Проверите пут који језгро стварно одабира
На упите о рути може се добити одговор, па питајте њих уместо да закључујете из светла статуса. Наредбе испод показују изабрану руту и извор за једно одредиште, плус правила која могу надјачати главну табелу. Покрените их док сте повезани и поново након поновног повезивања, јер обнова најма може променити одговор.
ip route get 203.0.113.10
ip route show table all | grep -E '^(default|203\.0\.113)'
ip rule show
resolvectl query example.com
Читајте излаз због две ствари: интерфејса наведеног у рути и изабране изворне адресе. Рута тунела наводи тунелски уређај, процурела рута наводи физички, а разлика је видљива без икаквог дешифровања. Ако се одговор мења између покретања, сачувајте оба излаза и упоредите правила која су их произвела.
Не заустављајте се на подразумеваној рути. Изузетак за апликацију, префикс подељеног тунела или друго правило политике могу провести одређено одредиште око тунела док подразумевана још показује унутра.
Одлучите где треба да живи спровођење
Три услова одлучују да ли је спровођење на страни клијента довољно или вам треба нешто изван њега. Ако клијент инсталира и брани руте за сваку фамилију адреса коју користите, тунел који поседује подразумевану руту обично је довољан. Ако рачунар мора достићи локалне ресурсе док све остало остаје у тунелу, те изузетке треба пописати и преузети одговорност за њих, а не препустити ономе што је приступна мрежа најавила. И ако платформа може везати саобраћај за интерфејс по апликацији, та веза је јаче јемство од руте коју било шта може надјачати.
Шта год одабрали, запишите одлуку тамо где живи конфигурација. Правило које постоји зато што га је неко утипкао током инцидента неће преживети следеће поновно покретање, па држите локалне и почетне изузетке уским и забележите зашто сваки постоји.
Поново покрените наредбе за проверу након сваког ажурирања клијента и сваке промене мреже, и упоредите са последњим забележеним излазом. Табела усмеравања је граница спровођења, па се према њој тако и односите.