Оффисын сервер дээрх апп MySQL-тэй localhost хаягаар холбогддог, та тэр хост нэрийг ширээний клиент рүү хуулж, холболт нь эсвэл бүтэлгүйтнэ, эсвэл өөр мэдээллийн сан нээнэ. VPN үгний утгыг юу ч өөрчлөөгүй: localhost нь клиентийг ажиллуулж буй машиныг л илэрхийлсээр байна. VPN пакетуудыг зөөсөн, интерфэйсүүдийг биш. Ямар нэг маршрутад хүрэхээс өмнө зөөврийн компьютер ямар төгсгөлийн цэгт хүрэх ёстойгоо шийдээрэй.

1-р алхам: зөөврийн компьютер ямар төгсгөлийн цэгт хүрэх ёстойгоо шийдээрэй

Хоёр загвар хоёулаа хууль ёсны бөгөөд өөр өөр асуултад хариулдаг. Шууд хандалт гэдэг нь мэдээллийн сан туннель хүрдэг хувийн хаяг дээр сонсож, зөөврийн компьютер тэр хаяг руу холбогдоно гэсэн үг. Дамжуулсан хандалт гэдэг нь мэдээллийн сан loopback дээр үлдэж, SSH сесс портыг таны машин руу зөөнө гэсэн үг. Нэгийг нь санаатайгаар сонгоорой, учир нь хоёуланг нь хольсон нь буруу шалтгаанаар ажилладаг холболт үүсгэдэг.

Шууд хандалтын хувьд мэдээллийн сангийн хост өөрийн хувийн нэр эсвэл хаяг, түүний портыг түүнийг удирддаг хүнээс авна уу. VPN гарцын хаяг нь мэдээллийн сангийн хаяг биш, хэрэв тэр нэг машин биш бол. Дараа нь сонсогч үнэхээр тэр интерфэйст холбогдсон эсэхийг баталгаажуулаарай, учир нь интерфэйс рүү чиглэсэн маршрут түүн дээр сонсогч үүсгэдэггүй.

2-р алхам: сонсогч локал хэвээр байвал л портыг дамжуулаарай

Мэдээллийн сан зөвхөн loopback дээр үлдэх ёстой бол SSH-ээр дамжуулж, локал үзүүрийг мөн loopback-д холбоно уу. Зүүн талын холболтын хаяг таны зөөврийн компьютерт хамаарна; баруун талын зорилтыг SSH серверийн талаас тайлбарладаг бөгөөд OpenSSH лавлах бичсэнээр. Энэ хоёр үүргийг эргүүлэх нь дамжуулалт ажиллаж байгаа мэт боловч юунд ч холбогдохгүй байх нийтлэг шалтгаан юм.

ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:13306:127.0.0.1:3306 [email protected]
ss -ltn 'sport = :13306'

Хэрэв SSH мэдээллийн сангийн хост руу биш, үсрэлтийн хост руу буувал баруун талын loopback нь үсрэлтийн хотыг зааж, зорилтыг тэр хост хүрч чадах хаяг руу өөрчлөх ёстой. ExitOnForwardFailure дамжуулалт тогтоох бүтэлгүйтлийг баридаг боловч зорилт руу хийх дараагийн холболтууд амжилттай болохыг нотолдоггүй. Хост түлхүүрийн шалгалтыг асаалттай байлгаж, дамжуулалтын портыг бүх интерфэйст холбож бүх LAN-даа санал болгохгүй байгаарай.

Мэдээллийн сан зөвхөн loopback дээр үлдэх ёстой бөгөөд SSH ашиглаж чадахгүй бол зогсоорой. Тэгвэл шууд хандалт нь буруу загвар бөгөөд албадан тулгах тохиргоо биш.

3-р алхам: клиентийг TCP руу албадуулаарай

Unix дээр localhost өгөгдсөн MySQL клиент анхдагчаар Unix сокет сонгодог тул зөвхөн портыг өөрчлөх нь таны дамжуулалттай ямар ч холбоогүй сокет хайж үлдээж болно. Тодорхой TCP протокол болон loopback хаягийг ашиглан клиентийг таны дамжуулалтын порт руу холболт нээхийг албадуулаарай.

mysql --protocol=TCP --host=127.0.0.1 --port=13306 --user=DB_USER --password

Утгагүй нууц үгийн сонголт нууцыг командын мөрөнд тавихын оронд асуудаг бөгөөд энэ нь хадгалах үнэ цэнэтэй зуршил юм. Бусад хэрэгсэл ижил ялгаанд өөрийн унтраалгатай, зарим драйвер localhost-ыг мөн тусгайлан үздэг. Туг дамжсан гэж таамаглахын оронд клиент чинь юу хийдгийг шалгаарай. Мэдээллийн сангийн бүртгэлд серверийн харж буй эх сурвалжид тохирох зөвшөөрөл хэрэгтэй бөгөөд энэ нь таны зөөврийн компьютер биш, дамжуулалтын хост юм.

Хэрэгслийг TCP руу албадуулж чадахгүй бол зогсоорой. Тэгвэл өөр клиент эсвэл хувийн сонсогч руу шууд хандалт ашиглаарай.

4-р алхам: та яг аль төгсгөлийн цэгт хүрснээ нотлоорой

Холболтыг юу гэж боддогийг серверээс асуугаарай. Хост нэр, порт, сокет хувьсагчид та TCP-ээр ирсэн эсэх, аль сонсогч хариулсныг хэлнэ, холболтын жагсаалт серверийн бүртгэсэн эх хаягийг харуулна. Тэр нотолгоо өөр нэг маршрутын өөрчлөлтөөс илүү ашигтай.

mysql --protocol=TCP -h 127.0.0.1 -P 13306 -u DB_USER -p -e "SELECT @@hostname, @@port, @@socket"

Та аль төгсгөлийн цэгийг оролдсоноо тэмдэглээрэй: локал Unix сокет, таны дамжуулалтын порт эсвэл хувийн сонсогч. Эдгээр гурван бүтэлгүйтэл өөр засвартай бөгөөд клиент буруу localhost-той ярьж байхад VPN маршрутыг өөрчлөх нь дэмий хөдөлмөр юм. Тэмдэглэлд SSH баталгаажуулалт болон мэдээллийн сангийн баталгаажуулалтыг тусад нь хадгаарай, учир нь ширээний клиентээс нэгнийх нь бүтэлгүйтэл нөгөөгийнх нь бүтэлгүйтэл мэт харагддаг. Дараа нь ажил дуусахад дамжуулалтыг устгаарай.

Жагсаалт нь төгсгөлийн цэг, клиентийн протокол, серверийн харсан эх хаяг, үүнийг зөвшөөрсөн зөвшөөрлийг нэрлэж чадвал дуусна. Дөрвөн баримт, дараагийн холболтын асуудал үдээс хойш биш хэдхэн минутад шийдэгдэнэ.

Холбоотой нийтлэлүүд