У інстанса ёсць прыватны адрас, 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 вяртае трафік у тунель, група бяспекі дазваляе крыніцу кліента, а ўласны фаервол кліента дазваляе адказ. Затым праверце адзін рэальны запыт, а не ping.

Для публічнага доступу пераканайцеся ў інтэрнэт-выхадзе кліента, маршрутызацыі публічнага ўваходу і яго палітыцы бяспекі. Ці можа кліент VPN дасягнуць публічнага канчатковага пункта праз тунель, залежыць ад правілаў выхаду і фаервола тунеля, а не ад сувязі Elastic IP.

Калі публічнае імя хоста павінна працаваць з абодвух бакоў, выкарыстоўвайце канструкцыю DNS, якая адказвае прыватным адрасам для кліентаў VPN і публічным адрасам для ўсіх астатніх, і трымайце сертыфікат сапраўдным для імені, а не для адрасу. Парадак працы: назвіце мэту, выберыце адрас, які ёй належыць, затым праверце маршруты, палітыку і адзін запыт.

Падобныя артыкулы