FreeBSD гарц машинуудыг ашиглан Интернэтээр тусгаарлагдсан хоёр сүлжээний хооронд VPN үүсгэх.
Энэ хэсэг нь IPsec-ийг тохируулах процессийг тайлбарлах болно. IPsec-ийг тохируулахын тулд та өөрчлөн тохируулсан цөм бүтээх ухагдахууныг мэдсэн байх шаардлагатай (Бүлэг 9, FreeBSD цөмийг тохируулах нь-г үзнэ үү).
IPsec нь Интернэт Протокол (IP) давхаргын дээр суудаг протокол юм. Энэ нь хоёр буюу хэд хэдэн хостуудыг аюулгүй байдлаар (нэрээс нь харах юм бол) холбох боломжийг олгодог. FreeBSD IPsec «сүлжээний стек» нь IPv4 болон IPv6 протоколуудыг хоёуланг дэмждэг KAME шийдэл дээр үндэслэсэн.
IPsec нь хоёр дэд протоколоос тогтоно:
Encapsulated Security Payload (ESP) буюу Хайрцаглагдсан Аюулгүй байдлын ачаа нь гуравдагчийн нөлөөллөөс тэгш хэмт криптограф алгоритмийг (Blowfish, 3DES-тэй адил) ашиглан агуулгыг нь шифрлэж IP пакетийн өгөгдлийг хамгаалдаг.
Authentication Header (AH) буюу Нэвтрэлт Танилтын Толгой нь аюулгүй хэш хийх функцаар IP пакетийн толгойн талбаруудыг хэш хийн криптограф хянах нийлбэрийг тооцоолон гуравдагч этгээдийн нөлөөлөл болон хууран мэхлэлтээс IP пакетийн толгойг хамгаалдаг. Үүний дараа пакет дахь мэдээллийг таниулахыг зөвшөөрөх хэшийг агуулсан нэмэлт толгой байдаг.
ESP болон AH нь орчноосоо хамаараад хоёулаа цуг эсвэл тусдаа ашиглагдаж болно.
IPsec нь хоёр хостын хоорондох урсгалыг шууд шифрлэх (Transport Mode буюу Тээвэрлэх Горим гэгддэг) буюу эсвэл хоёр корпорацийн сүлжээний хооронд аюулгүй холбоонд ашиглагдаж болох «виртуал туннелиуд» (Tunnel Mode буюу Туннелийн Горим гэгддэг) бүтээхэд хэрэглэгдэж болох юм. Сүүлийнх нь ерөнхийдөө Виртуал Хувийн Сүлжээ (VPN) гэгддэг. FreeBSD-ийн IPsec дэд системийн талаар дэлгэрэнгүй мэдээллийг ipsec(4) гарын авлагын хуудаснаас лавлах хэрэгтэй.
Өөрийн цөмдөө IPsec дэмжлэгийг нэмэхийн тулд та дараах тохируулгуудыг цөмийн тохиргоондоо нэмээрэй:
Хэрэв IPsec дибаг хийх дэмжлэг заавал хэрэгтэй бол дараах цөмийн тохируулга бас нэмэгдсэн байх шаардлагатай:
VPN-ийг байгуулахад ямар нэг стандарт байхгүй. VPN-үүд нь өөр өөрийн давуу болон сул талуудтай төрөл бүрийн технологиудыг ашиглан хийгдэж болно. Энэ хэсэг нь нэг тохиолдлын загвар үзүүлэх бөгөөд энэ тохиолдол дахь VPN-ийг хийхэд хэрэглэгдэх стратегиудыг харуулах болно.
Угтвар нөхцөл дараах маягийн байна:
Та хамгийн багадаа хоёр сайттай байна
Хоёр сайт хоёулаа IP-г дотооддоо ашигладаг
FreeBSD дээр нь ажилладаг гарц компьютераар хоёр сайт хоёулаа Интернэтэд холбогдсон.
Хоёр сүлжээний гарц компьютер бүр хамгийн багаар бодоход нэг нийтийн IP хаягтай.
Хоёр сүлжээний дотоод хаягууд нь нийтийн эсвэл хувийн IP хаягууд байж
болох юм, энэ нь хамаагүй. Тэдгээр нь давхцахгүй байх ёстой, өөрөөр
хэлбэл хоёулаа 192.168.1.x
-г ашиглаж
болохгүй юм.
Эхлээд security/ipsec-tools
портын цуглуулгаас суусан байх шаардлагатай. Энэ гуравдагч талын програм
хангамжийн багц нь тохиргоог дэмжихэд туслах хэд хэдэн програмуудыг
агуулдаг.
Дараагийн шаардлага нь пакетуудыг тунель хийх болон хоёр
сүлжээг зөв холбогдоход ашиглагдах хоёр gif(4) псевдо
төхөөрөмжийг үүсгэх явдал юм. root
хэрэглэгчээр
internal
болон
external
гэсэн утгуудыг жинхэнэ
дотоод болон гадаад гарцуудаар өөрчлөн дараах тушаалыг
ажиллуулна:
#
ifconfig gif0 create
#
ifconfig gif0 internal1 internal2
#
ifconfig gif0 tunnel external1 external2
Жишээ нь ажлын LAN-ий нийтийн
IP нь
172.16.5.4
бөгөөд
хувийн IP нь
10.246.38.1
байна.
Гэрийн LAN-ий нийтийн IP нь
192.168.1.12
бөгөөд
дотоод хувийн IP нь
10.0.0.5
байна.
Энэ нь толгой эргэмээр санагдаж болох бөгөөд ifconfig(8) тушаалын дараах жишээ үр дүнгээс харна уу:
Хийгдэж дууссаны дараа хоёр хувийн IP-д ping(8) тушаал ашиглан дараах үр дүнд харуулсан шиг хүрэх боломжтой байх ёстой:
Хүсэн хүлээж байсны дагуу хоёр тал хоёулаа хувийн тохируулсан хаягаасаа ICMP пакетуудыг илгээх болон хүлээн авах боломжтой байна. Дараа нь аль аль сүлжээнээс урсгалыг зөв илгээдэг байхын тулд хоёр гарцад хоёуланд нь пакетуудыг хэрхэн яаж чиглүүлэхийг зааж өгөх ёстой. Энэ зорилгод дараах тушаал хүрнэ:
#
corp-net# route add 10.0.0.0 10.0.0.5 255.255.255.0
#
corp-net# route add net 10.0.0.0: gateway 10.0.0.5
#
priv-net# route add 10.246.38.0 10.246.38.1 255.255.255.0
#
priv-net# route add host 10.246.38.0: gateway 10.246.38.1
Энэ үе хүрэхэд дотоод машинууд нь аль аль гарц болон гарцын цаана байгаа машинуудаас хүрэх боломжтой байх ёстой. Үүнийг хялбараар дараах жишээнээс тодорхойлж болно:
Тунелиуд үүсгэж тохируулах нь хялбар хэсэг юм. Аюулгүй
холбоосыг тохируулах нь илүү гүнзгий процесс юм. Дараах
тохиргоо нь урьдчилан хуваалцсан (PSK)
RSA түлхүүрүүдийг ашиглаж байна.
IP хаягаас гадна хоёр
/usr/local/etc/racoon/racoon.conf
файл
хоёулаа адил бөгөөд доорхтой төстэй байна.
Тохируулга бүрийг энэ жишээн дээр жагсаагдсантай нь тайлбарлах нь энэ баримтын хүрээнээс гадуур юм. racoon-ий тохиргооны гарын авлагын хуудсанд холбогдох мэдээлэл олон бий.
FreeBSD болон racoon нь хостуудын хооронд сүлжээний урсгалыг нууцлах болон буцааж задалж чаддаг байхын тулд SPD бодлогуудыг тохируулсан байх ёстой.
Энэ үйлдлийг дараах ажлын гарц дээрх шиг энгийн бүрхүүлийн
скриптээр шийдэж болно. Энэ файлыг системийг эхлүүлэх үед
ашиглах бөгөөд
/usr/local/etc/racoon/setkey.conf
гэж
хадгалах ёстой.
Ингэсний дараа racoon-г хоёр гарц дээр дараах тушаал ашиглан эхлүүлнэ:
#
/usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.log
Гарах үр дүнд нь доорхтой төстэй байна:
Тунель зөв ажиллаж байгааг шалгахын тулд нөгөө
консол руу шилжиж сүлжээний урсгалыг харахын тулд
tcpdump(1) ашиглан дараах тушаалыг хэрэглэнэ.
em0
-ийг сүлжээний интерфэйс картаараа
шаардлагатай бол солиорой.
#
tcpdump -i em0 host 172.16.5.4 and dst 192.168.1.12
Доорхтой төстэй өгөгдөл консол дээр гарах ёстой. Хэрэв үгүй бол асуудалтай гэсэн үг бөгөөд буцаасан өгөгдлийг дибаг хийх шаардлагатай.
Энд хүрэхэд хоёр сүлжээ хүрэх боломжтой байх бөгөөд нэг сүлжээний хэсэг юм шиг харагдах болно. Хоёр сүлжээ нь аль аль нь галт ханаар хамгаалагдсан байж болох бөгөөд ингэх ч ёстой юм. Тэдгээрийн хооронд урсгалыг зөвшөөрөхийн тулд пакетуудыг нааш цааш дамжуулах дүрмүүдийг нэмэх шаардлагатай. ipfw(8) галт ханын хувьд галт ханын тохиргооны файлдаа дараах дүрмүүдийг нэмээрэй:
Дүрмийн дугааруудыг тухайн хостын тохиргооноос хамаарч өөрчлөх шаардлагатай байж болох юм.
pf(4) эсвэл ipf(8),-ийн хэрэглэгчдийн хувьд дараах дүрмүүд үүнийг хийх болно:
Төгсгөлд нь системийг эхлүүлэх явцад
VPN-ийг
машин дэмжин ажиллаж эхэлдэг байлгахын тулд дараах мөрүүдийг
/etc/rc.conf
файлд нэмэх хэрэгтэй:
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар
<questions@FreeBSD.org>
хаягтай холбоо барихаасаа өмнө
баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал
<doc@FreeBSD.org>
хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал
<admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.