Шта политичко усмеравање мења у VPN саобраћају, а шта не
Правила бирају која се табела консултује, па подразумевана рута у главној табели често не објашњава ништа. Читајте приоритете, ознаке и изворе заједно пре него што додате правило.
Политичко усмеравање одговара на друго питање од оног које поставља већина белешки за решавање проблема. Главна табела каже куда иде одредиште; правила политике кажу која се табела уопште консултује, и она то могу одлучити на основу изворне адресе, ознаке пакета, или интерфејса на који је пакет стигао. Када се тунел понаша недоследно, скуп правила је често разлог, а табела рутирања често није.
Правила бирају табелу, затим табела бира руту
Свако правило носи приоритет, услов подударања и циљну табелу. Језгро пролази кроз правила по реду приоритета и зауставља се на првом подударању, а затим обавља обичну претрагу најдужег префикса у тој табели. Правило које показује на празну табелу пропада на оно што изабере следеће правило, и тако пажљиво написано правило може изгледати као да не ради ништа.
Зато испис главне табеле ретко објашњава VPN клијент који ради. Клијенти обично убацују правила на ниским бројевима приоритета, много пре подразумеваног правила главне табеле, па пакет никада не стиже до руте у коју сте зурили. Снижавање метрике у главној табели не мења ништа за саобраћај који је већ преусмерен.
Правило такође може намерно претворити префикс у црну рупу или га учинити недоступним. Неки клијенти додају такво правило као прекидач за безбедност, и тада одбацивање изгледа као покварен тунел, а не као конфигурисан.
Читајте скуп правила као низ, не као списак
Испишите правила с њиховим приоритетима и табелама на које упућују, затим испишите сваку табелу која носи подразумевану или тунелску руту. Редослед је део који је важан, и то је део који снимак екрана обично изоставља:
ip rule show ip route show table all | sed -n '1,60p' ip route get 198.51.100.20 from 10.8.0.2 ip route get 198.51.100.20 from 10.8.0.2 mark 0x1
Последње две команде су оне које теорију претварају у запажање, јер питају шта би језгро урадило за тај извор и ту ознаку. Ако се одговор мења када се ознака мења, на делу је правило засновано на ознаци и сваки тест који изостави ознаку тестира други пакет. Спољна веза заслужује сопствено правило. Тунел који усмерава сав саобраћај кроз себе мора да искључи адресу крајње тачке на коју се повезује, иначе се шифровани пакети враћају у тунел који су управо напустили. Већина клијената то искључење убацује аутоматски, а ручно уређен скуп правила је место где оно недостаје.
Ознаке и сокети: два начина на која клијенти деле саобраћај
Неки клијенти означавају пакете у заштитном зиду и додају правило које одговара ознаци. Други користе рутирање на нивоу сокета, постављајући руту на сокет пре него што се повеже. Прво је видљиво у ip rule; друго није, и неће се појавити у општој претрази.
Ако се тест програм понаша другачије од апликације коју треба да представља, проверите да ли апликација поставља ознаку или се везује за уређај. Та разлика није мистерија када се механизам именује, и објашњава зашто curl из љуске и језичак прегледача могу ићи различитим путевима на истом рачунару. Обе технике су политичко усмеравање у ширем смислу: бирају пут помоћу нечега што није одредиште. Ниједна од њих не ауторизује саобраћај, и ниједна не замењује правила заштитног зида или акредитиве које партнер очекује.
Пратите власништво пре него што додате још једно правило
Правила инсталира нешто. VPN клијент, мрежни менаџер и ручно написана скрипта могу сваки да додају правила при покретању, а логика поновног повезивања може да остави претходни скуп. Два застарела правила из ранијег профила наставиће да усмеравају саобраћај дуго након што је профил избрисан.
Пронађите који процес поседује правило по његовом приоритету и облику, и проверите да ли тај власник преписује скуп при свакој вези. Ако преписује, ручно правило додато данас нестаје сутра, а поправка припада конфигурацији клијента, а не датотеци историје љуске. Брисање целог скупа правила ради теста примамљив је пречица с предвидивом ценом: уклања и правила која клијент треба да би његов сопствени тунел радио. Бришите једно правило по једно, или тестирајте на рачунару који можете поново да покренете.
Докажите обим с два тока, не с једним
Исправка се проверава само током који треба бити погођен и током који не треба. Изаберите одредиште које политика усмерава у тунел, и оно које мора остати изван, затим упоредите претраге и снимке за оба:
ip route get 198.51.100.20 from 192.0.2.44 ip route get 198.51.100.21 from 192.0.2.44 tcpdump -ni any host 198.51.100.21 and port 443
Када две претраге врате различите интерфејсе, правило нешто ради. Када врате исти интерфејс, правило се подудара шире него што је намеравано, и то је квар који тихо шаље целу подмрежу кроз тунел намењен једној апликацији.
Забележите приоритете правила и услугу која их поседује у тикету, заједно са две тест адресе. Следећа особа тада има пар који се може репродуковати уместо описа симптома, и може у минуту да каже да ли је политичко усмеравање још на делу.