EC2 Elastic IP не е приватната VPN адреса на инстанцата
Гостинот никогаш не ја гледа Elastic IP. Следете каде се случува преводот, потоа изберете ја адресата што му припаѓа на патот што навистина ви треба.
Инстанцата има приватна адреса, Elastic IP е поврзана со неа, и маршрутата за тој јавен /32 се додава во VPN со надеж дека двете ќе станат исто. Не стануваат. Elastic IP е превод што се изведува надвор од гостинот, од интернет портата, врз сообраќајот што оди по интернет патот. Оперативниот систем на гостинот никогаш не ја гледа таа адреса конфигурирана на интерфејс. Нејзиното додавање на тунелски интерфејс не го репродуцира преводот погоре и создава втор, противречен идентитет за истиот компјутер.
Две адреси, една инстанца
Мрежниот интерфејс на инстанцата држи приватна адреса во VPC, и тоа е адресата што гостинот ја знае. Elastic IP е поврзана со истиот интерфејс, но живее на јавната страна од мапирањето.
Сѐ што стигнува до инстанцата преку интернет пристигнува преведено на приватната адреса. Сѐ што инстанцата го испраќа на интернет излегува со Elastic IP како извор, повторно поради тој превод.
Внатре во гостинот постои една адреса. Надвор постојат две. Таа асиметрија го објаснува најголемиот дел од конфузијата во оваа област. Гостинот не може да конфигурира што преведува портата. Може да одговори само на адресата што навистина ја има.
Што всушност прави интернет портата
Документацијата на AWS за интернет портата го опишува распоредот: инстанцата е свесна за својата приватна IPv4 адреса, а портата го обезбедува соодветниот превод на јавна IPv4 или Elastic IP за сообраќајот по интернет патот.
Тоа е превод на мрежни адреси, не псевдоним. Мапирањето го одржува портата, врзано е за асоцијацијата и важи само за пакетите што поминуваат низ неа. Отстранете ја асоцијацијата и јавниот идентитет исчезнува без гостинот да забележи нешто.
Затоа приватен VPN пакет адресиран на јавниот /32 не се претолкува како приватен пакет до локалната адреса на гостинот. Пакетот ја следи маршрутата што одговара, која го испраќа до интернет портата, а однесувањето на портата зависи од тоа дали патот е дозволен во двете насоки.
Зошто трикот со тунелски интерфејс не успева
Доделувањето на Elastic IP на тунелски интерфејс бара од гостинот јавната адреса да ја третира како локална. Сега две работи полагаат право на истата адреса: преводот на портата на интернет патот и локалниот интерфејс внатре во тунелот. Повратниот сообраќај нема конзистентен одговор која од нив се применува.
Дури и кога изгледа дека работи, дизајнот го скрил вистинското прашање. Клиентите или ја достигнуваат приватната адреса низ тунелот, или го достигнуваат јавниот крај низ интернет, а двата пата имаат различни безбедносни групи, различно логирање и различни начини на откажување.
Адресата никогаш не била проблемот. Изборот на пат бил.
Три цели, три дизајни
Ако целта е јавен VPN крај, Elastic IP е вистинската алатка: оддалечените партнери се поврзуваат со него преку интернет и шифрираниот пренос завршува на инстанцата. Внатрешниот сообраќај на апликацијата потоа ја користи приватната адреса.
Ако целта е приватен пристап до апликацијата, дестинацијата е приватната адреса или приватно DNS име што се разрешува кон неа, а VPN маршрутата, безбедносната група и повратниот пат мора сите да се согласат. Elastic IP воопшто не се појавува во тој дизајн.
Ако целта е стабилен јавен идентитет на излез за VPN корисниците, тоа е NAT дизајн на излезната страна, не адреса на тунелот на клиентот. Три цели што звучат слично даваат три различни дијаграми, и само една од нив вклучува поставување на Elastic IP на ново место.
Проверете го патот што го избравте
За приватен пристап, потврдете дека VPN маршрутата го покрива приватниот префикс, дека табелата со маршрути на VPC го враќа сообраќајот во тунелот, дека безбедносната група го дозволува изворот на клиентот и дека сопствениот firewall на клиентот го дозволува одговорот. Потоа тестирајте едно вистинско барање наместо ping.
За јавен пристап, потврдете го интернет излезот на клиентот, рутирањето на јавниот влез и неговата безбедносна политика. Дали VPN клиентот може да го достигне јавниот крај низ тунелот зависи од правилата за излез и firewall на тунелот, не од асоцијацијата на Elastic IP.
Ако јавното име на домаќинот треба да работи од двете страни, користете DNS дизајн што одговара со приватната адреса за VPN клиентите и со јавната адреса за сите други, и држете го сертификатот валиден за името, а не за адресата. Ред на работа: именувајте ја целта, изберете ја адресата што ѝ припаѓа, потоа проверете маршрути, политика и едно барање.