База даных, якая працуе да падключэння VPN і падае пасля, рэдка бывае праблемай уліковых даных. Воблачныя міжсеткавыя экраны супастаўляюць адрасы крыніцы, а поўны тунэль замяняе той, з якім яны супастаўлялі. Розніца паміж тым, што, на вашу думку, адпраўляе ваш ноўтбук, і тым, што атрымлівае сервер, — гэта ўся памылка, і яе можна вымераць адным крокам.

Якім становіцца адрас крыніцы

У поўным тунэлі кожны пакет выходзіць праз шлюз VPN, таму сервер бачыць знешні адрас шлюза, а не вашае хатняе злучэнне. Калі на шляху стаіць прамы праксі, да сервера прыходзіць менавіта яго адрас. Абодва — законныя крыніцы, і ні адзін з іх не з’яўляецца адрасам у вашым першапачатковым правіле.

Правілы міжсеткавага экрана Azure SQL на ўзроўні сервера і на ўзроўні базы даных супастаўляюць адрас кліента, які дасягае лагічнага сервера, а пасля поўнага тунэлю гэта знешні адрас. Група бяспекі AWS, якая дазваляе адзін адрас, паводзіць сябе гэтак жа. Пакет адкідаецца да аўтэнтыфікацыі, таму памылка, якую вы атрымліваеце, выглядае як збой сеткі, а не як праблема правоў. Менавіта таму людзі пачынаюць скідваць паролі.

Дзе вызначаецца спіс дазволаў

Чытайце правіла, якое адпавядае шляху, што падае, а не тое, якое вы памятаеце як створанае. Звярніце ўвагу на яго абсяг, порт, пратакол і на тое, ці ацэньваецца яно да любой праверкі асобы.

Затым вырашыце, які ўзровень законна валодае гэтым рашэннем. Правіла адраса адказвае, адкуль прыходзіць трафік. Прыватная канчатковая кропка адказвае, ці дасягальная паслуга ўвогуле праз прыватны шлях. Выключэнне для падзеленага тунэлю адказвае, якія пункты прызначэння абыходзяць тунэль. Яны не ўзаемазаменныя, і кожнае падае па-рознаму, калі тунэль змяняецца.

Тры рамонты, тры ўзроўні

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

RepairLayer it changesWhat it does not fix
Add the egress address to the ruleSource address matchingNothing about routing, and it breaks when the egress moves
Use a private endpointWhether the service is reached privatelyA client that still resolves the public name
Add a split-tunnel exceptionWhich flows bypass the tunnelAn expired credential or a wrong password

Даданне знешняга адраса — найменшая змена і найбольш крохкая, бо новы шлюз або іншы рэгіён ціха робіць яго несапраўдным. Дакументуйце адрас побач з вызначэннем тунэлю, каб яны рухаліся разам. Часовы шырокі дыяпазон — гэта дыягностыка, а не рамонт; пакінуць яго на месцы — гэта шлях да таго, каб унутраныя паслугі аказаліся адкрытымі.

Чаму кіраваная платформа не можа далучыцца да тунэлю

Платформы прыкладанняў, такія як Heroku, AppHarbor ці CloudBees, запускаюць ваш код у асяроддзі без прылады tun або tap і без правоў стварыць яе. Іх мадэль уваходу — HTTP, а не адвольны сокет, што слухае. Зборачны пакет, які пастаўляецца з бінарнікам VPN, усё роўна не мае куды падзяць інтэрфейс. Працаздольныя ўзоры — статычны знешні адрас, які база даных можа дазволіць, прадукт прыватнага злучэння ад платформы або праксі ў DMZ, дасяжны праз HTTPS.

Гэтае праксі — шлях доступу з уласнай аўтэнтыфікацыяй і журналаваннем. Яно не робіць платформу ўдзельнікам вашага VPN, і такое апісанне стварае правілы, якія ніхто не можа праверыць.

Праверце з боку кліента, які пацярпеў няўдачу

Перападключыцеся і паўтарыце дакладны шлях кліента. Праверце адрас крыніцы, які запісвае паслуга, маршрут, які кліент выбірае для імені базы даных, і вынік фактычнага запыту — менавіта ў такім парадку. Тэст са шлюза даказвае, што шлюз працуе, а гэта ніколі не выклікала сумневаў. Калі злучэнне цяпер аўтэнтыфікуецца, а запыт усё яшчэ падае, пакінутая праблема — гэта дазвол у базе даных.

Пераглядайце гэтыя правілы кожны раз, калі тунэль змяняецца. Заменены шлюз або новы дыяпазон знешніх адрасоў ламае шлях без якіх-небудзь змен у канфігурацыі прыкладання.

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