Jo meitsje de tunnel iepen, rinne ip route, en de oarspronklike standertgateway stiet der noch. De folgjende gedachte is dat de klient de rûte net oernaam hat, dus jo smite de standert mei de hân fuort en ferlieze de ferbining hielendal. Dy yngong heart te bliuwen. Mei redirect-gateway def1 ynstallearret OpenVPN twa mear spesifike rûtes dy’t boppe de gewoane standert steane ynstee fan dy te ferfangen. De âlde gateway bliuwt en hâldt op mei it ferfier fan it ferkear dat jo testen.

Wat def1 echt docht

De flag foegt 0.0.0.0/1 en 128.0.0.0/1 ta, beide nei de tunnel. 0.0.0.0/1 nimt elk adres wêrfan it earste oktet 0 oant 127 is, en 128.0.0.0/1 nimt 128 oant 255, dus elke IPv4-bestimming hat in oerienkomst dy’t mear spesifyk is as de âlde standert. De lingte fan it foarheaksel, net de metryske wearde, beslút hokker rûte wint.

De oarspronklike standert stean litte is mei opsetsin. De klient hoecht net te ûnthâlden wat er ferfongen hat, en hy skriuwt de rûte dy’t syn eigen ferbining mei de VPN-tsjinner draacht net oer. By it ûntkeppeljen ferwideret er de twa heale rûtes en de tabel komt werom lykas er wie.

Wêrom /1 en net /0

Rûtelegging kiest it langste passende foarheaksel, net de leechste metryske wearde, dus in /1 ferslaat in /0 wat de metryske wearde fan de standert ek seit. Beide helten bestean omdat ien /1 mar de helte fan de romte dekt; mei allinnich 0.0.0.0/1 oanwêzich folget alles fan 128.0.0.0 ôf noch de âlde standert, wat it betiizjende symptoom jout wêryn sommige siden wurkje en oare net.

De metryske wearde fan de âlde standert ferheegje of ferleegje feroaret neat, en in standert mei in legere metryske wearde op in oar ynterface stelt it ferkear ek net. Earst beslút de lingte fan it foarheaksel, en allinnich gelikense foarheaksels komme by de metryske wearde út.

Lês in echte rûteleggingstabel

In ferbûne host kin alle trije yngongen tagelyk sjen litte, wêrby’t de tunnel de helten draacht en de oarspronklike gateway noch yn de list stiet. De adressen binne foarbylden en gjin konfiguraasje om te kopiearjen, want ynterfacenammen, tunneltopology en ekstra rûtes ferskille per platfoarm en klient.

default via 192.168.50.1 dev wlan0
0.0.0.0/1 via 10.8.0.1 dev tun0
128.0.0.0/1 via 10.8.0.1 dev tun0

Wat fan belang is, is de ferhâlding: twa spesifike helten boppe ien algemiene standert. De rigel fan de âlde gateway bliuwt omdat neat dy ferfongen hat.

Kontrolearje hokker rûte it pakket echt nimt

Mear spesifike rûtes kinne noch winne: in rûte foar in privee berik, in lokaal subnet of it eigen adres fan de VPN-tsjinner is langer as in /1. De tunnel hat in bûtenste paad nei syn tsjinner nedich, en dy ferbining werom de tunnel yn stjoere soe him daliks brekke. Freegje op Linux de kearn ynstee fan de tabel mei it each te lêzen: ip route get mei de bestimming dy’t jo ynteressearret prints de keazen rûte, it ynterface en de boarne. As beliedsrûtelegging ynsteld is, besjoch dan ek de regels, want in regel kin in oare tabel kieze foardat de haadline rieplachte wurdt.

As mar in diel fan IPv4 him ferkeard hâldt, befêstigje dan dat beide helten ynstallearre binne en sykje dan nei in útsûndering dy’t by de mislearjende bestimming past. De âlde standert fuortsmite is gjin oplossing, en it hellet de rûte wei dy’t de klient nedich hat om de tunnel skjin ôf te brekken.

Wat def1 net dekt

Twa IPv4-yngongen sizze neat oer IPv6: in host mei IPv6-ferbining bliuwt syn eigen standert brûken oant iets dy famylje apart omliede, en dêrom liket it oft guon ferkear de tunnel op in dual-stack-netwurk mije. Oare kliïnten en netwurkbehearders ymplemintearje folsleine tunnelrûtelegging oars, en harren tabellen sille net oerienkomme. It hjir beskreaune def1-hâlden heart by de dokumintearre flag fan OpenVPN, net by elke VPN op de masine.

In needstop beantwurdet in oare fraach: wat de masine docht as de tunnel falt. Rûteprioriteit beslút wêr’t it ferkear hinne giet wylst de tunnel oan is; it beslút net wat in firewall dêrnei docht. Wurkfolchoarder: lês de tabel, befêstigje dat beide helten bestean, rin ip route get foar de mislearjende bestimming, kontrolearje de beliedsregels, en sjoch dan apart nei IPv6. Lit de âlde standert stean dêr’t er is.

Relatearre artikelen