IKEv2 користи UDP 500 и 4500: који од њих носи податке?
Прва размена и путања која носи податке нису исти ток. Проверите оба порта и запамтите да је изворни ESP број протокола, а не порт.
Отварање UDP 500 на заштитном зиду омогућава тунелу да преговара, а затим веза престаје да пропушта саобраћај. Листа портова је била непотпуна, а не погрешна. IKEv2 почиње на једном сокету и у многим стварним имплементацијама наставља на другом, док корисни терет можда уопште није порт. Читање фаза по реду објашњава које правило недостаје.
Два порта, два посла
IKEv2 почиње разменом кључева на UDP 500, где се стране аутентификују и успостављају безбедносну асоцијацију за тунел. Путања података која следи је одвојено питање: то може бити изворни ESP, који је број IP протокола, а не порт, или саобраћај инкапсулиран у UDP на 4500. Раздвајање тога у прегледу заштитног зида је разлика између тунела који преговара и тунела који ради. Један сокет носи контролу, а други корисни терет.
Зато правило које дозвољава само 500 даје најзбуњујући симптом у целој породици протокола: преговарање успе и ништа корисно не следи. Стање показује партнера, записник показује успостављену IKE SA, а апликација и даље истиче. Правило које недостаје припада другом току од оног који је управо успео.
Зашто 4500 уопште постоји
Многи NAT уређаји не могу да прослеђују протокол осим TCP или UDP, а неки преписују адресе на начин који квари ESP проверу интегритета. Инкапсулација ESP-а у UDP решава оба проблема, по цени додатног заглавља и другог порта који треба дозволити. Та инкапсулација је разлог зашто други порт уопште постоји.
Када се NAT открије, сам IKE се такође премешта на 4500 како би сав саобраћај делио једну путању кроз преводиоца. Маркер од четири бајта који није ESP разликује контролне поруке од података на том сокету. Пребацивање је одлука протокола, а не преференција администратора.
Где се мења изворни порт
Преводилац може да препише изворни порт клијента, па се торка коју види сервер не поклапа с торком на клијенту. Погледајте обе стране сваког NAT скока пре него што закључите да се правило игнорише. Решавање проблема само на клијенту може дати правило које изгледа исправно и ипак не успева.
Имплементације с подршком за MOBIKE такође могу прећи на 4500 без откривеног NAT-а, а неке имплементације намерно форсирају ту путању. Зато је виђење 4500 доказ одлуке, а не доказ кућног рутера.
Проверите оба тока на свакој граници
Прођите кроз три границе: мрежу клијента, било који посредни заштитни зид и сервер. Свакој су потребни токови које имплементација документује, а не токови из текста о другом случају.
sudo swanctl --list-sas
sudo tcpdump -ni any 'udp port 500 or udp port 4500'
sudo iptables -S | grep -E '500|4500|esp'
ip xfrm state
Линија ESP на листи заштитног зида је подударање протокола, па је правило порта никада не покрива. Ако оператер користи прилагођени порт, следите документовану конфигурацију на оба краја, јер клијент не може створити слушаоца на серверу бирајући познати број.
Забележите где су преговори стали и да ли је подређена безбедносна асоцијација инсталирана, јер тај пар раздваја блокирану путању од грешке аутентификације или политике. Затим поновите тест с укљученом провером сервера, јер доступност није аутентификација. Тај последњи корак раздваја дозвољени порт од поузданог партнера.