VPN холбогдоход Vagrant VM алга болно: хэний зам эвдэрсэн
Нэг минутын өмнө хариулж байсан машин холболтын мөчид алга болно. Ямар нэг зүйлийг өөрчлөхөөс өмнө эвдэрсэн зам хэнийх болохыг шийдээрэй.
Машин нэг минутын өмнө хариулж байсан, VPN холбогдсон, одоо ижил хаяг хугацаа хэтэрч байна. Гурван гэмтэл энэ шинж тэмдгийг үүсгэдэг бөгөөд тэд өөр өөр машин дээр амьдардаг. Хост хувийн сүлжээ рүү чиглэсэн замаа алдаж болно, зочны NAT хүрээ туннелийн одоо зарлаж буй хүрээтэй мөргөлдөж болно, эсвэл бүрэн туннель хост дээрх бүх замын эзэмшлийг авч болно. Аль нь болсныг ямар ч тохиргоог өөрчлөхөөс өмнө тогтоогоорой, учир нь засвар бүр өөр газар амьдардаг.
Зам руу хар, машин руу биш
Туннель ажиллаж байх үед зочны хаягийн талаар хост ямар маршрутлалтын шийдвэр гаргаж байгааг хар. Хост-дан ганц адаптер рүү чиглэсээр байгаа зам нь асуудал биш. Одоо VPN адаптер руу чиглэж буй зам л асуудал бөгөөд түүнийг та биш, клиент өөрчилсөн. Адаптер хаягаа хадгалж байгаа нь интерфейс амьд үлдсэн гэсэн үг бөгөөд энэ нь зам амьд үлдсэнээс өөр баримт.
Холболтын яг мөчид тасрах SSH сесс бол хүлээгдэж буй зан төлөв. Клиент адаптеруудыг эргэлдүүлж, замуудыг суулгадаг тул холболт хэдэн секунд үхдэг. Гэмтэл нь хэзээ ч буцаж ирдэггүй холболт, гялбалзсан холболт биш.
Туннелиас өмнө хүснэгтийг авч, дараа нь дахин авч, тэгээд тэр хоёр гаралтыг харьцуул. Ялгаа нь онош бөгөөд энэ нь сүлжээний эзэн шаардах нотолгоо ч мөн.
ip -4 route get 192.168.56.10
ip -brief addr show
ip route show table main | head -20Холболтын өмнө болон дараа хостны хүснэгтийг унш
Linux дээр давхцаж буй замуудын хоорондох давуу эрх угтварын урт ба метрикээс гардаг тул илүү тодорхой VPN зам буруу байсан ч ялдаг. Windows дээр интерфейсийн метрик тэнцлийг шийддэг бөгөөд туннелийн адаптер ихэвчлэн виртуалаас бага метрикээр ирдэг. Аль ч тохиолдолд харагдах шинж тэмдэг ижил: пакетууд туннелийн адаптераар гарч алга болно.
Зочны угтварын замын дэргэд адаптерууд болон тэдгээрийн метрикийг хэвлэ. Тэр гаралтын хос эзэмшлийн асуултад нэг харцаар хариулна.
Get-NetAdapter | Select-Object Name, InterfaceIndex, InterfaceMetric
Get-NetRoute -DestinationPrefix 192.168.56.0/24
route print -4 | Select-String '192.168.56'Зам өөрчлөгдсөн ч адаптерын метрик өөрчлөгдөөгүй бол клиент өрсөлдөгч зам суулгасан. Метрик өөрчлөгдсөн бол клиент адаптеруудыг дахин эрэмбэлсэн. Хоёуланг засах боломжтой бөгөөд өөр өөр газар засдаг.
Зочны NAT хүрээ нь мөргөлдөөн байх үед
VirtualBox NAT анхдагчаар 10.0.2.0/24 ашигладаг бөгөөд ижил хүрээг түлхэж буй туннель зочныг тэр урсгалыг жинхэнэ очих газар руу биш, өөрийн NAT гарц руу илгээхэд хүргэдэг. Пакет хостноос хэзээ ч гардаггүй тул нөгөө талын галт хананы бүртгэл түүнийг харуулахгүй. Docker Machine өөрийн хост-дан ганц төлөвлөгөөнд ижил төрлийн зөрчилтэй бөгөөд тэр төлөвлөгөөг өөрчлөх нь машиныг гэрчилгээний хамт дахин бүтээхийг шаардаж болно.
Орлуулагчийг сонгохдоо туннель аль хэдийн юу зарлаж байгаа, дараа нь оффисын сүлжээ юу ашигладаг, дараа нь энэ хост дээрх виртуал адаптер бүр юу нэхэмжилснийг жагсаа. Маршрутлалтыг эвддэг нь давхцал бөгөөд төсөөтэй байдал хамаагүй. Нэг хүрээ нөгөөгийнхөө бүрэн дотор байж болох ч анх харцад огт адилгүй харагдана.
Шинэ хүрээг машин бүтээх үед тогтоох, эсвэл өөрчлөөд дахин ачаалж, дараа нь бүтэлгүйтсэн холболтыг зочны талаас дахин шалга. Зочны өөрийн хүснэгт л чухал харагдац.
VBoxManage modifyvm devbox --natnet1 10.77.0.0/24
vagrant reload devbox --provision
vagrant ssh devbox -c 'ip route get 10.20.0.15'Клиенттэй тэмцэхгүйгээр замыг сэргээ
Платформ бүр хост-дан ганц угтварыг дахин урд гаргах арга санал болгодог. macOS дээр хост-дан ганц интерфейс рүү статик зам дараагийн холболт хүртэл ажиллана. Windows дээр виртуал адаптер дээрх бага интерфейсийн метрик түүнийг давуу байдалд хадгална. Linux дээр орлуулах үйлдэл нэг угтварыг хамарна. Гурвуулаа түр шийдэл, учир нь замаа дахин шаарддаг клиент тэдгээрийг цуцална.
Ачаалах үед сохроор дахин холбогдохын оронд шалгалтыг скрипт болго. Холболт бүрийн дараа зочны угтварын замыг хэвлэдэг жижиг скрипт нууцыг бүртгэлийн нэг мөр болгоно.
Профайл бүрэн туннель бол сүлжээний эзнээс хуваасан туннель эсвэл баримтжуулсан үл хамаарах зүйл хүс. Аюулгүй байдлын бодлогыг тойрсон замыг чимээгүй нэмэх нь засвар биш, дараа нь аудитортой ирэх хоёр дахь асуудал.
Засварыг хоёр талаас шалга
Өөрчлөлтийн дараа гурван замыг шалга: хостноос зочин руу, зочноос корпорацийн хост руу, зочноос интернэт рүү. Нэгийг сэргээж нөгөөг эвдэх засвар бол засварын дүр эсгэсэн тохиргооны өөрчлөлт. Харьцуулалт тэнцүү байхын тулд өөрчлөлтийн өмнө цуглуулсан ижил гаралтыг ав.
Өөрчлөгдсөн интерфейс, метрик, замыг цаг хугацааны хамт тэмдэглэ, дараагийн тохиолдол дахин бүтээх биш, хайлт болохын тулд. Тэр тэмдэглэл урт тасалбарын хэлхээнээс илүү үнэтэй.
ip -4 route get 192.168.56.10
traceroute -n -m 4 10.20.0.15
curl -sS -o /dev/null -w '%{http_code}\n' https://example.comХост дахин зочин руу хүрч, зочин LAN руу хүрэхэд та эхэлсэн замаа сэргээсэн байна. Зөвхөн нэг нь ажиллаж байвал үлдсэн гэмтэл нөгөө эзний нутагт байна, ялгаа нь аль нутаг болохыг хэлнэ.