Нэг Linux хост дээр хоёр OpenVPN туннель: маршрут хэнийх вэ?
Пүүл, түлхэгдсэн маршрут, анхдагч шаардлагыг хуваарилсны дараа хоёр клиентийн профайл зэрэгцэн оршиж болно. Эхлээд эзэмшлийг шийдэж, дараа нь буцах замд тэмдэг ашиглана.
Хоёр профайл холбогдсон бөгөөд тэдгээрийн нэг нь нөгөөд зориулагдсан траффикийг чимээгүй зөөж байна. Linux хост хоёр OpenVPN клиентийг нэгэн зэрэг ямар ч хүндрэлгүй ажиллуулж чадна. Хийж чадахгүй зүйл нь аль процесс аль префиксыг шаардаж болохыг таны оронд шийдэх явдал юм. Энэ шийдвэрийг хоёр дахь туннель босохоос өмнө гаргах ёстой, ямар нэг нөөц хариу өгөхөө болихын дараа биш.
Хоёр дахь холбоос хийх ёстой ажлаас эхэл
Нэг профайлаар хүрэх оффис болон нөгөөгөөр хүрэх лаборатори нь хоёр туннель боссон байх ба аль нь ч бүгдийг шаардахгүй байхыг шаарддаг. Хоёр дахь профайлаар гарах ёстой нэг зөрүүд аппликейшнд хоёр дахь анхдагч маршрут биш бодлогын дүрэм хэрэгтэй. Нөөц холбоос нэг удаад зөвхөн нэг ажиллаж буй туннель хэрэгтэй тул нөөц нь машины хамт эхлэх ёсгүй.
Эдгээр нь гурван өөр тохиргоо бөгөөд гурвуулаа ижилхэн эхэлдэг учраас андуурдаг: хоёр дахь профайл ба амжилттай холболт. Эхлээд төлөвлөсөн зохицуулалтыг бичээд, дараа нь түүн рүү тохируулна. Зорилгын тухай нэг өгүүлбэр нэг цагийн пакет барилтыг хэмнэдэг.
systemctl list-units --type=service 'openvpn-client@*' ip -4 route show default
Эхний команд нь ажиллаж буй инстанцуудыг жагсааж, менежерээс гадуур гараар эхлүүлсэнүүдийг оруулна. Хоёр дахь нь одоогийн анхдагч шаардлагыг хэвлэх бөгөөд энэ нь дараа тайлбарлах ёстой төлөв юм.
Давхцсан пүүлүүд маршрутаас өмнө эвдэрдэг
Хоёр сервер нэг 10.8.0.0/24-өөс хаягийг баяртайгаар хуваарилна. Дараа нь клиент нэг префикс дотор хоёр интерфэйс барьж, аль очих газар аль руу хамаарахыг хэлэх зүйл байхгүй болж, үүнээс үүдэх зан төлөв нь маршрутын гэмтэл мэт харагдах боловч үнэн хэрэгтээ дугаарлалтын гэмтэл юм. Пүүлийг дахин дугаарлах нь нэг тохиргооны засвар болдог; дараагийн маршрутын тойрч гарах бүр нэг амралтын өдөр болдог. Түүнд маршрут нэмэхийн өмнө пүүлийг шалгана.
Орон нутгийн LAN-ыг ч харна. Нэг туннель нээдэг 192.168.1.0/24 дугаартай гэрийн LAN мөн адил хоёрдмол утга үүсгэдэг бөгөөд шинж тэмдэг нь холболт хэзээ ч дуусалгүй шийдэгддэг хост нэр юм. Маршрутуудыг хэвлэх хүртэл энэ нь нэр шийдвэрлэх гэмтэл мэт харагдана.
ip -4 addr show ip route show table all | grep -E '10\.|192\.168\.'
Клиентэд хүрэхийн өмнө хоёр гаралтыг хоёр серверийн тохиргоотой харьцуулна. Префиксүүд давхцаж байвал зогсоод дахин дугаарла, учир нь хэчнээн дахин ачаалсан ч тэднийг салгахгүй.
Профайл бүрт өөрийн нэгжийг, префикс бүрт эзнийг өг
Профайл бүр өөрийн инстанцын нэр, өөрийн тохиргооны файлыг авдаг тул office нэртэй инстанц office.conf-ыг, lab нэртэй нь lab.conf-ыг ачаална. Каталогийн жагсаалтад итгэхийн оронд үйлчилгээний менежерээр дамжуулан тэр зураглалыг баталгаажуулна, учир нь drop-in аль файл ачаалагдахыг өөрчилж болно. Зураглалыг буруу хийвэл ажиллахгүй байгаа профайлыг тааруулж байна гэсэн үг.
Дараа нь маршрутуудыг хэн суулгахыг шийднэ. Серверүүд нийцэхгүй багцуудыг түлхэх үед нэг бол түлхэлтийг татгалзаж префиксүүдийг өөрөө жагсаа, эсвэл нэг профайлд анхдагчийг хадгалуулж, нөгөөг бодлогын дүрмээр удирд. Хоёулаа анхдагч суулгадаг хоёр процесс чимээгүй ялагчтай, шийдвэрийн бичмэл бүртгэлгүйгээр төгсдөг.
systemctl cat [email protected] grep -E 'route-nopull|pull-filter|redirect-gateway' /etc/openvpn/client/lab.conf
Эхнийх нь нэгжийг аргументуудыг нь өөрчилдөг аливаа дарж бичилттэй хамт харуулна. Хоёр дахь нь профайл түлхэгдсэн маршрутыг огт хүлээж авдаг эсэхийг харуулах бөгөөд энэ нь цаашдын бүгдийг тодорхойлдог унтраалга юм.
Тэмдэг нь хариуг ирсэн интерфэйс дээрээ барина
Туннель бүр өөр эх сурвалжид үйлчлэх үед хариу буруу холбоосоор гарч, эхний пакетын дараа холболт үхэж болно. Тэсвэрлэдэг загвар нь ирж буй пакетуудыг оролтын интерфэйсээр тэмдэглэх, тэр тэмдгийг хариунд сэргээх, тэмдэг бүрт өөрийн анхдагч гарцтай хүснэгт өгөх явдал юм.
Нөлөөлөлд өртсөн интерфэйсүүдэд сул урвуу замын шүүлтийг ихэвчлэн сулруулах шаардлагатай, учир нь хариу нь үндсэн хүснэгт хэзээ ч сонгохгүй холбоосоор хууль ёсоор ирдэг. Тэмдгүүдийг нарийн байлгаж, туннелиудын өөрийн шифрлэгдсэн траффикийг хэзээ ч барихгүй байх ёстой, тэгвэл туннелийг өөр дотроос нь илгээх болно.
ip rule show ip route show table 101 sysctl net.ipv4.conf.all.rp_filter
Өөр нэгийг нэмэхийн өмнө одоо байгаа дүрмүүдийг уншина. Давхардсан тэргүүлэх чиглэл, мартагдсан хүснэгтүүд нь тэмдгийн бодлого огт нөлөөгүй мэт харагдах нийтлэг шалтгаан юм.
Нэг холбоосыг зогсоож тусгаарлалтыг нотол
Хоёр туннель боссон үед интерфэйс бүрийн хаяг, туннель бүрийн ард байгаа нэг хост руу хүрэх маршрут, холбоогүй очих газар явдаг замыг тэмдэглэнэ. Нэг хүснэгт уншихын оронд цөмөөс хайлтыг асууна, учир нь нэг хүснэгт эцсийн шийдвэрийг хэзээ ч харуулдаггүй.
Дараа нь нэг инстанцыг зогсоож, нөгөө нь үргэлжлэх үед түүний интерфэйс болон маршрутууд алга болж байгааг харна. Амьд үлдсэнд үүссэн тасалдал нь хоёулаа хэн ч салгаагүй төхөөрөмжийн нэр, маршрут эсвэл галт хананы дүрмийг хуваалснаар байгааг илтгэнэ.
Зогсоосон профайлыг буцааж, ижил шалгалтуудыг давтана. Дахин ачаалсны дараах эхний эхлэлт дээр л туннель амьд үлдвэл та маршрутын загвар биш, амьдралын мөчлөгийн гэмтэл харж байна.