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

Үүнийг шийдэх гурван нөхцөл

Эхний нөхцөл бол очих газар. VPN хост дээрх үйлчилгээнд зөвхөн туннелийн интерфейсээр хүрч болно, харин LAN дээрх хост дамжуулалт болон буцах зам шаарддаг. Хоёр дахь нөхцөл бол тэр буцах зам, учир нь LAN төхөөрөмж клиентийн сан руу хэрхэн хүрэхээ мэдэх ёстой, чиглүүлэлтээр эсвэл сервер дээрх орчуулгаар.

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

Эдгээрийн аль нь ч корпус дээрх портын тооны тухай биш. Тэд чиглүүлэлт, хаягийн өмчлөл, төслийн физик тусгаарлалтаас хэр хамааралтай байх тухай.

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

Үйлчилгээ VPN хост дээр ажиллаж байх үед

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

Хоёр зүйл гэсэн ч зөв байх ёстой: үйлчилгээ нь туннель хүрч чадах хаяг дээр сонсож байх ёстой, хостын галт хана нь туннелийн интерфейс дээр ирж буй траффикийг хүлээн авах ёстой. Хоёулаа доорх командуудад харагдана.

ss -lntup | grep -E "5432|8080"
ip -brief addr show
ip route get 10.8.0.6 from 10.8.0.1

Үйлчилгээг зөвхөн нийтийн хаяг дээр холбох эсвэл туннелийн интерфейсийг андууран шүүх нь хост дээр хүрээд дараа нь үхдэг холболт үүсгэдэг. Энэ нь VPN-ийн гэмтэл мэт харагдах бөгөөд ихэвчлэн сокет эсвэл галт хананы шийдвэр байдаг.

Очих газар LAN дээр байх үед

Энд нэг адаптерийн зохион байгуулалт төвөгтэй гэх нэр хүндийг олдог. Сервер клиентийн пакетуудыг LAN руу дамжуулах ёстой, LAN төхөөрөмж хариултуудыг клиентийн сан руу буцааж илгээх ёстой. Тэр санг LAN дээр чиглүүлэлт болгон авч явах, эсвэл сервер дээр эх хаягийг орчуулж хариултууд сервер рүүгээ буцаж ирэх.

Хоёр хариулт хоёулаа хууль ёсны бөгөөд тэд өөр өөрөөр бүтэлгүйтдэг. Буцах чиглүүлэлт нь анхны клиентийн хаягийг очих газарт харагдахуйц үлдээдэг, энэ нь логт сайн, LAN хаяг гэж үздэг галт хананы дүрэмд муу. Орчуулга нь LAN-г энгийн байлгаж, клиентийн хэн болохыг очих газраас нуудаг.

sysctl net.ipv4.ip_forward
nft list ruleset | grep -A4 'chain forward'
ip route show table main | grep 10.8.0

Тэгш бус зам бол сонгодог шинж тэмдэг: клиентийн хүсэлт ирж, хариулт өөр чиглүүлэгчээр гарч, холболт хоёр төгсгөлд алдаагүйгээр хугацаа хэтэрч зогсдог. Туннелийн талаар ямар нэг дүгнэлт хийхээс өмнө хоёр талаас бичлэг авна уу.

Яагаад alias хоёр дахь бүс үүсгэдэггүй вэ

Ижил адаптерт хоёр дахь хаяг нэмэх эсвэл хоёр дахь портыг дуурайсан dummy интерфейс үүсгэх нь маш бага өөрчлөлт хийдэг. Пакетууд ижил физик холбоос, ижил свитчийн порт, ихэвчлэн ижил галт хананы гинжээр гарсаар байдаг тул тэдгээрийн хооронд шинэ хил үүсэхгүй. Энэ нь тохиргооны тав тух, сегментчлэл биш. Үүнийг бүсийн хил гэж үзэх нь тусгаарлалтын мэдэгдэл зөвхөн цаасан дээр үлдэх арга юм.

Тусдаа бүс замд жинхэнэ тусгаарлалт шаарддаг бөгөөд энэ шаардлагыг хоёр дахь адаптер хангадаг. Хэрэв дүрэм нь VPN рүү чиглэсэн траффик LAN руу чиглэсэн траффиктай хэзээ ч нэвтрүүлгийн домэйн хуваалцахгүй байх шаардлагаас хамаардаг бол хост хэрхэн хаяглагдсанаас үл хамааран нэг кабель энэ шинж чанарыг өгч чадахгүй.

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

Зөвшөөрсөн траффиктайгаа зохион байгуулалтыг тулгаж шалгана уу

Серверийн зөөх ёстой траффикийн ангиллыг жагсаана уу: клиентээс хост руу, клиентээс LAN руу, хостоос LAN руу, шифрлэгдсэн гадаад холболт. Ангилал бүр эх үүсвэр, очих газар, интерфейстэй бөгөөд зохион байгуулалт дөрвийг нь нэгэн зэрэг хангах ёстой. Гурвыг нь шийддэг зохион байгуулалт ихэвчлэн тасалбар үүсгэдэг нь юм.

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

ip -brief addr
ip route
tcpdump -ni any udp port 51820 -c 5
tcpdump -ni tun0 -c 5

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

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