Quomodo coniungere ad corporatum VPN in Linux utendo openconnect et vpn-slice?

Visne Linux in opere uti, sed corpus tuum VPN te non dimittet? Tunc articulus hic adiuvare potest, licet hoc certum non sit. Vellem ante te monere me non intelligere retis administrationis quaestiones bene, ut fieri possit ut omnia fecerim mali. Fieri autem potest ut ducem ita scribere possim, ut uulgo intelligatur, ita id experiri censeo.

Articulus multum necessarias informationes continet, sed sine hac scientia difficultates solvere mihi subito apparuerunt quae VPN constituendae sunt. Puto aliquem qui hoc duce uti nititur difficultates habere quas non habeo, et spero extra informationem hanc problemata sua sponte solvendi adiuvabit.

Maxime mandatorum in hoc duce opus est currere per sudo, quod brevitati remotum est. Recolens in corde meo.

Pleraque IP inscriptiones graviter obfuscatae sunt, si ergo videas electronicam similem 435.435.435.435, debet esse quaedam normalis IP ibi, specifica casui tuo.

Decuriam habeo 18.04, sed dux cum minoribus mutationibus aliis distributionibus applicari posse puto. Sed in hoc textu Linux == Decuria.

Cisco Connect

Qui in Fenestra vel MacOS sunt, ad corporatum nostrum VPN per Cisco Connect coniungere possunt, quae electronicam ianuam denotare oportet et, quoties iungis, tesseram ex certa parte et codice a Google Authenticatore genito intrant.

In casu de Linux, Cisco Connect cursus obtinere non potui, sed potui google commendationem openiendi utendi, facta specie pro Cisco Connect.

Openconnect

In theoria Ubuntu specialem graphical interfacem pro openconnect habet, sed pro me non laboravit. Fortasse est in melius.

De Ubuntu, openconnect e sarcina procurator inauguratur.

apt install openconnect

Statim post institutionem conemur connectere VPN

openconnect --user poxvuibr vpn.evilcorp.com

vpn.evilcorp.com est oratio ficta VPN
poxvuibr - ficticium nomen usoris

openconnect rogabit, ut tesseram ineas, quae, ut te moneam, ex certa parte et codice apud Google Authenticatorem consistit, ac deinde cum vpn coniungere conabitur. Si agit, gratulationes, medium omittere tuto potes, quod multum est doloris, et ad punctum de progressu openconnect in curriculo migrare. Si non operatur, pergere potes. Licet si opus connectens, exempli gratia, ex hospite Wi-Fi operante, immaturum sit ut gaudeat, de domo procedendi iterare conetur.

Testimonium

Probabilitas magna est quod nihil incipiet, et aperta connectio output aliquid simile hoc spectabit:

POST https://vpn.evilcorp.com/
Connected to 777.777.777.777:443
SSL negotiation with vpn.evilcorp.com
Server certificate verify failed: signer not found

Certificate from VPN server "vpn.evilcorp.com" failed verification.
Reason: signer not found
To trust this server in future, perhaps add this to your command line:
    --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444
Enter 'yes' to accept, 'no' to abort; anything else to view: fgets (stdin): Operation now in progress

Ex altera parte, hoc injucundum est, quod ad VPN nexum non pertinebat, sed ex altera parte, quomodo problema hoc figere in principio patet.

Hic ministrator libellum nobis misit, quo statuere possumus nexum fieri servitori corporum nostrorum nati, non fraudis mali, et hoc testimonium rationi ignota est. Et ideo non potest inspicere utrum minister verus sit an non. Itaque, si modo, operatur.

Ut openconnect coniungere cum servo, expresse debes dicere id quod certificatorium debet venire a servo VPN utente clavis -servercert

Et invenire potes ex quo certificatorium nobis misit servo directo ex illis quae typis expressa sunt. Hic est ex hac parte:

To trust this server in future, perhaps add this to your command line:
    --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444
Enter 'yes' to accept, 'no' to abort; anything else to view: fgets (stdin): Operation now in progress

Cum hoc mandatum experiri potes iterum coniungere

openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr vpn.evilcorp.com

Fortasse nunc laborat, tunc ad finem progredi potes. Sed personaliter, Ubunta floccum mihi ostendit in hac forma

POST https://vpn.evilcorp.com/
Connected to 777.777.777.777:443
SSL negotiation with vpn.evilcorp.com
Server certificate verify failed: signer not found
Connected to HTTPS on vpn.evilcorp.com
XML POST enabled
Please enter your username and password.
POST https://vpn.evilcorp.com/
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 300, Keepalive 30
Set up DTLS failed; using SSL instead
Connected as 192.168.333.222, using SSL
NOSSSSSHHHHHHHDDDDD
3
NOSSSSSHHHHHHHDDDDD
3
RTNETLINK answers: File exists
/etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf

/etc/resolv.conf

# Generated by NetworkManager
search gst.evilcorpguest.com
nameserver 127.0.0.53

/run/resolvconf/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 192.168.430.534
nameserver 127.0.0.53
search evilcorp.com gst.publicevilcorp.com

habr.com solvet, sed ibi ire non poteris. Inscriptiones ut jira.evilcorp.com omnino non resolvuntur.

Quid hic acciderit, mihi non liquet. Experimentum autem ostendit si lineam ad /etc/resolv.conf . addas

nameserver 192.168.430.534

tunc inscriptiones intra VPN magice resolvere incipies et per eas ambulabis, id est, quid DNS quaerunt ad solvendas inscriptiones speciatim in /etc/resolv.conf, et non alibi.

Potes cognoscere nexum esse cum VPN et operatur sine mutationibus ad /etc/resolv.conf: hoc facere, modo in navigatro intrabis non symbolicum nomen subsidii ex VPN, sed IP inscriptionem eius.

Quam ob rem duae difficultates sunt

  • Coniungens cum VPN, eius dns non sustulit
  • omnia negotiatio VPN percurrit, quae aditum ad Interreti non patitur

Dicam quid nunc facias, sed primum paulum automation.

Automatic viscus certae partis tesserae

Iam maxime verisimile es tesseram tuam iam quinquies saltem ingressus es et hoc modo te iam defessus est. Uno modo, quia signum est longum, secundo, quia intrando oportet te aptare intra tempus determinatum

Postrema solutio quaestionis in articulo non inclusa est, sed certam partem tesserae certum non pluries inserendum esse.

Ponamus certam partem tesserae fixaPassword esse, partemque a Google Authenticatoris 567, 987. Tota password transmitti potest ad openconnect per vexillum initus adhibito argumento -passwd-in-stdin.

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr vpn.evilcorp.com --passwd-on-stdin

Nunc constanter redire potes ad ultimum initum imperium ac solam partem Google Authenticatoris ibi mutare.

VPN corporatum non patitur te in interreti salo.

In genere, non valde incommodum est, cum computatrum separatum ad Habr uti debeas. Impotentia ad effingendum crustulum ex StackOverfow plerumque impediendum opus est, ut aliquid fieri oporteat.

Hoc aliquo modo instituere necesse est ut cum subsidio ab retis internis accedere debes, Linux ad VPN pergit, et cum Habr ire debes, ad Internet accedit.

openconnect, deductis et constituendis nexum cum vpn, specialem scripturam exequitur, quae in /usr/share/vpnc-scripts/vpnc-scripte sita est. Quaedam variabiles transeuntes ad scriptionem ut input, et VPN conformat. Infeliciter, non potui fingere quomodo commercium dividere inter corporatum VPN et reliquos Penitus scriptione indigena uteretur.

Videtur, utilitas vpn-slice evoluta est praesertim hominibus similibus me, quae per duos canales sine tympano saltando commercium mittere sinit. Id est saltare debebis, sed flaminis esse non debes.

Negotiationis separatio per vpn-slice

Primo, habebis vpn-saliculum instituere, hoc ex te debebis instare. Si quaestiones sunt in commentario, de hoc seorsum scribam. Sed hoc propositum est regularis Pythonis, ut nullae sint difficultates. Inauguratus sum usura virtualenv.

Tum utilitas adhibenda est, utens transitum -scriptum, indicans openconnect se pro scriptione vexilli uti, debes vpn-slice uti.

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin 
--script "./bin/vpn-slice 192.168.430.0/24  " vpn.evilcorp.com 

-- Scriptum est filum cum mandato vocandi loco scripto. ./bin/vpn-slice - iter ad vpn-slictum exsecutabile 192.168.430.0/24 - larva inscriptionum ad ingrediendum in vpn. In hoc significamus quod si oratio incipit ab 192.168.430, tunc subsidia huius inscriptionis intra VPN quaerenda sunt.

Res fere nunc esse tation. Fere. Nunc potes ire ad Habr et potes ire ad subsidia intra-corporata per ip, sed ad subsidia intra-corporata nomine symbolico ire non potes. Si parem inter nomen symbolicum et electronicam in exercitibus denotas, omnia operari debent. Donec ac labore ip consequat. Linux nunc ad interretialem vel intraneum accedere potest, secundum IP. Sed non-corporatum DNS adhuc inscriptione determinare solebat.

Quaestio etiam in hac forma se manifestare potest - in opere omnia bona sunt, domi autem solum accessere facultates corporales internas per IP. Causa est, quia cum Wi-Fi ad corporatum coniunguntur, corpus DNS etiam adhibetur, et inscriptiones symbolicae ex VPN in eo resolvuntur, licet adhuc in tali inscriptione sine VPN adire non possit.

Mutatio automatic lima exercituum

Si vpn-scalpa quaeratur blande, tunc VPN sublato, ire potest ad DNS suum, ibi IP inscriptiones facultatum necessariarum per nominibus suis symbolicis inuenire et in exercitum ingredi. Post VPN declinationem, hae inscriptiones ab exercituum removebuntur. Ad hoc efficiendum, nomina symbolica ad vpn-secare tanquam argumenta transire debes. Hoc simile.

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com 

Nunc omnia tam in officio quam in litore operari debent.

Quaere inscriptiones omnium subdominorum in DNS a VPN datas

Si paucae sunt inscriptiones intra retiaculum, accessus fasciculorum automatice modificatio operarum satis bene facit. Sed si multae facultates in retiaculis sunt, subinde opus est ut lineas zoidberg.test.evilcorp.com ad scriptionem zoidberg addere necesse est nomen unius e scamnis examinis.

Sed nunc ut intelligamus parum quare haec necessitas eliminari potest.

Si, sublato VPN, in /etc/militiis inspicis, hanc lineam videre potes

192.168.430.534 dns0.tun0 # vpn-slice-tun0

Et nova linea addita ad resolv.conf. Denique vpn-slice quodammodo determinatur ubi dns servo pro vpn sita est.

Nunc efficere opus est ut ad cognoscendam IP inscriptionem nominis domain in evilcorp.com desinentem, Linux ad corpus DNS accedit, et si quid aliud opus est, ad defaltam.

Ego Googled aliquanto tempore reperiebam talem functionem in Ubuntu e cista praesto esse. Hoc modo facultatem utendi loci dns servo dnsmasq ad nomina componenda.

Hoc est, efficere potes ut Linux semper ad DNS locale server pro IP inscriptionibus, quae vicissim, nomine regio pendentes, IP exspectet in servo DNS externo respondente.

Ad omnia retia et nexus retis pertinentia administrare, Ubuntu NetworkManager utitur, et instrumento graphico ad eligendum, exempli gratia, nexus Wi-Fi iustus anterius finis est.

Nos oportet in eius configurationem ascendere.

  1. Fasciculum crea in /etc/NetworkManager/dnsmasq.d/evilcorp

address=/.evilcorp.com/192.168.430.534

Adtendite punctum ante evilcorp. Signat dnsmasq omnes subdomains of evilcorp.com searched in dns corporate.

  1. Dicite NetworkManager ad nomen senatus dnsmasq

Configuratio retis-procuratoris in /etc/NetworkManager/NetworkManager/NetworkManager.conf Configuratio hic addere debes:

[main] dns=dnsmasq

  1. Sileo NetworkManager

service network-manager restart

Nunc, cum connectens VPN cum openconnect et vpn-slice utendo, ip normaliter determinabitur, etsi symbolicas inscriptiones argumentis vpnslices non addas.

Quomodo accedere singula officia per VPN

Postquam potui coniungere ad VPN, valde laetus sum per duos dies, et tunc evenit ut si extra officium retis coniungere ad VPN, tunc epistulas non operatur. Nota est indicium, annon?

Inscriptio nostra in mail.publicevilcorp.com sita est, quod significat non cadere sub imperio in dnsmasq et inscriptionem electronicam servo per DNS publicam inquiritur.

Bene, officio adhuc DNS utitur, qui hanc inscriptionem continet. Hoc est quod cogitavi. Nam additis lineis ad dnsmasq

address=/mail.publicevilcorp.com/192.168.430.534

res minime mutata est. ip manente. Ad opus habui.

Et tantum postea, cum altius in rem conieci et quaestionem parvam intellexi, unus homo callidior mihi dixit quomodo eam solvere. Necesse erat coniungere cum servo electronico non modo tali, sed per VPN

Vpn-slice uti utar ut per VPN inscriptiones quae incipiant ab 192.168.430. Et electronica server non solum electronica symbolica quae subdomain malitiae non est, sed etiam IP oratio non habet quae incipit ab 192.168.430. Et sane non permittit aliquem ex retis communibus ad se venire.

Ut Linux per VPN ire et ad cursoriam ministrantem, necesse est eam vpn-secare pariter addere. Dicamus inscriptio mailer est 555.555.555.555

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin
--script "./bin/vpn-slice 555.555.555.555 192.168.430.0/24" vpn.evilcorp.com 

Scriptor suscitandi VPN uno argumento

Hoc totum sane non commodum est. Ita, textum lima et rescriptum conservare potes in solacium pro manu typinge, sed tamen non admodum iucundum est. Ut processus faciliorem reddat, mandatum involvere potes in scripto quod in PATH collocabitur. Et tunc solum codicem ex Google Authenticatore receptum debes ingredi

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com 

Si scriptum in connect~evilcorp~pones, simpliciter scribe in console

connect_evil_corp 567987

Sed nunc adhuc retinendum est consolatorium in quo openconnect currit aliqua de causa aperta

Running openconnect in background

Feliciter auctores openi connectendi nos curaverunt et praecipuam clavem ad programmatis -background addidit, quae programma in curriculo post launch operatur. Si sic curris, consolatorium claudere potes post launch

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  

Nunc non liquet ubi omnia. In universum non ligna re indigemus, sed numquam nostis. openconnect potest eas ad syslogum redigere, ubi tutae et securae erunt. debes addere -syslog switch ad imperium

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background 
--syslog 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  

Itaque evenit ut openconnect alicubi in curriculo laborat et aliquem non molestat, sed quomodo obsistere non patet. Hoc est, utique ps output utens grep eliquare potes et quaere processum cuius nomen openconnect continet, sed quodammodo taedium est. Gratiae auctoribus qui de hoc quoque senserunt. Openconnect has file clavem -pid-, quacum openconnect docere potes, ut processus identifier ad limam scribat.

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background  
--syslog 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  
--pid-file ~/vpn-pid

Nunc processum cum imperio semper interficere potes

kill $(cat ~/vpn-pid)

Si non processum, occides, maledicet, sed errorem non mittet. Si tabella ibi non est, nihil mali fiet vel, ut tuto possis interficere processus in prima linea scripti.

kill $(cat ~/vpn-pid)
#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background 
--syslog 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  
--pid-file ~/vpn-pid

Nunc in computatorem tuum potes, consolatorium aperi et mandatum currere, et codicem ex Google Authenticatoris transeundo. Tunc consolatorium figi potest.

sine VPN-slice. Instead of afterword

Versa est difficillime intelligere quomodo sine VPN-slice vivere. Legere et google multum habui. Fortunate, post tantum tempus cum problemate, manualibus technicis, et etiam hominibus openconnect legere, sicut fabulas excitandi.

Quam ob rem, inveni vpn-scale illud, sicut scriptum patrii, modificat mensam excitandam ad retiacula separanda.

profectus mensam

Ut simpliciter ponatur, haec tabula est in columna prima, quae continet quid inscriptionis quam Linux pergere velit, incipiendum sit, et in secunda columna quae aptator retiacula huius inscriptionis percurrat. Imo plures sunt oratores, sed hoc non mutat essentiam.

Ut videre mensam excitandam, currere debes ad mandatum itineris ip

default via 192.168.1.1 dev wlp3s0 proto dhcp metric 600 
192.168.430.0/24 dev tun0 scope link 
192.168.1.0/24 dev wlp3s0 proto kernel scope link src 192.168.1.534 metric 600 
192.168.430.534 dev tun0 scope link 

Hic singulae lineae responsales sunt ubi necesse est ire ut nuntium ad aliquam electronicam mittat. Prima est descriptio ubi incipit oratio. Ut intelligatur quomodo id determinet 192.168.0.0/16 significat inscriptionem incipere ab 192.168, debes google quid persona IP oratio sit. Post dev nomen est adaptor ad quod nuntius mitteretur.

Pro VPN, Linux prope adaptor - tun0 fecit. Linea efficit ut commercium omnium inscriptionum incipiens ab 192.168 percurrit

192.168.0.0/16 dev tun0 scope link 

Potes intueri praesentem statum excitandis mensam utens mandatum route -n (Inscriptiones IP callide anonymizatae sunt) Hoc praeceptum variam formam efficit et plerumque deprecatur, sed eius output saepe in manuali in interreti invenitur et debes ut illud legere possis.

Ubi IP oratio pro via incipit intellegi potest ex compositione Destinationis et Genmask columnarum. Partes IP inscriptionis, quae numeris 255 in Genmask respondent, ratio ponuntur, at illae ubi 0 non sunt. Hoc est, coniunctio Destinationis 192.168.0.0 et Genmask 255.255.255.0 significat, si oratio incipit ab 192.168.0, petitio ad eam ibit per hanc viam. Et si Destinatio 192.168.0.0 sed Genmask 255.255.0.0, tum petitiones inscriptionum quae ab 192.168 incipientes pergam.

Ut quid vpn-sculpere actu intelligas, statui tabularum status ante et posterius intueri

Priusquam versatur in VPN sic erat

route -n 

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0
222.222.222.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0
333.333.333.333 222.222.222.1   255.255.255.255 UGH   0      0        0 wlp3s0

Postea vocato openconnect sine vpn-slice factum est sic

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 tun0
0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0
222.222.222.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0
333.333.333.333 222.222.222.1   255.255.255.255 UGH   0      0        0 wlp3s0
192.168.430.0   0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.430.534 0.0.0.0         255.255.255.255 UH    0      0        0 tun0

Et vocato openconnect in compositione cum vpn-slice sic

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0
222.222.222.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0
333.333.333.333 222.222.222.1   255.255.255.255 UGH   0      0        0 wlp3s0
192.168.430.0   0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.430.534 0.0.0.0         255.255.255.255 UH    0      0        0 tun0

Perspici potest, si vpn-sculpto non uteris, tunc expresse connecte scribens omnes inscriptiones, praeter nominatim indicatas, accessum esse per vpn.

Iure hic:

0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 tun0

Iuxta illud illic statim alia via indicatur, quae adhibenda est si inscriptione quam Linux transire conetur, larva e tabula non congruit.

0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0

Iam hic scriptum est quod in hoc casu signo Wi-Fi adaptor uti debes.

VPN via adhibita credo quia prima in mensa fuso est.

Et theoretice, si defectum hunc a mensa excitante removes, in conjunctione cum openconnect dnsmasq operationem normalem curare debet.

conatus sum

route del default

et omnia operata sunt.

Servo mail ad excitandas petitiones sine vpn-slice

Sed ego etiam servom electronicum habes cum inscriptione 555.555.555.555, quae etiam per VPN accessionem debet. Iter ad illud etiam manually addi debet.

ip route add 555.555.555.555 via dev tun0

Nunc denique omnia. Sic potes sine vpn-slice facere, sed debes bene scire quid agas. Nunc cogito de addendo ad ultimam lineam scripturae openi nativi remotionem itineris defectus et iter addito mailer post connectens cum vpn, ita ut pauciores sint partes mobiles in mea cursorio.

Probabiliter hoc posterius satis esset ad intellegendum quomodo VPN constitueretur. Sed dum conabar intelligere quid et facere, legi tales duces satis multum operis auctoris, sed propter aliquam causam non laboro mihi, et omnia fragmenta quae inveni hic addere decrevi. Ut sit amet ipsum de re aliqua.

Source: www.habr.com