VPN пролаз захтева IP прослеђивање: шта проверити
Пролаз може да одговара на сопственој адреси док ништа не пролази између интерфејса. Проверите прослеђивање по фамилији, затим повратни пут.
Ваш клијент може да пингује адресу пролаза док сви ресурси иза њега остају недоступни. Овај пар запажања описује хост који разговара са вама и рутер који не рутира, а то су различите улоге на истој машини. Прослеђивање је прекидач између њих.
Две улоге су независне, као и две фамилије адреса.
Одговор на сопствену адресу не доказује ништа
Када је пакет адресиран на сам пролаз, локални стек га троши и не доноси се никаква одлука о прослеђивању. Зато успешан ping на адресу тунела или управљачки интерфејс говори да је демон жив и тунел подигнут, али не говори ништа о саобраћају намењеном мрежи иза кутије. Језгро прегледа своју путању прослеђивања само за пакете који нису адресирани на њега.
Читајте захтев као улогу, а не као подешавање: овај хост мора да преноси пакете између два интерфејса. Преносни рачунар који само треба да достигне удаљену мрежу никада не преузима ту улогу, а крајња тачка од локације до локације је увек преузима. Такво читање захтева објашњава зашто радна клијентска конфигурација закаже када се премести на пролаз.
Иста реченица важи за заштитни зид испред одлуке о прослеђивању, који има сопствену политику о томе шта сме да се проследи.
Проверите сваку фамилију адреса одвојено
Прослеђивање IPv4 је један прекидач, а прослеђивање IPv6 је други са сопственим понашањем по интерфејсу. Укључивање првог не говори ништа о другом, а клијент са двоструким стеком може да достигне половину мреже док остатак остаје мрачан. Зато два клијента различитих фамилија могу да се не сложе око истог пролаза. Питајте коју је фамилију користио клијент који не ради пре него што измените било које подешавање. Потврдите обе пре него што закључите да је дизајн рутирања погрешан.
sysctl net.ipv4.ip_forward
sysctl -a --pattern 'net.ipv6.conf.(all|default).forwarding'
nft list ruleset | head -n 40
На многим дистрибуцијама вредност коју читате у време извршавања поставила је служба или конфигурациона датотека, тако да промена направљена једнократном командом може да нестане при поновном покретању. Пронађите датотеку која поседује подешавање пре него што измените вредност у време извршавања.
Прослеђивање је један од четири захтева
Радни прослеђени ток захтева четири ствари истовремено: клијент мора да зна да је одредиште иза тунела, пролаз мора да има путању напред, одговори морају да имају пут назад, а заштитни зид мора да дозволи саобраћај. Превођење извора припада том дизајну као опција, а не као правило, јер приватна рутирана мрежа са симетричним путањама то не захтева, а асиметрична обично захтева. Сваки од четири заказује независно, зато поправка једног ретко помера симптом. Запишите сва четири пре него што промените било који.
Облачне платформе додају пето разматрање. Неке на инстанцама спроводе провере извора и одредишта, што одбацује прослеђене пакете без обзира на то како је конфигурисано језгро госта. Тамо је ауторитет сопствена мрежна документација платформе, а не излаз sysctl у VM-у.
Тестирајте са клијента, не са пролаза
Тест покренут у сопственој љусци пролаза не пролази ни кроз један део путање прослеђивања коју сте управо омогућили. Генеришите саобраћај са клијента који има проблем и потврдите да достиже нешто иза пролаза, а не сам пролаз. То је једини тест који вежба улогу коју сте променили.
Држите правила слушања и правила прослеђивања одвојено у глави и у запису промена. Отварање VPN порта пушта клијенте у службу; не даје им ништа на мрежи иза ње, и обоје изгледа исто на списку заштитног зида који расте годинама.
Ако пакети стигну, а служба затим одбије корисника, већ сте прешли преко умрежавања. Наставите са ауторизацијом апликације уместо да поново шири политику прослеђивања.