Маршрутад суурилсан IPsec нь маршрутын хүснэгтэд өмнө нь бодлогын сонгогчид гаргадаг шийдвэрийг өгдөг. Linux дээр үүнийг боломжтой болгодог хэсэг нь XFRM интерфэйс: сонгогчоор биш, интерфэйсийн танигчаар трафик нь IPsec төлөвтэй таардаг виртуал төхөөрөмж. Нэгийг үүсгэхэд нэг команд хангалттай бөгөөд энэ нь туннель байгаа эсэхийг юу ч нотлохгүй. Төхөөрөмж нь маршрутлалт ба аюулгүй байдлын бодлогын хоорондох дэгээ бөгөөд ямар нэг зүйл хамгаалагдахаас өмнө тэр дэгээний хоёр талыг тохируулах ёстой.

Төхөөрөмж гэж юу вэ, юу биш вэ

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

Энэ бол эхний оношлогооны хуваалт. Төхөөрөмж рүү орох маршрут нь маршрутлалтын баримт, суулгасан төлөв нь аюулгүй байдлын баримт, төхөөрөмж дээр өсөж буй тоолуур нь аль нь ч биш. Хүмүүс интерфэйс UP харуулж байгаа тул туннель өргөгдсөн гэж хэлэхдээ өөрийн хосгүй виртуал төхөөрөмжийн холбоосын тугнуудыг дүрсэлж байгаа юм. Туг нь төхөөрөмж үүсгэгдэж, идэвхжсэнийг илэрхийлнэ, үүнээс өөр юу ч биш.

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

Зөв дарааллаар нэгийг бүтээ

Гадаад төхөөрөмж болон демоны тохиргоонд мөн оруулах тоогоор эхэл. Жишээ нь гадаад интерфэйсээр eth0, танигчаар 42-ыг ашигладаг бөгөөд эдгээр хаягийг өөрийн хаягаар солих хэрэгтэй.

Төхөөрөмжийг өргөөд, VPN тохиргоог хүрэхээс өмнө цөм бүртгэсэн танигчийг баталгаажуул:

sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip link set xfrm0 up
ip -d link show xfrm0 | grep -o 'if_id [0-9]*'

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

IKE болон ESP-ийг туннелийн маршрутаас гадуур байлга

XFRM төхөөрөмж рүү заасан анхдагч маршрут нь инкапсулчсан пакетууд болон тэдгээрийн зөөж буй трафикийг хоёуланг нь барьж авдаг. Үр дүн нь давталт: гарц өөрийн ESP-ийг ESP барих ёстой туннелээр илгээхийг оролддог.

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

Юу ч сонгосон, гадаад пакет инкапсулчлалгүй гарч байгааг шалга. Хурдан шалгалт нь туннель өргөгдсөний дараа хосын гадаад хаяг руу ping хийх; хэрэв интерфэйс өргөгдсөн байхад энэ нь бүтэлгүйтвэл хүрэх боломжоос илүү баригдахыг сэжиглэ. Ижил логик IKE портод мөн хамаатай, учир нь демоны өөрийн UDP трафик нь түүнийг тогтоохыг оролдож буй төхөөрөмж рүү чиглэгдэх ёсгүй.

Шифрлэлийг буруутгахаас өмнө тоолуурыг хоёр газарт шалга

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

Хоёуланг нь уншаад, дараа нь демоны хүүхэд холбооны талаарх үзэл бодлыг унш:

ip -s link show xfrm0
sudo ip xfrm state list | grep -E 'src|proto|mode'
sudo swanctl --list-sas

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

Маршрутыг хэн суулгахыг шийд

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

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

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

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