Нэг AWS Client VPN сессийн цаанаах LAN: юу дамждаг вэ
Хост дээр ажиллаж буй сесс өөрөө LAN руу тэлэхгүй. Клиентийн дэмжлэг, дамжуулалт, орчуулга, хариуны замыг энэ дарааллаар шалгана.
Зөөврийн компьютер AWS Client VPN-ийн төгсгөлийн цэгт холбогдож, хувийн дэд сүлжээнд хүрч, бүх зүйл эрүүл харагдана. Ижил LAN дээрх ширээний компьютер хаана ч хүрэхгүй, гэхдээ Linux хост мөн гүүрэн интерфэйстэй бөгөөд хоёр машин нэг кабель дээр байна. Туннель дотор ямар ч буруу тохиргоо байхгүй; дутуу хэсэг нь маршрутлалт бөгөөд гүүр нь төөрөгдүүлэх ул мөр юм.
Client VPN сессийг LAN руу өргөтгөх нь гарцын үүрэг. Энэ нь удирдлагатай үйлчилгээ рүү сунгасан Ethernet сегмент биш.
Хост ажиллаж байхад LAN ажиллахгүй
Linux машины туннелийн интерфэйс Client VPN клиентийн CIDR дотор хаягтай бөгөөд төгсгөлийн цэг VPC-ийн хүрээнд маршрутуудыг түлхсэн. Тэр машин дээр хийсэн хүсэлт нь локалд үүссэн урсгал: маршрут сонгож, туннелээр гарч, хариу авдаг. Тэр зам нь дамжуулалтын код, LAN интерфэйс эсвэл дамжуулалтыг удирддаг ямар ч галт хананы дүрэмд хэзээ ч хүрэхгүй.
Өөр LAN төхөөрөмжөөс ирэх урсгал нь өөр урсгал. Энэ нь LAN интерфэйс дээр ирж, туннель рүү заасан маршрут хэрэгтэй, дамжуулалт идэвхтэй байх ёстой, зөвшөөрөх галт хана хэрэгтэй, хариу нь ижил хостор буцаж ирэх ёстой. Дөрвөн нөхцөл, ажиллаж буй зөөврийн компьютерын туршилт аль нэгийг нь ч батлахгүй. Ширээний компьютероос алдаа нь хачин харагдана: туннель ажиллаж байна, итгэмжлэл хүчинтэй, очих газар хэзээ ч хариулахгүй. Гэмтэл нь гарцын дамжуулалтын замд локал, үйлчилгээнд биш.
Клиент бүр гарц болж чадахгүй
AWS өөрийн Client VPN ширээний апп IP дамжуулалтыг дэмждэггүй, бусад клиент дэмжиж болно гэж мэдэгддэг. Энэ хязгаарлалт ямар ч команд бичихээс өмнө архитектурыг шийддэг. Хэрэв боломжтой цорын ганц клиент албан ёсны ширээний апп бол LAN-д зориулж дамжуулдаг Linux гарц нь таны гүйцээж чадах тохиргоо биш бөгөөд ямар ч хэмжээний masquerading үүнийг өөрчлөхгүй.
Орлуулах клиент мөн төгсгөлийн цэгийн нэр баталгаажуулалтын арга, таны хэрэгжүүлэх бодлоготой тохирох ёстой. Сертификат, лавлах, SAML-д суурилсан төгсгөлийн цэгүүд ижил клиент тохиргоог хүлээн авдаггүй бөгөөд нэр баталгаажуулалт хийсэн ч түлхсэн маршрутыг үл тоомсорлодог гуравдагч этгээдийн клиент нь сайжруулалт биш.
Клиентийн сонголтыг дизайны хяналтын хэсэг гэж үзээрэй. Энэ нь LAN дамжуулалтын загвар ерөнхийдөө боломжтой эсэх, гарцын цаанаах төхөөрөмж бүрд төгсгөлийн цэг ямар таних тэмдэг хардагийг тодорхойлдог. Клиент болон түүнийг туршсан төгсгөлийн цэгийн тохиргоог тэмдэглээрэй. Хагас жилийн дараах клиент солилт дизайны таамагласан боломжийг чимээгүй арилгаж болно.
LAN-ыг туннель рүү чиглүүлж, орчуул
Дэмжигдсэн клиент байвал үлдсэн нь энгийн гарцын ажил. LAN төхөөрөмжүүдэд VPC-ийн хүрээнд Linux хост руу заасан маршрут хэрэгтэй, хостод дамжуулалт идэвхтэй байх ёстой. Хэрэв VPC урсгалыг дурын LAN хаяг гэж биш, холбогдсон клиент гэж харахыг хүсвэл гарахдаа эх сурвалжийг орчуул.
LAN: 10.24.11.0/24
Linux LAN gateway: 10.24.11.15
VPN interface: tun0
Target VPC range: 10.2.0.0/16
iptables -t nat -A POSTROUTING -s 10.24.11.0/24 -d 10.2.0.0/16 -o tun0 -j MASQUERADEДүрмийг дээрх шиг туннелийн интерфэйс, VPC-ийн хүрээгээр хязгаарла, хост дамжуулж буй бүхнийг masquerade хийхийн оронд. Нарийн дүрмийг бодох нь хялбар бөгөөд анхны эх хаягаа хадгалах ёстой урсгалыг чимээгүй өөрчлөхгүй.
Боломжтой бол LAN маршрут автоматаар ирэх болтугай: DHCP сонголт, маршрутлагчийн зарлал эсвэл LAN-ыг удирддаг зүйлээс түлхсэн статик маршрут. Зөвхөн нэг туршилтын машин дээр байдаг маршрут нь өөр хэн нэгэн туршиж үзэх тэр мөчид дизайныг эвдэрсэн мэт харуулна.
Хариунд ч зам хэрэгтэй
Хүсэлт VPC-д хүрсний дараа хариу нь ижил орчуулгын төлвүүдээр буцаж, гарц дээр LAN маршрутыг олох ёстой. Энэ хэсэг нь ихэвчлэн masquerade дүрэм байгаа үед ажилладаг, учир нь зураглал нь үүнийг хийсэн хост дээр амьдардаг. VPC талд хариуг өөр газар илгээдэг маршрут байвал эвдэрнэ, тиймээс клиентийн CIDR маршрут болон төгсгөлийн цэг дээрх дэд сүлжээний холболт хоёулаа чухал.
Зөвхөн ping биш, тоолуурыг хараарай. Тэг пакеттай masquerade дүрэм нь хүсэлт туннелийн интерфэйст хэзээ ч хүрээгүй гэдгийг хэлнэ, энэ нь LAN маршрут эсвэл клиентийн өөрийн маршрутлалтын хүснэгт рүү буцаан заана. Пакеттай боловч хариугүй дүрэм VPC тал, зөвшөөрлийн дүрэм эсвэл орчуулсан эх сурвалжийг хүлээж авдаггүй аюулгүйн бүлэг рүү заана. Ямар нэг зүйлийг өөрчлөхөөс өмнө хоёр чиглэлийг уншаарай, учир нь зөвхөн нэг талд өсдөг тоо нь удаан биш, нэг чиглэлийн зам юм.
Төгсгөлийн цэг нь удирдлагатай үйлчилгээ гэдгийг санаарай. Засах серверийн тохиргооны файл ч, нэмэх client-config заавар ч байхгүй тул клиентийн дэд сүлжээний өөрийн маршруттай өөрөө удирддаг OpenVPN серверт зориулж бичсэн заавар шилжихгүй. AWS дээр хөшүүрэг нь дэд сүлжээний холболт, зөвшөөрлийн дүрэм, VPC-ийн маршрутлалтын хүснэгтүүд юм.
Хамтын таних тэмдэг бол бодлого хариулах ёстой хэсэг
Гарцын цаанаах төхөөрөмж бүр гарцын VPN сессийг ашигладаг. Төгсгөлийн цэгийн зөвшөөрлийн дүрэм хэрэглэгч эсвэл бүлэгт хандалт олгодог бөгөөд үйлчилгээний үүднээс тэр сесс дээр яг нэг хэрэглэгч байна. Локал дамжуулалт тэр таних тэмдгийг төхөөрөмж тус бүрийн нэр баталгаажуулалт болгон үржүүлэхгүй бөгөөд төхөөрөмжийн төлөв байдлын шалгалтыг булан дахь принтер хүртэл тэлэхгүй.
Энэ нь хүлээн зөвшөөрөгдөх эсвэл дизайныг татгалзах шалтгаан байж болно. Энэ нь VPC-ийн нөөц хэн дуудаж байгаа талаар юу гэж үздэгээс хамаарна. Зөвшөөрлийн загварт нийцэх хамтын таних тэмдэг зөв; нэг нэр баталгаажсан сессийг чимээгүйгээр бүх LAN-ийн хандалт болгон хувиргадаг нь бичигдэхийг хүлээж буй олдвор юм.
Хэрэв шаардлага нь үнэхээр бүхэл сайтыг VPC-тэй холбох бол алсын хандалтын клиентийг өргөтгөхөөс өмнө дэмжигдсэн сайт хоорондын дизайныг харьцуул. Семантик ялгаатай бөгөөд VPC LAN руу холболт эхлүүлэх шаардлагатай үед NAT хийсэн клиентийн сесс нь сайтын холбоосын муу орлуулагч юм.
Клиент, маршрут, орчуулга, таних тэмдгийн түүхийг энэ дарааллаар шийд. Тус бүр дараагийнхийг хязгаарладаг бөгөөд энэ дараалал нь хост яагаад ажиллаж, LAN яагаад ажиллахгүй байгааг тайлбарладаг.