Split-tunnel wurdt meastentiids beskreaun as in manier om bedriuwstrafyk yn ’e tunnel te hâlden en de rest fan it ynternet bûten de firewall. Beide helten fan dy beskriuwing binne op deselde manier ferkeard. Split-tunnel is in rûtebeslissing fan ’e klient, en in rûtebeslissing seit neat oer wat der mei it pakket bart nei’t it de headend berikt hat.

Ien partnersjinst op in iepenbier adres, dy’t derop stiet it adres fan jo haadkantoar te sjen, is genôch om it ferhaal te brekken.

De myte: split-tunnel hellet de firewall út it paad

It leauwe is dat elke bestimming bûten de partikuliere berikken op ’e pleatslike ynternetferbining bliuwt, sadat de firewall it nea sjocht en der nea in regel foar nedich hat. Dat jildt allinnich salang’t de bestimming net yn ’e tunnellist stiet. Op it stuit dat in operator in publike host oan ’e split-include-ACL taheakket, stjoert de klient dat trafyk de tunnel yn, en de ASA moat it routearje, filterje en oersette lykas elke oare ûntsifere flow. Oan ’e klient is neat feroare behalve de bestimmingslist.

De klient is gjin router wurden. Hy folge it belied dat jo him joegen.

Wat in split-include-rûte eins docht

Yn in Cisco ASA-opset foar tafaljochtagong draacht it groepsbelied split-tunnel-policy tunnelspecified en in split-tunnel-network-list dy’t in standert-ACL neamt. Eltse permit-rigel yn dy ACL is in bestimming dy’t de klient de tunnel yn stjoere moat, en al it oare brûkt de pleatslike standertrûte.

Ien host taheakje is ien rigel, en dat is it iennichste diel fan ’e feroaring dat de klient sjen kin: access-list RA-SPLIT standard permit host 203.0.113.20.

Ferbin de klient dêrnei opnij. It belied wurdt by ferbining útwiksele, sadat in besteande sesje de âlde list hâldt en de feroaring lykje lit as hat se neat dien.

It pakket komt oan en giet fuort op deselde ynterface

Folch no de flow nei ûntsifering. It pakket kaam oer de VPN-tunnel op ’e bûtenynterface binnen, syn bestimming is in iepenbier adres, en de rûtetabel stjoert it wer troch deselde bûtenynterface nei it ynternet. Trafyk dat op ien ynterface binnenkomt en fuortgiet, wurdt weilitten, útsein as de ASA tastien wurdt it troch te litten, en dat docht same-security-traffic permit intra-interface. Sûnder dat mislearret de ferbining op in manier dy’t op in rûteprobleem liket en it net is.

Dy ynstelling is globaal. It lit hairpinning ta foar elke flow dy’t it nedich hat, net allinich foar dizze partnerhost, dus it heart yn in besjoen feroaring en net yn in flugge test.

Wêrom’t in oan bestimming bûn PAT net opsjoneel is

It boarne-adres op it ûntsifere pakket is noch altyd it VPN-adres fan ’e klient, meastentiids út in pool lykas 10.77.0.0/24. Dat adres hat gjin rûte op it iepenbiere ynternet, dus de partner antwurdet of nea of antwurdet yn it neat.

De oersetting reparearret de boarne en lit de bestimming ûnoantaast. Om’t de objekten al earne oars definiearre binne, hat in hânmjittige regel dy’t ta dizze bestimming beheind is dizze foarm:

same-security-traffic permit intra-interface

object network RA_POOL
 subnet 10.77.0.0 255.255.255.0
object network PARTNER_HOST
 host 203.0.113.20

nat (outside,outside) source dynamic RA_POOL interface destination static PARTNER_HOST PARTNER_HOST

It diel destination static is wichtich. Lit jo it wei, dan wurdt de regel in brede oersetting dy’t folle mear trafyk passe kin as bedoeld, en in brede identity-regel earder yn ’e oarder kin dizze folslein ferslaan. Kontrolearje show nat detail en de folchoarder fan ’e seksjes foardat jo oannimme dat jo regel dejinge is dy’t past.

Ynterface-PAT betsjut ek dat de partner it ynterface-adres fan ’e ASA sjocht, dat boppenstreams nochris oerset wurde kin. As it kontrakt in adres neamt, befêstigje it dan fan ein oant ein ynstee fan by ien hop.

Bewiis it mei de juste testbestimming

Brûk de partnershost sels, gjin algemiene what-is-my-ip-side. Dy side leit hast seker bûten de split-list, dus se rapportearret jo pleatslike ynternetadres en seit neat oer dit paad. Iepenje in nije ferbining nei de partnersjinst en freegje harren hokker boarne se seagen, of fierskof packet-tracer input outside tcp 10.77.0.10 12345 203.0.113.20 443 detailed út en lês de NAT- en rûtestappen rigel foar rigel. In traceroute fan ’e klient is in swakkere kontrôle, want it lit it paad sjen dat al bard is ynstee fan it belied dat it keas.

Kontrolearje dan wat net feroarje moat. In gewoane webside moat noch altyd fan ’e pleatslike ferbining ôf gean, en in partikulier boarne yn ’e tunnellist moat noch altyd berikber wêze. In feroaring dy’t de partner reparearret en ien fan dy twa brekt, is in oare flater.

De wurkjende ferzje fan dit ûntwerp is koart: ien host yn ’e split-ACL, hairpin-tastimming, ien oan bestimming bûn PAT-regel. Al it oare yn it ferhaal is de myte.

Relatearre artikelen