Cisco Secure Client дае два спосабы адказаць на адны і тыя ж запыты ўваходу: чалавек, які ўводзіць тэкст у vpnui.exe, або сцэнар, які падае адказы ў vpncli.exe праз стандартны ўвод з дапамогай -s. Другі спосаб робіць магчымымі запланаваныя падключэнні без счытвання экрана графічнага інтэрфейсу, і ён жа ператварае ўваход у файл, які трэба ахоўваць як уліковыя даныя. Які з іх вам патрэбны, залежыць ад таго, ці ёсць каля машыны чалавек і як часта змяняецца пароль. Ні адзін варыянт не змяняе таго, што запытвае шлюз, — толькі тое, хто адказвае.

Абодва шляхі вядуць у адзін і той жа тунель, таму параўнанне тычыцца эксплуатацыі, а не пратаколу.

Два спосабы адказаць на адны і тыя ж запыты

Шлях праз графічны інтэрфейс інтэрактыўны па задуме: кліент пытаецца, нехта адказвае, і сеанс жыве, пакуль гэты чалавек яго не кранае. Гэта правільны выбар для ноўтбука, якім карыстаецца чалавек, бо запыты падладжваюцца пад метад аўтэнтыфікацыі шлюза і нікому не даводзіцца трымаць пароль адкрытым тэкстам на дыску.

Шлях праз сцэнар падыходзіць для кіёска, лабараторнай машыны або запланаванай задачы, дзе няма каму ўводзіць. Абмен відавочны: вы прымаеце файл уліковых даных на дыску ўзамен на падключэнне без нагляду. Калі шлюз прапануе аўтэнтыфікацыю па сертыфікаце або SAML, такі абмен звычайна не варты, бо файл існуе толькі дзеля адказаў на запыты, якіх пазбегнуў бы мацнейшы метад.

Не змешвайце абодва на адной машыне адначасова. Камандны радок і графічны кліент спаборнічаюць за адзін і той жа стан сеансу, а гэта ўжо праблема наступнага раздзела.

Што павінен змяшчаць файл адказаў

Кліент запытвае па парадку — шлюз, часам выбар групы, імя карыстальніка, пароль і любое пацверджанне банэра. Файл, які адказвае на ўсё гэта, выглядае так, з падстаўленымі рэальнымі значэннямі:

connect vpn.example.com
MyGroup
alice
correct-horse-battery
y

Надзейны спосаб пабудаваць такі файл — падключыцца адзін раз уручную, запісаць кожны радок, які вы ўводзіце, і кожнае націснутае Enter, а затым дакладна ўзнавіць гэтую паслядоўнасць. Разгортванні, якія захоўваюць групу і імя карыстальніка ў профілі, могуць патрабаваць пустых радкоў там, дзе гэтыя запыты больш не з’яўляюцца, і апошні радок усё яшчэ патрабуе ўласнага пераходу на новы радок. Файл, якому не хапае аднаго радка, звычайна завісае на апошнім запыце замест таго, каб скончыцца зразумелай памылкай, і менавіта таму яго вінавацяць у праблемах сеткі. Параўноўвайце файл са сваёй стужачкай двойчы: адзін раз на парадак, другі раз на пустыя радкі.

Трымайце файл па-за любой сінхранізаванай папкай, і хай яго чытае толькі ўліковы запіс, які запускае задачу. Гэты пароль — адкрыты тэкст, значыць файл з’яўляецца ўліковымі данымі: ніякага рэпазіторыя, ніякага агульнага дыска, ніякага дадатку ў заяўцы. Кліент не папярэдзіць вас ні пра што з гэтага.

Чаму графічны інтэрфейс павінен спыніцца першым

Пачніце сцэнар з завяршэння працэсу графічнага інтэрфейсу, затым запусціце CLI з яго ўласнай тэчкі ўсталявання, бо важныя і працоўная тэчка, і зборка кліента. Ілюстратыўная абгортка:

@echo off
taskkill /IM vpnui.exe /F >nul 2>&1
cd /d "%PROGRAMFILES(x86)%\Cisco\Cisco Secure Client"
vpncli.exe -s < C:\secure\login.txt

Коды выхаду тут не надзейны сігнал поспеху. Кліент друкуе свой прагрэс і трымае тунель у асобным працэсе, таму чытайце вывад дзеля радка стану падключэння і толькі потым пачынайце працу, якая залежыць ад VPN.

Калі прапусціць забойства графічнага інтэрфейсу, сцэнар можа выглядаць як працуючы, пакуль існуючы сеанс застаецца ў тым стане, у якім яго пакінуў карыстальнік. Такая паломка выглядае перарывістай, і гэта менавіта той від памылкі, які перажывае тыдзень здагадак.

Пацвердзіце сеанс, а не мяркуйце пра яго

Пасля вяртання сцэнара праверце нешта, што існуе толькі ўнутры тунеля — унутраны хост або суфікс DNS, на які адказвае толькі карпаратыўны рэзалвер. Таксама прачытайце ў вывадзе кліента радок стану падключэння і лічыце ўсё іншае памылкай, а не павольным поспехам. Паўторны запуск файла, калі сеанс ужо ўзняты, можа пакінуць кліент напалову наладжаным, таму або спачатку адключыцеся, або прапусціце ўваход, калі сеанс ёсць.

Затым вырашыце, хто адказвае за перападключэнне. Цыкл, які пінгуе ўнутраны адрас і паўтарае ўваход, можа трымаць кіёск у сетцы месяцы, але ён жа можа заблакаваць уліковы запіс пры першай змене пароля. Абмяжуйце колькасць спроб, папярэджвайце пры выхадзе за мяжу і дайце камандзе ідэнтыфікацыі змяняць файл замест таго, каб састарэлы пароль паўтараў спробы да блакіроўкі.

Стары vpnclient.exe — не той жа інструмент

Тая ж аўтаматызацыя існуе пад старэйшым імем, і гэтыя дзве рэчы не ўзаемазаменныя. Зняты з эксплуатацыі кліент Cisco IPsec выкарыстоўваў vpnclient.exe з убудаванымі аргументамі, такімі як дзеяслоў connect, імя профілю, карыстальнік і пароль у адным камандным радку; а vpncli.exe чакае паслядоўнасць запытаў у стандартным уводзе з -s. Таму капіраванне старога форумнага сцэнара на сучасную машыну дае каманду, якая запускаецца, нічога бачнага не робіць, а вінавацяць у гэтым шлюз.

Перш чым правіць любыя аргументы, праверце, які кліент усталяваны і які з іх сцэнар насамрэч выклікае. Розніца ў назве дастаткова малая, каб прапусціць яе ў запланаванай задачы, і гэта першае, што трэба праверыць, калі атрыманы ў спадчыну сцэнар перастаў працаваць пасля абнаўлення.

Падобныя артыкулы