Kokį adresą mato debesies ugniasienė, kai jūsų VPN įjungtas
Visas tunelis pakeičia šaltinio adresą, kurį mato jūsų duomenų bazė. Perkelkite leidžiamų sąrašą, privatų kelią arba padalytą tunelį, o ne prisijungimo duomenis.
Duomenų bazė, kuri veikia prieš prisijungiant VPN ir sugenda po to, retai būna prisijungimo duomenų problema. Debesies ugniasienės lygina šaltinio adresus, o visas tunelis pakeičia būtent tą, kurį jos lygino. Skirtumas tarp to, ką, jūsų manymu, siunčia nešiojamasis kompiuteris, ir to, ką gauna serveris, yra visa klaida, ir jį galima išmatuoti vienu žingsniu.
Kuo tampa šaltinio adresas
Visame tunelyje kiekvienas paketas išeina per VPN tinklų sietuvą, todėl serveris mato sietuvo išėjimo adresą, o ne jūsų namų ryšį. Jei kelyje yra persiuntimo tarpinis serveris, atvyksta jo adresas. Abu yra teisėti šaltiniai, ir nė vienas nėra adresas jūsų pradinėje taisyklėje.
Azure SQL ugniasienės taisyklės serverio ir duomenų bazės lygiu lygina kliento adresą, kuris pasiekia loginį serverį, o po viso tunelio tai yra išėjimo adresas. AWS saugos grupė, leidžianti vieną adresą, elgiasi taip pat. Paketas atmetamas prieš autentifikavimą, todėl gaunama klaida atrodo kaip tinklo gedimas, o ne kaip leidimų problema. Būtent todėl žmonės pradeda iš naujo nustatyti slaptažodžius.
Kur sprendžiamas leidžiamų sąrašas
Skaitykite taisyklę, kuri atitinka nepavykstantį kelią, o ne taisyklę, kurią prisimenate sukūrę. Atkreipkite dėmesį į jos apimtį, prievadą, protokolą ir tai, ar ji vertinama prieš bet kokį tapatybės patikrinimą.
Tada nuspręskite, kuris sluoksnis teisėtai valdo šį sprendimą. Adreso taisyklė atsako, iš kur ateina srautas. Privatus galinis taškas atsako, ar paslauga apskritai pasiekiama privačiu keliu. Padalyto tunelio išimtis atsako, kurios paskirties vietos apeina tunelį. Jie nėra keičiami, ir kiekvienas sugenda skirtingai, kai tunelis pasikeičia.
Trys taisymai, trys sluoksniai
Kiekviena žemiau esanti parinktis pataiso srautą dėl kitos priežasties, o pasirinkus netinkamą gaunamas ryšys, kuris veikia iki kito tinklų sietuvo pakeitimo.
| Repair | Layer it changes | What it does not fix |
|---|---|---|
| Add the egress address to the rule | Source address matching | Nothing about routing, and it breaks when the egress moves |
| Use a private endpoint | Whether the service is reached privately | A client that still resolves the public name |
| Add a split-tunnel exception | Which flows bypass the tunnel | An expired credential or a wrong password |
Išėjimo adreso pridėjimas yra mažiausias pakeitimas ir trapiausias, nes naujas tinklų sietuvas ar kitas regionas jį tyliai panaikina. Dokumentuokite adresą šalia tunelio apibrėžimo, kad abu judėtų kartu. Laikinas platus diapazonas yra diagnostika, o ne taisymas; palikti jį vietoje yra būdas, kuriuo vidinės paslaugos galiausiai lieka atviros.
Kodėl valdoma platforma negali prisijungti prie tunelio
Programų platformos, tokios kaip Heroku, AppHarbor ar CloudBees, vykdo jūsų kodą aplinkoje be tun ar tap įrenginio ir be teisių jį susikurti. Jų įeinantis modelis yra HTTP, o ne savavališkas klausantis lizdas. Buildpack, kuris pateikia VPN dvejetainį failą, vis tiek neturi kur įdėti sąsajos. Veikiantys modeliai yra statinis išėjimo adresas, kurį duomenų bazė gali leisti, platformos siūlomas privataus ryšio produktas arba tarpinis serveris DMZ zonoje, pasiekiamas per HTTPS.
Tas tarpinis serveris yra prieigos kelias su savo autentifikavimu ir registravimu. Jis nepadaro platformos jūsų VPN nariu, o taip apibūdinus susidaro taisyklės, kurių niekas negali audituoti.
Patikrinkite iš kliento, kuris nepavyko
Prisijunkite iš naujo ir pakartokite tikslų kliento kelią. Patikrinkite šaltinio adresą, kurį registruoja paslauga, maršrutą, kurį klientas pasirenka duomenų bazės pavadinimui, ir faktinės užklausos rezultatą, tokia tvarka. Testas iš tinklų sietuvo įrodo, kad sietuvas veikia, o tai niekada nebuvo abejojama. Jei ryšys dabar autentifikuojamas, o užklausa vis dar nepavyksta, likusi problema yra duomenų bazės leidimas.
Peržiūrėkite šias taisykles kiekvieną kartą, kai pasikeičia tunelis. Pakeistas tinklų sietuvas arba naujas išėjimo diapazonas nutraukia kelią be jokių programos konfigūracijos pakeitimų.