Пренослив VPN клиент без администраторски права: што уште се крши
Пренослив VPN клиент може да го прескокне инсталаторот и сепак да бара тунелски уред, рута и запишување во резолверот. Извршете ги овие проверки пред да му верувате.
Преносливо го опишува инсталаторот, не кернелот. Клиентот може да дојде како една извршна датотека на USB и сепак да бара тунелски уред, запис во табелата со рути и запишување во резолверот пред првиот пакет да се движи. Кое од тие три целната машина ќе ви дозволи да го допрете одлучува дали таа градба воопшто работи таму. Проверките подолу одговараат на прашањето по редоследот по кој клиентот ќе ги сретне.
Преносливоста покрива три различни ветувања, а само едно е бесплатно
Без инсталатор значи дека добавувачот не регистрирал услуга, не испорачал деинсталатор и не додал ставка во менито. Без администратор значи дека обична сметка може да го стартува клиентот и да заврши врска. Без промена на домаќинот значи дека машината изгледа идентично откако ќе излезете. Страниците за преземање што велат пренослив обично ветуваат само првото од тоа, а другите две се местото каде распоредувањата пропаѓаат. Градбата може да биде пренослива и во потесна смисла: работи од медиум само за читање без никакви запишувања на точкасти датотеки, што сепак ништо не кажува за мрежниот стек.
Скапите ветувања се второто и третото. Една извршна датотека на која ѝ треба адаптер, рута или запишување во резолверот бара од оперативниот систем овластување што ознаката пренослив никогаш не го покрила.
Најдете го привилегираниот помошник што клиентот ќе го повика
Речиси ниту еден VPN клиент сам не движи пакети. На Windows патеката на податоци оди низ WFP филтри и Base Filtering Engine, на macOS низ давател на NetworkExtension што корисникот го одобрува во Системски поставки, а на Linux низ tun уред плус стекот за рутирање. Бинарната датотека што ја копиравте е контролна површина за тие компоненти, не нивна замена. Прашајте кој компонент го очекува клиентот, потоа потврдете дека е инсталиран, работи и е употреблив од вашата сметка.
Linux е најлесното место да се докаже тоа, бидејќи проверката е еден системски повик. Отворањето на /dev/net/tun и барањето уред од кернелот бара CAP_NET_ADMIN, а документацијата на кернелот за TUN/TAP го наведува и правилото за сопственост и способноста. Извршете ја проверката како сметката што ќе го стартува клиентот, не како root.
ls -l /dev/net/tun
ip tuntap add dev vpntest mode tun
ip link delete vpntest
Грешка со дозвола на средната линија е одговорот што го баравте: оваа сметка не може да создаде тунелски интерфејс, па секој клиент во корисничкиот простор на кој му треба еден пропаѓа при поврзување, а не при преземање. Последната линија го отстранува тест уредот и не печати ништо кога работи. Ако двете линии успеат, домаќинот не променил ништо трајно.
Тестирајте ги промените на рутата и резолверот пред првата врска
Поделениот тунел ја претвора врската во одлука за рутирање, додека целосниот тунел ја претвора во замена на стандардната рута. Двете се запишувања во мрежниот стек на домаќинот, и двете пропаѓаат за сметка без привилегии дури и кога самиот клиент стартува чисто. Резолверот е третото запишување, и на systemd домаќини обично тој се крши последен. Тој редослед е важен кога одлучувате каде да потрошите зголемено инсталирање.
Тестот на рута бара одредиште што навистина ви е важно, затоа заменете го долунаведениот заменски текст со подмрежа од вашиот профил. Името на уредот мора да постои за рутата да може да се закачи за нешто.
ip route add 10.20.0.0/16 dev vpntest
ip route del 10.20.0.0/16
resolvectl query intranet.example.internal
Ако првата линија врати RTNETLINK answers: Operation not permitted, сметката не може да ја инсталира приватната рута што ја бара профилот. Втората линија го докажува истото право обратно, што е важно бидејќи клиент што може да додава рути, но не да ги отстранува, остава скршена табела зад себе. Потоа барањето до резолверот покажува дали приватните имиња се решаваат низ тунелот или истекуваат кај резолверот на кој домаќинот веќе му верува.
Извршете ги сите три додека тест уредот уште постои, потоа избришете го. Рута што покажува на исчезнат уред е најчестата причина зошто преносен сметач ја губи поврзаноста по неуспешно поврзување.
Одлучете што мора да ја преживее сесијата
Бришењето на папката не е план за чистење. Адаптерите, рутите, поставките на резолверот, доверливите сертификати и зачуваните акредитиви можат секој да го надживее процесот, а услуга при подигнување може некои од нив да ги врати без да праша. Запишете што смее клиентот да остави зад себе пред да го извршите, не по првото неуспешно исклучување.
Практичното правило е да направите снимка од трите површини што ќе ги менувате и потоа да ги споредите. Пред првата врска запишете ги интерфејсите, главната табела за рутирање и состојбата на резолверот, потоа повторете ги истите три читања откако клиентот ќе излезе.
ip -brief addr show
ip route show table main
resolvectl status
Сето што е присутно во второто снимање, а отсутно во првото, бара сопственик. Или клиентот го отстранува при излез, или вие го отстранувате со истите команди што го создале, и тоа отстранување припаѓа во белешките за распоредување, а не во нечие сеќавање за тоа што се случило. На Windows еквивалентните читања се Get-NetAdapter, Get-NetRoute и Get-DnsClientServerAddress, кои не бараат зголемување, но ги покажуваат истите остатоци.