Сайт хоорондын VPN эсвэл алсын хандалт: аль нь юуг холбодог
Нэг нь гарцуудыг холбодог, нөгөө нь төхөөрөмжүүдийг холбодог. Зурвасын селекторуудыг маршруттай харьцуулж, хаяглалтыг төлөвлөж, дараа нь бодит хостоос дамжуулалт болон бодлогыг шалгана.
Хоёр шийдлийг VPN гэж нэрлэдэг бөгөөд тэд өөр өөр асуудлыг шийддэг. Сайт хоорондын туннель нь хоёр гарцыг холбодог тул тэдний ард байгаа хост бүр юу ч суулгахгүйгээр нөгөө талын зөвшөөрөгдсөн хаягуудыг хүрч чадна. Алсын хандалтын туннель нь тусдаа төхөөрөмжүүдийг сүлжээнд холбодог, нэг удаад нэг клиент. Энэ харьцуулалт чухал, учир нь байршуулалтын ихэнх алдаа нь нэгийг тохируулахдаа нөгөөгийн зан төлөвийг хүлээхээс үүсдэг бөгөөд шинж тэмдэг нь ихэвчлэн туннель үнэхээр хүрсэн үйлчилгээний хугацаа дуусах байдаг.
Хоёр шийдэл, хоёр хил
| Site-to-site | Remote access | |
|---|---|---|
| Endpoints | two gateways | a gateway and each client |
| Who configures | network owners | each user or an MDM |
| Scope of reach | whatever the gateways route | whatever the client is granted |
| Broadcast discovery | not carried | not carried |
Аль ч шийдэл LAN-ийн нэвтрүүлэх домэйныг өргөтгөдөггүй. Холын талын төхөөрөмжүүд орон нутгийн илрүүлэх жагсаалтад харагдахгүй бөгөөд үүнийг хүлээх нь орхих ёстой эхний таамаг юм. Та санаатайгаар нийтэлсэн хувийн DNS нэрс нь аливаа илрүүлэх протоколоос илүү урьдчилан таамаглах боломжтой бөгөөд нийлүүлэгч солигдсон ч хадгалагдана.
Нэг сайтад 10.10.0.0/24, нөгөөд 10.20.0.0/24 авна. A гарцад 10.20.0.0/24 префиксийг туннель руу илгээх маршрут эсвэл зурвасын селектор хэрэгтэй, B гарцад түүний толин тусгал хэрэгтэй. Дараа нь хоёр талын хост ердийн IP холболт ашигладаг бөгөөд туннель байгааг хэзээ ч мэддэггүй. Энэ үл үзэгдэх байдал нь онцлог бөгөөд доголдлууд туннелийн алдаа мэт биш ердийн сүлжээний алдаа мэт харагдах шалтгаан нь мөн энэ юм.
Бодлогод суурилсан ба маршрутад суурилсан нь нэг туннель биш
Бодлогод суурилсан IPsec байршуулалтад тохиролцсон зурвасын селекторууд аль эх үүсвэр, очих цэгийн хосууд хамгаалагдахыг нарийн тодорхойлдог. Нэг гарцын ард шинэ дэд сүлжээ гарч ирэхэд ямар ч селектор түүнийг хамарч чадахгүй бол туннель ажилласаар байх ба шинэ дэд сүлжээ зүгээр л дамждаггүй. Маршрутад суурилсан шийдэлд интерфэйс зурвасыг хүлээн авч, маршрутын хүснэгт шийддэг, энэ нь префикс нэмэхийг туннелийг дахин хэлэлцэх биш маршрутын өөрчлөлт болгодог.
StrongSwan хоёр харагдацыг шууд харуулдаг бөгөөд тэдгээрийг хамт унших нь та яг аль загварыг байршуулснаа мэдэх арга юм.
swanctl --list-sas
ip xfrm policy
ip -4 route show table all | grep -E '10\.(10|20)\.'
Танд хэрэгтэй префикс дутуу байгаа селекторын жагсаалт ямар ч пакет барихгүйгээр доголдлыг тайлбарладаг бол буруу интерфэйс рүү заасан маршрут буцах зам дахь толин доголдлыг тайлбарладаг. Ямар нэг зүйлийг дахин хэлэлцэхийн өмнө хоёуланг нь уншина уу, учир нь түлхүүр шинэчлэл та хэзээ ч тохируулаагүй селекторыг нэмэхгүй.
Хаяглалтыг туннелиас өмнө төлөвлө
Давхарласан мужууд нь тохиргоогоор засах боломжгүй загварын алдаа юм. Хоёр сайт хоёулаа 192.168.1.0/24 ашиглавал 192.168.1.50 хэрэгтэй хост хоёр нэр дэвшигчтэй бөгөөд сонгох аргагүй. Туннель баталгаажиж, аюулгүй байдлын холбоо тогтох бөгөөд маршрутын шийдвэр гэсэн хэдий ч буруу эсвэл хоёрдмол утгатай байх болно.
Гурван шударга хувилбарын аль нэгийг сонго: нэг сайтыг дахин дугаарла, гарц дээр давхарласан мужийг орчуулж тал бүр өөр префикс хардаг болго, эсвэл тэдгээр хостод шууд маршрутлалтаас татгалзаж үйлчилгээг өөр аргаар нийтэл. Тус бүр өөрийн үнэтэй бөгөөд хоёр жилийн хүрээнд эхнийх нь ихэвчлэн хамгийн хямд. Туннель үүсэхээс өмнө шийд, учир нь дараа нь өөрчлөлт хуучин хаягтай бүх төхөөрөмжид хүрнэ.
MTU асуудлыг ч эрт шийд. Туннель ашигтай ачааллыг багасгадаг бөгөөд фрагментчлэлд тулгуурласан шийдэл гарцууд дээр MSS-ийг тогтоодог шийдлээс өөрөөр ажилладаг.
Дамжуулалт ба бодлого туннелиас гадна байдаг
Гарц нь туннелийн интерфэйс ба LAN интерфэйсийн хооронд пакет дамжуулахад бэлэн байх ёстой бөгөөд хоёр чиглэлд үйлчилгээг зөвшөөрдөг бодлого хэрэгтэй. Linux дээр эдгээр нь хоёр тусдаа тохиргоо бөгөөд дамжуулсан урсгал ерөнхийдөө зөвшөөрөгдсөн эсэхийг шийддэг галт ханын дүрмүүд нэмэгдэнэ.
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -s 10.20.0.0/24 -d 10.10.0.0/24 -j ACCEPT
iptables -A FORWARD -s 10.10.0.0/24 -d 10.20.0.0/24 -j ACCEPT
Хүлээн авагч хост гурав дахь давхаргыг нэмдэг: түүний өөрийн галт хана холын дэд сүлжээнээс ирсэн клиентийг хүлээн авах ёстой хэвээр. Зөвхөн өөрийн орон нутгийн /24-ийг зөвшөөрдөг файлын сервер нь туннель хичнээн эрүүл харагдахаас үл хамааран 10.20.0.7-оос дамжуулсан зурвасыг татгалзах бөгөөд энэ татгалзлыг маршрутын доголдол гэж уншихад амархан.
Гарцаас биш, хостоос шалга
Гарц өөрөө илгээсэн ping нь дамжуулсан хэрэглэгчийн зурвасаас өөр эх хаяг, өөр бодлого баримталж болно. Энэ нь үүнийг сул шалгалт болгож, заримдаа төөрөгдүүлдэг: програм алдаа гаргахад энэ амжилттай болдог, эсвэл програм ажиллаж байхад энэ бүтэлгүйтдэг.
ip route get 10.10.0.5 from 10.20.0.7
ping -I 10.20.0.7 10.10.0.5
curl -sv --max-time 5 http://files.10-10.internal/ -o /dev/null
Бодит хост, бодит эх хаяг болон програмын ашигладаг бодит протоколыг ашигла. Дараа нь буцах замыг тусад нь унш, учир нь буцах маршрутгүй ажиллаж буй урагш чиглэл нь хаагдсан үйлчилгээтэй адил харагдах хугацаа дуусахыг үүсгэдэг.
Загварыг өөрөө хариулж буй асуултаар сонго: та сүлжээг холбож байна уу эсвэл төхөөрөмж хүлээн авч байна уу? Бусад бүх зүйл, аль нийлүүлэгчийг тохируулах ч гэсэн тэр хариултаас гардаг.