OpenVPN: локал хаяг ба туннелийн хаяг — өөр хоёр сокет
Сервертэй холбогддог хаяг нь туннелийн доторх хаяг биш юм. local, remote, nobind-ийг тусдаа үүрэг гэж уншвал ихэнх холболтын алдааг тайлбарлана.
Клиент ажиллахаас татгалзаж, локал хаягийг холбож чадахгүй гэж гомдоллодог бөгөөд ойлгомжтой шийдэл нь хүлээж буй туннелийн хаяг руу чиглүүлэх мэт санагддаг. Энэ нь ажиллахгүй бөгөөд шалтгааныг ойлгох нь зүйтэй: туннель үүсэхээс өмнө дотор талын хаяг байхгүй бөгөөд сервертэй холбогддог сокет эхлээд байх ёстой. Энд хоёр өөр хаяг байгаа бөгөөд тэдгээрийн зөвхөн нэгийг нь л локалаар сонгох боломжтой.
Холболтын алдаа нь локал хаягийг нэрлэнэ
OpenVPN локал хаягийг холбож чадахгүй гэж мэдээлэхдээ тээврийн сокетийн тухай ярьдаг: шифрлэгдсэн холболтыг хамтрагч руу зөөдөг UDP эсвэл TCP төгсгөлийн цэг.
Тодорхой local заавар нь демонг тэр сокетийг тодорхой локал хаягт холбохыг хүсдэг. Хаяг нь процесс ажиллаж буй сүлжээний нэрийн орон зайд байх ёстой бөгөөд клиент эхлэх мөчид хуваарилагдах боломжтой байх ёстой.
Руутер эсвэл үүлэнгийн захад орчуулагдсан нийтийн хаяг нь демон холбож чадах локал хаяг биш бөгөөд серверийн харж буй хаяг нь яг тэр байсан ч хэвээр. Энэ ялгаа нь нэг профайл гэрт ажиллаж, үүлэнгийн инстанс дээр бүтэлгүйтэх шалтгааныг тайлбарлана. Мөн нийтийн хаягийг loopback интерфэйс дээр нэмэх нь тус болохгүйг тайлбарлана, учир нь тээвэр нь сүлжээ хариу буцааж чадахгүй хаягаас гарна. Профайлыг засахын өмнө интерфэйсийн жагсаалтыг уншина уу.
local ба remote үнэхээр юу сонгодог вэ
remote холбогдох хамтрагчийг нэрлэнэ. local мөн сокетийн ойрын үзүүрийг холбоно. nobind локал хаяг болон портыг хоёуланг нь үйлдлийн системд сонгуулдаг тул гэрийн руутерын ард байгаа клиентүүд ихэвчлэн хоёр зааврын аль нэггүйгээр ажилладаг.
Эдгээр хоёр зааврын аль нь ч туннелийн доторх хаягтай ямар ч холбоогүй.
Контейнер эсвэл сүлжээний нэрийн орон зайд мөн дүрэм нарийн хил хязгаартайгаар үйлчилнэ: хостын хаягууд дотор нь байхгүй тул хостын тохиргооноос хуулсан local мөр буруу хаягаас огт өөр шалтгаанаар бүтэлгүйтдэг.
ip -brief address show
ip route get 203.0.113.10Дотор талын хаяг серверээс ирдэг
Туннелийн доторх хаяг нь хяналтын суваг тогтсоны дараа хэлэлцэгдэх буюу хуваарилагдана. Динамик сангийн хувьд сервер холбогдох үед шийддэг, харин клиентэд тусгай тохиргоонд таних тэмдэг бүрт тогтмол байж болно.
local-г дотоод хаягтай бичих нь серверээс тэр хаягийг хуваарилахыг хүсэхгүй. Хамгийн сайн тохиолдолд холболт бүтэлгүйтнэ; хамгийн муу тохиолдолд клиент ижил утгатай холбоогүй хост хаяг олж, түүнийг тээвэрт ашиглаж эхэлнэ.
Унших интерфэйсүүд мөн өөр байна. ifconfig параметрүүд болон сангийн тохиргоо дотоод талыг дүрсэлдэг бол remote, local, proto болон nobind гадаад талыг дүрсэлдэг. Хоёр жагсаалтыг тусад нь байлгах нь форумд таарах бараг бүх будлиантай жишээг тайлбарлана. OpenVPN 2.6 гарын авлага яг энэ шалтгаанаар тэдгээрийг тусдаа бүлэгт бичсэн.
Хавх: өөрийн тээврийг барьж авдаг бүрэн туннель
Туннель босож, өгөгдмөл маршрутыг зөөсний дараа түүнийг тэжээж буй пакетуудыг түүний дотор маршрутжуулж болохгүй. Энэ нь хаягийн биш, маршрутын асуудал бөгөөд демон үүнийг анхны гарцоор дамжин серверийн өөрийн хаяг руу илүү тодорхой маршрут суулгаж шийддэг.
Хэрэв тээврийг тодорхой локал хаягт бэхэлж, дараа нь тэр хаягийн ашигладаг замыг өөрчилбөл дотор тал нь тохируулагдсан хэвээр байхад гадаад холболт замнаас гарч болно. Дотор тал нь зүгээр тул туннель холбогдсон гэж мэдээлсээр байна. Зөвхөн тээвэр эвдэрсэн тул логийг зөрчил мэт уншдаг.
Тэгвэл шинж тэмдэг нь холбогдоод царцдаг туннель, эсвэл ашигтай алдаагүйгээр давталтад дахин холбогддог туннель мэт харагдана. Туннелийн доторхыг шалгахаас өмнө хамтрагчийн хаяг хүртэлх маршрутыг шалгаж, холбосон локал хаяг тань хүлээж байсан интерфэйст харьяалагдсаар байгаа эсэхийг баталгаажуулна уу.
Будлианаас сэргийлэх дадал
Профайлын хаяг бүрийг уншиж, засахаас өмнө аль түвшинд хамаарахыг шийдээрэй.
Хэрэв энэ нь тээврийн алслагдсан үзүүрийг нэрлэх эсвэл ойрын үзүүрийг холбож байвал энэ нь гадаад хаяг бөгөөд эхлэхээс өмнө байх ёстой. Хэрэв туннелийн дотор юу болохыг дүрсэлж байвал энэ нь серверээс эсвэл топологиос ирдэг бөгөөд ямар ч локал заавар түүнийг орлож чадахгүй.
Хоёр жагсаалтыг профайлын хажууд байх байршуулалтын тэмдэглэлд бичээрэй. Дараагийн алдаа засах сесс таамаглалаас биш, давхаргаас эхэлнэ.