Зашто GRE и ESP не раде кроз AWS NAT gateway
Управљани NAT gateway прослеђује само TCP, UDP и ICMP. Погледајте зашто правило дозволе не може да пренесе GRE или изворни ESP и шта уместо тога променити.
Тунел не ради, сигурносна група већ дозвољава сав саобраћај, а закључак је да AWS блокира VPN. Она не блокира ништа. Управљани NAT gateway прослеђује документован скуп спољних протокола, а изворни GRE или изворни ESP нису у њему, па ниједно правило које додате неће натерати gateway да их преноси. Правило дозволе и способност транспорта две су различите ствари, а само једну од њих можете мењати.
Скуп правила није скуп протокола
Сигурносна група одлучује ком саобраћају је дозвољено да напусти инстанцу. NAT gateway одлучује шта може да преведе и проследи. Када се примени друго ограничење, дозвољавајуће правило производи тачно симптом који људи погрешно читају као проблем заштитног зида: пакети напуштају инстанцу, размена контроле може чак и да се заврши, а до друге стране ништа не стиже.
AWS спецификација протокола NAT gateway-а наводи TCP, UDP и ICMP за управљани сервис. То је цео подржани скуп. Правило дозволе за други IP протокол не може га проширити, јер се правило оцењује много пре него што се достигне пут прослеђивања gateway-а.
Та разлика је важна јер две грешке изгледају идентично са стране клијента и имају потпуно различите поправке.
PPTP показује зашто тест порта лаже
PPTP је најјаснији стари пример провере порта која ништа не доказује. Отвара TCP контролну везу на порту 1723 и затим преноси податке тунела преко GRE-а, који је IP протокол 47. Протокол 47 није TCP порт 47 и та два броја немају никакве везе осим што деле цифре.
Оператер који тестира повезаност на 1723 и види завршено руковање закључује да пут ради. Затим податочни канал никада не пропусти ниједан пакет, јер gateway нема GRE подршку коју би понудио. То је тумачење захтева старог протокола, а не савет да уводе PPTP, који је годинама застарео.
Исто размишљање важи за сваки протокол чији је контролни канал TCP или UDP, док његов податочни пут није.
IPsec преживљава само као UDP
IPsec је случај у којем је одговор услован, а не равно не. AWS документује NAT traversal као подржани аранжман за IPsec кроз NAT gateway. Уз договорен NAT-T, ESP се инкапсулира у UDP и gateway види обичан UDP уместо протокола 50.
Дозвољавање UDP 4500 не тера крајње тачке да користе NAT traversal. Оно дозвољава пакете само ако су већ тако обликовани. Потврдите из клијентовог сопственог излаза преговарања која је инкапсулација изабрана и потврдите на страни пријема да ју је друга страна прихватила. Две крајње тачке конфигурисане за изворни ESP наставиће да шаљу изворни ESP, без обзира на то шта скуп правила каже.
VPN заснован на TCP-у или UDP-у уклапа се у документовани скуп транспорта и ипак може да закаже због рутирања, филтрирања или аутентификације. Уклапање у скуп је неопходно, али не и довољно.
Проверите пут пре него што проширите политику
Проверите стварну руту подмреже радног оптерећења и идентитет њеног следећег скока прво. Директан јавни пут, NAT инстанца, управљани NAT gateway и приватни пут кроз транзитни gateway четири су различита дизајна, а само један од њих је овде описани управљани сервис.
Затим забележите покушани крајњи чвор, фамилију адреса, спољни протокол и порт где протокол има порт. Користите дијагностику клијента и запажања тока власника мреже уместо успешног захтева прегледача, који доказује само да TCP и UDP раде. Након тога прегледајте сигурносну групу, ACL подмреже, заштитни зид госта и политику сервиса за оба смера тока.
Не отварајте сав саобраћај да бисте надокнадили транспорт који сервис не може да пренесе. Промена правила то неће поправити и надживеће инцидент.
Када транспорт не одговара
Ако је спољни протокол ван подржаног скупа, поправка је архитектонска: изаберите транспорт који пут може да пренесе или преместите излаз на нешто што преноси онај који вам је потребан. OpenVPN преко UDP-а, WireGuard преко UDP-а и тунели засновани на TLS-у сви се уклапају у документовани скуп. NAT инстанца којом управља клијент опција је када одређени протокол мора да прође и када је оперативни трошак њеног одржавања прихватљив.
Хостовање долазног VPN сервера одвојен је проблем са одвојеним одговором. NAT gateway пружа одлазни превод и нема опште прослеђивање долазних портова, па сервер иза њега треба свој одобрени јавни улаз дизајниран под сопственим условима.
Редослед рада: именујте спољни протокол, потврдите следећи скок, упоредите га са документованим скупом, затим промените архитектуру или транспорт. Другачији број порта не може да претвори GRE у TCP, а још једно дозвољавајуће правило не може да завршену размену контроле претвори у радни податочни канал.