VPN хаяг ба LAN-ийн DHCP түрээс: туннелийн IP-г хэн олгодог вэ?
Таны VPN клиент LAN-ийн түрээсийн файлд хэзээ ч харагдахгүй хаяг харуулж байна. Бодит олгогчийг олохын тулд клиент, IKEv2 ачаалал болон гарцын санг уншина уу.
Клиентийг холбож, Wi-Fi дүрсний оронд адаптерийг хар. 10.80.0.14 шиг хаяг туннель дээр байж болох ч оффисын LAN-ийн ямар ч DHCP сервер тэр түрээсийг хэзээ ч бүртгээгүй. Дугаарыг аль процесс сонгосон нь асуудлыг хаанаас шалгаж эхлэхийг тодорхойлно.
Клиент дээр бүх зүйл ижил харагдана: нэг IPv4 хаяг, нэг маск, заримдаа өгөгдмөл гарц. Ялгаа нь тэр хаягийг хэн хариуцаж, хэн бүртгэл хөтөлдөг гэж асуух үед л илэрнэ.
Туннелийн хаягийг клиентийн талаас унших
Эхний мөр биш бүх блокыг уншвал Windows ялгааг харуулна. ipconfig /all адаптерийн тайлбар, физик хаяг, DHCP мөрийг хэвлэнэ. PPP эсвэл IKEv2 залгах адаптер ихэвчлэн DHCP-г идэвхгүй гэж мэдээлдэг, учир нь холболт хаягаа LAN серверээс түрээслэхийн оронд залгах үед тохиролцсон. DHCP идэвхтэй туннелийн адаптер ховор бөгөөд тусдаа шалгах үнэ цэнэтэй.
Linux ижил мэдээллийг хоёр хэрэгсэлд хуваадаг. ip -4 addr show dev tun0 хаяг болон угтварын уртыг өгнө. nmcli -f IP4 connection show work утга нь холболтын профайлаас, холбоос дээрх DHCP солилцооноос эсвэл түлхсэн тохиргооноос ирсэн эсэхийг илрүүлнэ. WireGuard хамгийн тодорхой тохиолдол, учир нь интерфэйс гарч ирэхэд wg-quick тохиргооны файлын Address мөрийг хэрэглэдэг бөгөөд холбогдох үед ямар ч хос юу ч олгодоггүй.
Угтвар ч бас нэг зүйл хэлнэ. /32 эсвэл 255.255.255.255 маск нь гарц нэг хост хаяг руу чиглүүлэхийг хүлээж байгааг илтгэнэ, илүү өргөн маск нь туннелийн ард хаа нэгтээ холбоосын дэд сүлжээ байгааг сануулна.
IKEv2 тохиргооны ачаалал юу зөөдөг вэ
IKEv2-д энэ ажилд зориулсан тусгай механизм бий. RFC 7296, 3.15.1 хэсэгт тайлбарласан тохиргооны ачаалал INTERNAL_IP4_ADDRESS, INTERNAL_IP4_NETMASK, INTERNAL_IP4_DNS зэрэг шинж чанарууд болон тэдгээрийн IPv6 хувилбарыг зөөнө. Клиент сонголтгүй үед тэг урттай утгатай шинж чанар илгээж, хариулагч ашиглахыг хүссэн утгыг буцаана. Энэ солилцоо аль хэдийн шифрлэгдсэн IKE_AUTH дотор явагддаг тул ямар ч DHCP нэвтрүүлэг туннелийг хэзээ ч давахгүй.
Үүнээс хоёр үр дагавар гарна. Нэгд, хаягийг хариулагч эсвэл түүний зөвлөлддөг зөвшөөрлийн арын систем сонгодог, иймээс сан гарц дээр, RADIUS хариултад эсвэл таних тэмдгийн нийлүүлэгчийн зураглалд байж болно. Хоёрт, DNS шинж чанар нь хаягийн шинж чанараас тусдаа. 10.80.0.14 хүлээн авах нь аль шийдэгч буцаж ирсэн, эсвэл ер нь ирсэн эсэхийг юу ч хэлэхгүй.
Сүлжээний маскын шинж чанар практикт заавал биш. Олон байршуулалт зөвхөн хаяг буцааж, клиентэд хост маршрут суулгахыг зөвшөөрдөг, иймээс нэг сан нэг клиент дээр /32, нөгөө дээр /24 мэт харагдаж болно.
LAN-ийн DHCP муж ба VPN сан мөргөлдөх газар
Хоёр олгогч ижил мужийг заах үед асуудал эхэлнэ. 10.20.30.0/24-ийн DHCP сервер 10.20.30.128/25-д тохируулсан VPN сангийн талаар юу ч мэдэхгүй тул гарц ижил хаягийг алслагдсан клиентэд өгөх үед түүнийг 10.20.30.140-г принтерт түрээслэхээс юу ч сэргийлэхгүй. Мөргөлдөөн хэдэн өдөр чимээгүй байгаад дараа нь хааяа давтагдах хуулбар хэлбэрээр илэрнэ.
Чиглүүлэлттэй сайт-аас-сайт загвар нь мөргөлдөөнөөс бүтцээрээ зайлсхийдэг. Салбарын хост локал DHCP серверээс авсан хаягаа хадгална. Хоёр гарцын туннелийн интерфэйсүүд өөрийн холбоосын хаягыг зөөнө, пакетууд хэрхэн явахыг чиглүүлэлтийн хүснэгт шийднэ. Алсын хандалтын клиентүүдийн хаяг гуравдугаар ангилал бөгөөд тэдгээрийг гарцын холбоосын хаягтай холих ёсгүй.
Туннелийг LAN руу гүүрлэх нь тэр тусгаарлалтыг арилгана. Хэрэв загварт үнэхээр нэг нэвтрүүлэгийн домэйн хэрэгтэй бол VPN-ийн төгсгөлийн цэг өөрөө хаяг олгохын оронд реле эсвэл хуваалцсан эрх бүхий эх сурвалжаар дамжуулан DHCP сервертэй ижил олголтын шийдвэрт оролцох ёстой.
Хаяг аль процессын өмч болохыг шалгах
Мужийг өөрчлөхөөс өмнө өмчлөлийг нотол. Клиент дээр хаяг болон угтварыг бич. LAN дээр түрээсийн мэдээллийн санд хай. Гарц дээр олгохоор тохируулсан сангуудыг жагсаа. Түрээсийн файлаас олдсон хаяг DHCP серверт хамаарна, өөрөөр хэлбэл туннель гүүрлэгдсэн эсвэл релеэр дамжсан; зөвхөн гарцын сангаас олдсон хаяг туннелийн төгсгөлийн цэгт хамаарна.
# client: address and prefix on the tunnel interface
ip -4 addr show dev tun0
# LAN DHCP server: is this address leased to anyone?
grep -c '10.80.0.14' /var/lib/dhcp/dhcpd.leases
# gateway: pools that remote-access clients draw from
sudo swanctl --list-pools
Хариулт тодорхой болмогц дөрвөн зүйлийг бич: аль бүрэлдэхүүн клиентийн хаягийг олгодог, түүнд ямар муж нөөцлөгдсөн, буцах урсгал тэр мужид хэрхэн хүрдэг, ямар нөөцүүд үүнийг хүлээн авдаг. Эдгээр дөрвөн бичлэг виртуал адаптерийн мөрийг үйл ажиллагааны баримт болгоно.
Тэнд байхдаа DNS шинж чанарын шалгалтыг давт. Хаяг тараадаг ч шийдэгч өгдөггүй сан клиентийг өөрийн локал DNS дээр үлдээдэг нь LAN аль хэдийн ашиглаж буй хаягийг олгодог сангаас өөр алдаа юм.