Linux'төгү Kerio: kvnet'ке сервер күткөн MAC'ты берүү
kvnet ар бир туташууда кайра түзүлөт, ошондуктан бир жолку дарек өзгөртүү жоголот. Клиент журналга жазган маанини окуп, аны туташуудан кийинки илгичтен колдонуңуз.
Kerio туннели трафикти ташып өтүшү үчүн үч нерсе шайкеш келиши керек: kvnet интерфейсиндеги дарек, клиент журналга жазган маани жана сервердин саясаты же DHCP күткөн нерсе. Алар шайкеш келбесе, туннель баары бир аутентификациядан өтөт жана баары бир көтөрүлөт, дал ушул иштин бузулушун түшүнүксүз кылат. Интерфейс ар бир туташуу үчүн түзүлөт, ошондуктан кол менен коюлган дарек ошол сессияга гана таандык жана башка эч нерсеге эмес. Бул маселенин формасы, ал эми чечим конфигурация файлы эмес, илгич. Калганы — маанини кайдан окуу жана кайда колдонуу.
Дарек эмне үчүн дайыма кайтат
kvnet — клиент туташуу башталганда түзүп, бүткөндө жок кылган виртуалдык адаптер. Ошондуктан кол менен аткарылган ip link set колдонулган сессия гана жашайт, ал эми кийинки туташуу клиент ыйгарган мааниден башталат. Клиент күтүлгөн даректи колдоно албаган машинада ар бир кайра туташуу ошол эле шайкешсиздикти кайра алып келет, жана ижара же кирүү эрежеси түзмөктү кайра четке кагат.
Бул үлгү өзү диагностикалык. Бир сессияда иштеп, кийинкисинде кулап калган туннель каттоо эсебинин маселеси эмес, анткени каттоо эсептери туташуулардын ортосунда өзгөрбөйт.
Маанини интерфейстен эмес, клиенттен окуңуз
Linux клиенти сүйлөшүү деталдарын өзүнүн жөндөө журналына жазат, жана ал колдонууну ниет кылган дарек туташуу ырааттылыгынын акыркы дарек формасындагы токени катары ошол жерде көрүнөт. Аны ядро чындыгында кармап турган нерсе менен салыштырыңыз, ал бир readlink аралыкта: cat /sys/class/net/kvnet/address.
Эгер экөө айырмаланса, клиент туура маанини билген жана аны колдоно албаган, ал эми интерфейс пайда болгондон кийин аны колдонгон илгич ушул ажырымды жабат. Эгер журналда дарек таптакыр болбосо, маселе эртерээк жана скриптке эмес, клиенттин версиясына же сервердин профилине таандык.
Интерфейс пайда болгондон кийин колдонуңуз
NetworkManager колдонуучулары скрипти анын диспетчер папкасына салып, VPN интерфейси көтөрүлгөндө гана аракет кыла алышат. systemd башкарган клиент көбүрөөк көңүл бурууну талап кылат: кызмат башталганда иштеген drop-in адатта адаптер пайда боло электе ишке кирет, ошондуктан илгич адаптерди болжолдоонун ордуна интерфейсти күтүшү керек. Ошондо даректи коюңуз, эгер байланыш көтөрүлүп турганда ядро баш тартса, аны түшүрүңүз, даректи коюңуз жана кайра көтөрүңүз. Алынган токенди ip link буйругуна өткөрүүдөн мурун MAC үлгүсү аркылуу кайра окуңуз, күтүлбөгөн журнал сабы аргументке айланбашы үчүн.
Клиенттин журналынан root катары иштегендин баары тар менчикти талап кылат: root ээлик кылган файл, башкалар жаза албаган, жана текшерилген даректен тышкары эч кандай shell интерполяциясы жок. Үлгү текшерүүсүн скрипттин ичинде кармаңыз. Журналдын мазмуну кайсы буйрук иштей турганын чечүүгө жол бербеңиз.
Байланышты эмес, ижараны текшериңиз
ip -4 -o addr show dev kvnet күтүлгөн диапазондогу даректи көрсөтүшү керек, ip neigh show dev kvnet шлюзду көрсөтүшү керек, ал эми VPN артындагы бир кызмат жооп бериши керек. Анан бир жолу ажыратып, кайра туташыңыз; эгер дарек кайта турса, илгич туура эмес окуяда иштеп жатат же такыр иштебейт.
Туура дарек менен пайда болуп, эч качан ижара албаган интерфейс сервер тарабын көрсөтөт. Бул башка текшерүү жана адатта башка топ. Илгичти кайра оңдоодон мурун эсепке уруксат берилгенин жана пулда дагы дарек бар экенин ырастаңыз.
Жаңыртуудан кийин айланып өтүү жолун кайра карап чыгыңыз
Даректи туура койгон клиент курулушу сиздин илгичиңизди эскирген маанини колдонууда калтырат, бул оңдоо алып келген жаңы бузуктук. Ошондой эле MAC'ты башка машинадан же форум билдирүүсүнөн эч качан көчүрбөңүз; ушул клиент ушул эсеп үчүн журналга жазган маанини колдонуңуз жана текшерген күнүңүздү жазып коюңуз.
Скрипти бир отурушта окуй тургандай кыска кармаңыз. Журналдарды талдаган айланып өтүү жолдору табияты боюнча убактылуу. Тири калгандары — келечектеги окурман баштапкы темасыз түшүнө турган жолдор.