Ар бир OpenVPN түйүнүндөгү бир кызмат IP дареги: ал эмнени кылбайт
Ар бир түйүндө жеке /32 брондоңуз, кардар өзү тандаган серверге жетиши үчүн. Дарек бузулуу учурунда өтпөйт, сессияларды көчүрбөйт жана соо түйүндү тандабайт.
Кардар бир нече OpenVPN серверинин бирине туташат, анан ошол түйүндө иштеген кичине кызмат керек болот: статус барак, метрика акыркы чекити, камдык көчүрмө агенти. Ар бир түйүнгө бирдей жеке кызмат дарегин берүү кардардын конфигурациясын кайсы серверге түшкөнүнөн көз карандысыз бирдей кылат. Бул ыңгайлуулук чыныгы, жана аны ашыкча чечмелөө да оңой: жалпы дарек кайсы түйүнгө жеткениңизди айтат, бир нерсе ашыкча экенин эмес.
Эмне үчүн бирдей дарек ар бир түйүндө иштейт
Ар бир түйүн даректи жергиликтүү түрдө ээлейт жана ага жооп берет, ошондуктан азыркы туннели аркылуу ага жеткен кардар кызматты ошол туннелдин экинчи учунан алат. Түйүндөрдүн ортосунда эч нерсе шайкештештирилбейт жана бир түйүндөн экинчисине трафик өтпөйт.
Дарек — жергиликтүү белги, көчүрүлбөй кайталанат. Ар бир түйүн өзү үчүн гана жооп берет жана алардын эч бири дарек үчүн трафикти башка түйүндүн атынан бербейт. Бул бир кардар конфигурациясын жарактуу кармап турат, ал эми серверлер көз карандысыз бойдон калат. Бул да долбоорго түйүндөрдүн ортосунда эч кандай шайкештештирүү керек эместигинин себеби.
Ошондуктан бирдей конфигурация алардын ортосунда маршруттоо протоколунсуз ар бир серверде иштейт. Бул да долбоордун ден соолук жөнүндө эч нерсе айтпоосунун себеби: дарек оорулуу түйүндө да соо түйүндөгүдөй так бар, анткени ал хостко байланган, кызматтын пайдалуу болушуна эмес.
Аны loopback-ко дайындаңыз, туннелге эмес
Даректи loopback интерфейсине коюу аны каалаган туннель түзмөгүнүн жашоо мөөнөтүнөн бөлөт, ошондуктан кайра туташуу же конфигурацияны кайра жүктөө аны жок кылбайт. Дарек хост бар болгондой эле бар болот.
lo үстүндөгү дарек чыпка эмес. Кызмат дагы деле аны угуусу керек, жана хосттун брандмауэри дагы деле реалдуу кирүү жолун баалайт, ал туннель интерфейсине келет. Loopback жалаң жергиликтүү деп ойлогон адам акырында мыйзамдуу кардарларды тоспойт же өзү ойлогон эмес нерсени ачат.
Дайындоону hook-тон кайра кошуунун ордуна хосттун тармак конфигурациясы аркылуу туруктуу кыл. Орнотуу hook-у туннель көтөрүлбөгөн түйүндө иштебейт, ал эми кызмат дареги туннелдин активдүүлүгүнө көз каранды болбошу керек. Даректи таратууңуз башкарган интерфейс конфигурациясына коюңуз, анан бир жолу кайра жүктөп, аны текшериңиз. Кайра жүктөө — кийинки конфигурация өзгөрүүсүнө туруштук бере турган жалгыз сынак.
ip address show dev lo | grep 10.250.0.1
ip address add 10.250.0.1/32 dev loБир маршрутту түртүңүз жана бир барар жерди көздөңүз
Кардарга дарек үчүн хост маршруту керек, аны ал туташкан сервер сунуштайт. Ар бир сервер бирдей барар жерди сунуштагандыктан, кардар жылганда профиль өзгөрбөйт.
Кызматты күнөөлөөдөн мурун кардар эмнени орнотконун текшериңиз.
ip route get 10.250.0.1HTTP кызматы үчүн дарекке ат жана ошол атка сертификат бериңиз. Жалпы IP — инсандык эмес, ал TLS текшерүүсүн жок кылбайт жана бир жеке ачкычты ар бир түйүнгө көчүрүүнү актабайт. Жалпы дарекке чейин чечилген ат сертификаттын тарыхын кадимкидей кармайт жана керек болсо түйүн боюнча инсандыкты сактоого мүмкүндүк берет.
Жалпы дарек эмнени кыла албайт
Ал бузулуу учурунда өтүүнү камсыз кылбайт. Тандалган түйүн өлсө, дарек аны менен өлөт, ал эми кардар башка жерде кайра туташуусу керек.
Ал тирүү TCP сессиясын көчүрбөйт, анткени жаңы туташуу эски тууралуу эч нерсе билбеген башка хостто бүтөт.
Ал соо түйүндү тандабайт, жүктү тең салмактабайт жана түйүндөрдүн ортосунда маалыматты синхрондоштурбайт. Алардын ар бири өзүнүн бузулуу режимдери бар өзүнчө механизм, ал эми дарек амалы аларды жабат деп көз боёмочулук кылуу — жөнөкөй долбоордун туруктуулук боюнча татыксыз атакка ээ болушунун жолу. Эгер эки туннель бир убакта активдүү болсо, барар жердин мааниси эки маанилүү болуп калат, ошондуктан бир активдүү туннель жөнүндө божомолду ачык кармаңыз.
Кызматтын инсандыгын ат менен бирге кармаңыз
Даректин эмнени билдирерин жазып коюңуз: ал кардар азыр туташкан түйүндөгү кызматка жетет. Ошол бир сүйлөм бул үлгү тарткан түшүнбөстүктүн көп бөлүгүн алдын алат.
Анан бөлүктөрдү чогуу документтештириңиз: дарек, ал жашаган интерфейс, сервер түрткөн маршрут, жана кызмат сунуштаган ат менен сертификат. Келечектеги окуучу текшере ала турган төрт кичине факт, ал аларды текшере турган тартипте.
Эгер талап түйүнгө жергиликтүү кызмат үчүн туруктуу барар жер болсо, үлгү ылайыктуу жана дээрлик эч нерсеге турбайт.
Эгер талап жеткиликтүүлүк болсо, бир катмар жогору көтөрүлүңүз: жүк теңдештиргич, ден соолук текшерүүлөрү бар кызмат аты, же түйүндү кантип алмаштырууну мурунтан билген оркестрация системасы.
Муну эрте чечүү жалпы даректи өзү болуп турган ыңгайлуу белги катары сактайт, эч качан долбоорлонбогон ишти тынч күткөн компонентке айландырбастан.