Кошумча Mac VPN маршруттарына ээ керек, кирүү скрипти эмес
Кирүү учурунда бир жолу кошулган маршрут — кайра туташуу саясаты эмес. Алыскы префикстерге ээ бериңиз жана алардын ошол байланыш менен кантип пайда болушун, өзгөрүшүн жана жоголушун чечиңиз.
VPN аркылуу жеке префикске жетүү — узактыгы бар талап: ал ошол байланыш колдонууга жарактуу болгонго чейин күчүндө болот жана байланыш бүткөндө бүтөт. Кирүү скрипти муну билдире албайт, анткени кирүү менен туннелдин көтөрүлүшү — ар башка учурлар, жана кирүү учурунда бар туннель бир мүнөттөн кийин трафикти ташыган туннель болбошу мүмкүн. Биринчи чечим — кайсы буйрукту иштетүү эмес. Ал — префиксти кайсы компонент ээлейт.
Префикске ээ керек, учур эмес
Талапты ээси бар сүйлөм катары жазып баштаңыз: жетиңиз 10.77.0.0/24 кеңсе VPN аркылуу, ошол байланыш турганда. Бул сүйлөм префиксти, байланышты жана шартты атайт, жана эки популярдуу алмаштыргычты дароо жокко чыгарат: кирүү илгичин жана мындай интерфейс атын ppp0 же utun2.
Интерфейс аттары аткаруу убагында берилет жана кайра туташуулардын ортосунда туруктуу эмес. Өткөн аптада көргөн атка дал келген илгич же иштетилбейт, же башка бирөөнүн интерфейсине каршы иштетилет. Эки натыйжа тең эскирген божомол катары эмес, маршруттоо катасы катары көрүнөт. Ошол эле каршылык белгилүү бир туннель турганда гана болгон атка байланган ар кандай скриптке да тиешелүү.
Маршрут ниетинин колдоого алынган булагын колдонуңуз
Шлюз, башкарылуучу профиль же ээ клиенттин документтелген маршрут механизми — бул механизм талапты билдире алса, туура жер ошол. Кайсынысы колдонулары протокол менен провайдерге байланыштуу, жана ачкычтар алардын ортосунда жүрбөйт, ошондуктан профилди конфигурациялаган маани OpenVPN түпнуска L2TP же IKEv2 клиенти жөнүндө эч нерсе айтпайт.
| Mechanism | Can carry extra prefixes | Who owns the lifetime |
|---|---|---|
| Gateway-pushed routes | Often, if the gateway is configured for it | The connection |
| Managed profile settings | Depends on the client and profile format | The profile |
| Provider tunnel settings | Yes, as included and excluded routes | The provider process |
| Manual command | Yes, once | Nobody |
Пакеттик туннелдерди иштеп чыгуучулар үчүн Apple'дын IPv4 туннель жөндөөлөрү кошулган жана чыгарылган маршруттарды ачык көрсөтөт, ал эми IPv6'нын да өз баламасы бар. Булар провайдер колдонгон API'лер, ар бир түпнуска VPN панели администраторго эркин маршрут тизмесин сунуштайт деген далил эмес. Эгер учурдагы айкалыш керектүү префикстерди билдире албаса, кийинки кадам — оператор тарабынан колдоого алынган конфигурация жолу, жакшыраак иштейт деген үмүт менен орнотулган башка колдонмо эмес.
Кызмат мөөнөтү тазалоону камтыйт
Кээде тышкы жардамчы чын эле керек, жана ошондо «маршрутту кош» анын ишинин эң кичине бөлүгү. Ал кайсы байланышка кызмат кыларын жана ошол байланыш кайсы интерфейсти колдонорун билиши, тиешелүү тармак абалы орнолгонго чейин күтүшү, катары менен эки жолу иштетилгенде идемпотенттик бойдон калышы, жана өзү орнотпогон эч нерсени тазалабашы керек.
Акыркы шарт — эң оорду. Кеңсе префиксине дал келген ар бир маршрутту жок кылган жардамчы эртеби-кечпи өзү кошпогон маршрутту да жок кылат. Пайда болгон тыныгуу VPN клиентине жабылат, анткени клиент — колдонуучу көргөн бөлүк. Жардамчы эмнени ээлей турганын жазганга чейин чечүү, кийин жергиликтүү кошумча тармак эмнеге жооп бербей калганын түшүндүргөндөн арзан.
Кайра туташуу жарышы
Тез кайра туташууну элестетиңиз. A сессиясы кулайт, B сессиясы көтөрүлүп өз маршрутун орнотот, анан A'нын кечиктирилген тазалоосу акыры иштейт. Эгер ал тазалоо маршруттарды префикс боюнча алып салса, B'нын жарактуу абалын да ала кетет, жана бир секунд мурун иштеген байланыш азыр эч жакка маршруттайт.
Бул — ээлик жарышы, ал эми скриптке уйку кошуу кайсы тарап утарын гана өзгөртөт. Чечим — тазалоону идентиктин шартына байлоо: жардамчы орноткон интерфейс менен сессияны азыркылар менен салыштырыңыз жана дал келгенде гана алып салыңыз.
Эмнени сыноо керек жана маршрут эмне кыла албайт
Кабыл алуу төрт өтүүнү камтышы керек: биринчи байланыш, башка интерфейске кайра туташуу, ийгиликсиз туташуу аракети жана акыркы ажыроо. Ар биринен кийин система алыскы тараптагы дарекке чындыгында тандаган маршрутту окуңуз, күткөн маршрутту эмес.
route -n get 10.77.0.5
netstat -rn -f inet
Ыңгайсыз учурларды да ошол эле айландырууга кошуңуз: керек жерде IPv6, алыскы префикс менен кабатташкан жергиликтүү префикс, жана туннель турганда иштешин улантышы керек болгон коомдук VPN акыркы чекитине маршрут. Анан маршрут эмне эмес экенин жазыңыз. Ал пакеттерди тандайт; ал алыскы тарапта уруксат бербейт жана кайтуу жолун түзбөйт, жана алар өзүнчө ээлери бар өзүнчө талаптар бойдон калат.
Сиз каалаган натыйжа — ар бир өтүүдө өзүнүн колдоого алынган байланыш ээсин ээрчиген префикс, ал эми жазылган машинада бир жолу кокустан ийгиликке жеткен буйрук эмес.