Twa ferbiningen omheech, ien tunnel, en it ferkear giet út troch dyjingen dy't jo net keazen hawwe. De privee subnetten binne berikber, it logboek meldt in slagge ferbining, en it is de mjitten link dy't him draacht. Neat yn 'e útfier fan OpenVPN neamt in poarte, om't de klient nea ien keazen hat. Hy iepene in socket nei in fiere adres en liet de kearn beslute hoe't dat adres berikt wurde moat.

It tunneladres is net it einpunt

Yn elke sesje besteane twa ferskillende paden. It bûtenste paad draacht it fersifere ferfier nei it iepenbiere adres fan 'e tsjinner. It binnenste paad draacht alles wat de tsjinner de tunnel yn skoot, en rûtregels foar de iene hawwe gjin effekt op 'e oare.

De remote-ynfier yn it profyl neamt de bûtenste bestimming, dus dat is it adres dat fêstset wurde moat. It is ek de wearde dy't feroaret as in hostnamme oars oplost of it profyl ferskate remotes listet.

Fyn it adres dat de klient feitelijk oanbellet

Lês de libbene socket yn plak fan it konfiguraasjebestân. De sockettabel lit de peer sjen dêr't it proses feitelijk mei ferbûn is, en dat is de wearde dêr't in útsûndering mei oerienkomme moat. In profyl kin bewurke wurde nei't de sesje begûn is, en de socket is it iennichste bewiis fan wat oanbellet is:

ss -tunp | grep -i openvpn
journalctl -u openvpn-client@work --no-pager | grep -i "Peer Connection Initiated"

De logrigel neamt it peeradres en de poarte op it momint fan 'e ferbining. As it net oerienkomt mei it profyl, dan skriuwt eat foar de klient de bestimming oer foardat de ferbining begjint.

Kontrolearje ek de adresfamylje. In profyl mei twa steapels kin oer IPv6 ferbine wylst jo útsûndering allinich IPv4 beslacht, en dan folget it ferkear in oare regel as dy't jo skreaun hawwe. Itselde jildt foar in proxy dy't út namme fan it einpunt antwurdet. Beide gefallen leverje in tunnel dy't wurket wylst jo rûte neat docht.

Set it einpunt fêst en lês de folchoarder fan it belied

In hostrûte is spesifiker as hokker standertrûte dan ek. Dêrom wint in /32 foar it peeradres binnen de tabel dy't him befettet. De gewoane foarm neamt de poarte en it apparaat eksplisyt:

ip route add 203.0.113.40/32 via 192.168.10.1 dev eth0

Dy rûte helpt allinich as de syktocht dy tabel berikt. Beliedsregels wurde yn folchoarder beoardiele en de earste oerienkomst beslút, dus in regel dy't alles nei in twadde tabel stjoert, giet bylâns jo hostrûte yn main. Lês de regels foardat jo oannimme dat de rûte gesachhawwend is:

ip rule show
ip route get 203.0.113.40

Freegje it twadde kommando mei itselde boarneadres of markearring dat de klient brûkt as it belied dêrfan ôfhinklik is. It rapportearret de rûte dy't de kearn kieze soe, wat bewiis is oer de syktocht en net in bewiis dat de libbene socket dat paad brûkt.

As it einpunt ferpleatst

In hostnamme dy't nei ferskate adressen oplost, makket in permaninte /32 ûnjildich sadree't it antwurd feroaret. In profyl mei meardere remote-rigels hat itselde probleem, om't de klient op elk fan har lânje kin. Ferfarskje de rûte út 'e eigen libbenssyklusheakken fan 'e klient yn plak fan har mei de hân ta te foegjen. In up-skript dat de ûnderhannele peer lêst en de hostrûte ynstallearret, hâldt de útsûndering lyk mei de realiteit, en in byhearrend down-skript ferwideret har.

Registrearje de ferfarsking op itselde plak as de rest fan 'e rûtekonfiguraasje fan 'e host. In rûte dy't allinich oant de folgjende werstart bestiet, is in test, gjin repaasje.

Hâld it binnenste belied apart

It bûtenste paad ferpleatse jout gjin tagong ta in nij privee subnet, en it feroaret net hokker bestimmingen de tsjinner de tunnel yn skoot. De rûte fan 'e legere laach kiest de tried; de oanskode rûtes kieze wat de tunnel yn giet. Krekt it apart hâlden fan dy twa besluten makket de splitsing foarsisber.

As it doel allinich is om it fersifere ferfier fan in mjitten link ôf te hâlden, lit dan de standertrûte gewurde en foegje de ientige hostútsûndering ta. It ferfangen fan 'e masinebrede standertrûte om ien VPN-ferbining te ferpleatsen brekt elke oare applikaasje op 'e host.

Befêstigje it resultaat mei twa ûnôfhinklike waarnimmings: it lokale adres en apparaat fan 'e socket, en de rûte dêr't de privee bestimming nei oplost. As beide by jo bedoeling passe, is de splitsing echt. De OpenVPN 2.6-hânlieding behannelet de remote- en lokale biningopsjes dy't beslute hokker adres de klient oanbellet.

Relatearre artikelen