L2TP, GRE эсвэл IPsec: сессийг аль давхарга зөөх ёстой вэ?
L2TP нь PPP сессийг, GRE нь чиглүүлсэн пакетыг зөөдөг, IPsec нь сонгосон урсгалыг хамгаалдаг. Давхарга бүрд нэг ажил өгөөд, дараа нь тус бүрийг нь тусад нь шалгаарай.
Нэг дизайны тэмдэглэлд L2TP, GRE, IPsec гурав зэрэг орсон үед хоёр асуулт орооцолдоно: би ямар сессийг зөөж байна, түүнийг аль давхарга хамгаалж байна вэ? Эхнийх нь буруу бол доош буй бүхэн дотооддоо нийцтэй хэвээр байх боловч буруу асуудлыг шийднэ — хэрэглэгчид холбогдох шаардлагатай газарт барьсан чиглүүлсэн давхарга, эсвэл сайт хоорондын гарцын оронд зогсож буй холболтын төвлөрүүлэгч. Доорх ажлын хуудас хэн нэгэн төхөөрөмжид нэвтрэхээс өмнө энэ ялгааг гаргуулна. Үүнийг дарааллаар нь бөглөвөл мөр бүр дангаараа шалгаж болох зүйл болно.
Протоколын жагсаалтаас биш, сессээс эхэл
PPP сесс барьж буй алсын хэрэглэгч ба хоёр гарцын хоорондох чиглүүлсэн давхарга нь хоёулаа эцэстээ IPsec-д ороосон ч өөр өөр сүлжээний харилцаа юм. Эхнийх нь хэрэглэгч бүрийн холбоосыг дуусгаж, хаяг хуваарилах, хүн эсвэл төхөөрөмжийн баталгаажуулалт, тэр хэрэглэгч ямар дотоод сүлжээнд хүрч болохыг нэрлэсэн бодлого шаардана. Хоёр дахь нь хэн ч холбогддоггүй сайтуудын хооронд пакет дамжуулна.
Хоёрын алийг нь барьж байгаагаа нэрлэсэн нэг өгүүлбэр бичээд, дараа нь үүнийг ажиллуулах хүн нь өөрөө байгаа мэт дахин уншаарай. Өгүүлбэрт «ба» гэх үг хэрэгтэй бол та хоёуланг нь барьж байна, ажлын хуудаст тус бүрд хагас үйлчилдэг нэг буулт баганын оронд хоёр багана хэрэгтэй. Хэрэв хэрэглэгчийг нэрлэсэн ч хаягийн сан, эсвэл угтварыг нэрлэсэн ч дамжуулалтын бодлого байхгүй бол өгүүлбэр дутуу хэвээр. Үг хэллэг нь хүнд сурталтай сонсогдож байгаа ч тусламжийн төвийн тасалбараар илрэх дизайныг барих хамгийн хямд газар нь энэ.
Давхарга бүрд яг нэг ажил өг
L2TPv2 нь өөрийн хоёр төгсгөлийн цэгийн хооронд PPP сессийг зөөнө. PPP холбоосын хэлэлцээрийг, хэлэлцээр болсон үед хэрэглэгчийн баталгаажуулалтыг гүйцэтгэнэ; L2TP ямар ч шифрлэлт нэмдэггүй, тиймээс нүцгэн L2TP демон нь IPsec-ийн аюулгүй байдлын харилцааны нэг ч хэсгийг хэрэгжүүлэхгүй бөгөөд та аль хэдийн итгэдэг холбоос дотор л байрлана.
GRE нь хоёр хаягийн хоорондох капсулчлал юм. Энэ нь сүлжээний давхаргын пакетыг логик давхаргаар дамжуулж, дангаараа нууцлал ч, баталгаажсан түншийн таних тэмдэг ч санал болгодоггүй. Энэ нь алдаа биш: толгойг энгийн байхаар зохиосон тул дамжуулах техник дээр боловсруулахад хямд хэвээр байна. Үр дүнд нь GRE нь энэ пакетыг хоёр хаягийн хооронд хэрхэн зөөх вэ гэсэн асуултад л хариулж, өөр юунд ч хариулахгүй бөгөөд танаас түүнээс асуух ёстой асуулт яг энэ юм.
Үлдэх нь IPsec — урсгалыг сонгож, түншүүдийг баталгаажуулж, хамгаалах гэж хэлсэн зүйлийг шифрлэдэг давхарга. Аль урсгалыг хамгаалах нь тохиргооны шийдвэр бөгөөд төгсгөлийн цэгүүд бодитоор үүсгэдэг капсулчлалтай тохирох ёстой, учир нь GRE-ийн гадаад хаягт зориулж бичсэн бодлого дотоод угтварт зориулж бичсэнээс өөрөөр ажилладаг. GRE-ийн тодорхойлолт ачааг, GRE толгойг, гадаад хүргэлтийн протоколыг харагдахуйц тусад нь байлгадаг бөгөөд таны бодлогод ч мөн адил тусгаарлалт хэрэгтэй.
| Layer | Its one job | What it never does |
|---|---|---|
| PPP | Link negotiation, optional user authentication, address assignment | Protect traffic between gateways |
| L2TPv2 | Carry the PPP session between two endpoints | Encrypt or authenticate peers |
| GRE | Encapsulate network-layer packets between two addresses | Hide or authenticate the payload |
| IPsec | Authenticate peers and encrypt selected traffic | Carry a dial-in user session by itself |
Тохиргооноос өмнө пакетын замыг бич
Нэг пакет аваад нэмэгдэх толгой бүрийг нэмэгдэх дарааллаар нь жагсааж, түүнийг нэмж буй төхөөрөмжийг нэрлэ. Холбогдож буй хэрэглэгчийн хувьд энэ нь ихэвчлэн IPsec доторх L2TP доторх PPP; сайтын давхаргын хувьд энэ нь IPsec доторх GRE доторх дотоод IP пакет. Хэрэв хоёр төхөөрөмж ижил толгой нэмбэл та гогцоо эсвэл давхардсан туннельтэй байна, ямар ч бодлогын засвар үүнийг засахгүй.
Мөн адил жагсаалт MTU-г шийднэ, учир нь ашиглах боломжтой дотоод хэмжээ нь хэмжсэн замын MTU-гээс сая жагсаасан толгойнуудыг хассан байна, өөр юу ч биш. Форумын нийтлэлээс тоо хуулахгүй байгаарай: гадаад IP, UDP, ESP-ийн нэмэлт зардлыг, дараа нь GRE эсвэл L2TP-г, дараа нь хамаарах газарт PPP-г нэмээд, бодитоор хэмжсэн замын MTU-гээс хас. Зөвхөн том дамжуулалтад илрэх шинж тэмдэг, эсвэл тогтсоны дараа эхний том хариулт дээр үхдэг сесс нь ихэвчлэн тэр нэмэлтийг таамаглалаар хийсэн рүү буцаана.
Давхарга бүрийг тусад нь, гаднаас дотогш шалга
Шалгалтуудыг дарааллаар нь хийж, эхний бүтэлгүйтсэн дээр зогсоо. Мөр бүр өөр асуултад хариулдаг тул бүтэлгүйтэл нь туннель эвдэрсэн гэхийн оронд ажлын хуудасны нэг баганыг заана.
ip xfrm state # is the IPsec SA up?
ip -s link show gre1 # does the overlay interface carry packets?
ip route get 10.20.0.5 # does the inner prefix route where you think?
ss -lun | grep -E "1701|4500" # are the L2TP and NAT-T listeners bound?Cisco хайрцаг дээр дүйцэх зүйл нь үүргээс хамаарч, яг синтакс нь платформ, хувилбараас хамаарна: IPsec түншүүдэд show crypto session, GRE эсвэл туннелийн интерфейст интерфейсийн тоолуур, холболтын үүрэгт VPDN эсвэл PPP шалгалт. PPP-г дуусгадаг командын багц нь GRE-ийн дэмжлэгийг юу ч батлахгүй, ажиллаж буй GRE интерфейс нь PPP үйлчилгээг юу ч батлахгүй, тиймээс диаграм дээрх биш, бодитоор тохируулсан үүргээ шалгаарай.
Гаралт бүрийг өөрт хамаарах ажлын хуудасны мөрийн хажууд тэмдэглэ. Гэмтэл идэвхтэй үед авсан тэмдэглэл нь дараа нь ой санамжаас дахин зурсан топологиос илүү үнэ цэнэтэй.
Задралын дарааллыг цэгцэлж, дараа нь дахин шалга
Задрал нь урвуу дарааллаар явагддаг, учир нь: хамгаалагдсан урсгалыг IPsec бодлогоос гаргасны дараа түүнд зориулж бичсэн капсулчлалыг арилга, эс бөгөөс бодлого байхгүй болсон интерфейс рүү заасаар байх бөгөөд дараагийн тохиргооны ачаалалт хамаагүй мэт газарт бүтэлгүйтнэ. Linux дээр энэ нь туннелийн интерфейсийн өмнө төлөв, бодлогын бичлэгүүдийг устгах гэсэн үг; чиглүүлэгч дээр туннелийн өмнө крипто зураг эсвэл профайлын бичлэгийг арилгах.
Дахин барьсны дараа хүлээн авалтын дөрвөн ажиглалтыг нэг нэгээр нь давт: гадаад хүртээмж, тогтсон IPsec нэгдэл, дизайнд багтсан бол тогтсон PPP сесс, бодит очих хаяг руу дотоод дамжуулалт. Нэг ногоон гэрэл нь бусад гуравт нотолгоо биш бөгөөд яг тэр завсар нь үйлдвэрлэлд хамгийн удаан тэсдэг алдаа — туннель асаалттай, шифрлэгдсэн, юу ч дамжуулахгүй байна, учир нь дотоод маршрут хэзээ ч нэмэгдээгүй.
Бөглөсөн ажлын хуудсыг төхөөрөмжийн тохиргооны хажууд хадгал. Бөглөж чадахгүй ямар ч багана нь ажил оноогүй давхарга бөгөөд ажилгүй давхарга нь ихэвчлэн стект байх ёсгүй давхарга юм.