Rikkovatko laitteistopohjaiset NAT-kiihdytykset VPN-reitityssääntösi?
Kiihdytys voi ohittaa koukun, johon käytäntösi nojaa, tai vain siirtää kohtaa, jossa laskurit päivittyvät. Erottele nämä tulokset ennen asetusten muuttamista.
Laitteistopohjaisen NAT-kiihdytyksen käyttöönotto voi nopeuttaa VPN-asennusta, ja se voi myös saada reitityskäytännön lakkaamaan soveltumasta joihinkin paketteihin ilman minkäänlaista virhettä. Kumpi näistä tapahtuu, riippuu siitä, mitä nopea polku ohittaa, ja se vaihtelee laiteohjelmiston, ytimen version ja käytetyn kiihdytystyypin mukaan. Asetusvalikko kertoo harvoin, minkä juuri otit käyttöön.
Kaksi väitettä ansaitsee erottamisen ennen kuin kiihdytintä syytetään: että sääntö lakkasi olemasta voimassa ja että laskuri lakkasi päivittymästä. Ne eivät ole sama havainto.
Kolme erilaista kiihdytystä sekoitetaan keskenään
Edelleenlähetyksen offload, salauksellinen kiihdytys ja tunnelin datakanavan offload ovat erillisiä mekanismeja, jotka usein jakavat yhden kytkimen. Edelleenlähetyksen offload antaa vakiintuneiden virtojen ohittaa osan normaalista pinosta, salauksellinen kiihdytys tekee salaustyöstä halvempaa ja tunnelin offload siirtää kapseloinnin laitteistoon. Reititin, joka kiihdyttää tavallista reititettyä liikennettä, voi jättää tunneliliikenteen kokonaan hitaalle polulle, mikä on suorituskyvyn tulos eikä käytännön muutos. Myös päinvastainen on olemassa: tunneliliikenne siirtyy offloadiin, kun taas ympäröivä käytäntö arvioidaan edelleen.
Linuxin flowtables on dokumentoiduin tapaus, joka kannattaa lukea, sillä vakiintuneet virrat voidaan luovuttaa nopealle polulle. Niiden kirjanpito ja tilankäsittely poikkeavat silloin klassisesta edelleenlähetyksestä, ja siksi laskurit alkavat näyttää oudolta.
Laskuri, joka lakkaa liikkumasta, todistaa vähän
Sääntölaskurit laskevat paketit, jotka kulkevat säännön läpi, eikä offloadiin siirtynyt virta välttämättä kulje sen läpi enää koskaan ensimmäisen paketin jälkeen. Syntyy laskuri, joka jäätyy liikenteen jatkuessa, ja se näyttää täsmälleen ohitukselta, jos uskot lukua. Laskurin seuraaminen on yhä hyödyllistä vihjeenä siitä, että virta poistui lasketulta polulta. Lopun diagnoosista on tultava siitä, mihin paketit todella menevät.
Vastakkainen päätelmä epäonnistuu yhtä pahasti. Nopea lataus ei osoita, että poikkeussääntösi ja virheiden käsittely ovat yhä voimassa, koska se harjoittaa yhtä virtaa eikä käytäntöä.
Kolme ehtoa ratkaisee, rikkooko offload käytännön
Ensimmäinen ehto on kysyykö nopea polku koukkua, josta käytäntösi riippuu, sillä merkeillä ja reiteillä ilmaistu käytäntö säilyy useammin kuin pakettikohtaiseen suodatukseen rakennettu. Toinen on, salliiko laiteohjelmisto yhdistelmän ylipäätään, koska jotkin koosteet poistavat offloadin automaattisesti, kun tunneli tai palomuurin ominaisuus on aktiivinen. Kolmas on, kelpaako liikenne, koska kiihdytys sidotaan yleensä vakiintuneisiin virtoihin ja voi jättää pois pirstoutuneet tai epätavalliset paketit. Siellä, missä kaikki kolme suosivat kiihdytystä, käytäntö on yhä voimassa, ja siellä, missä ensimmäinen epäonnistuu, mikään säätö ei palauta sitä.
Lue valmistajan dokumentaatio käyttämällesi yhdistelmälle, älä reititinmallille yleisesti. Laiteohjelmistoversiot muuttavat näitä vastauksia hiljaa.
Testaa käytäntöä, älä läpäisyä
Mittaa, mitä käytännön on tarkoitus taata, ennen kuin mittaat, kuinka nopeasti se kulkee. Alla olevat komennot näyttävät, onko flowtable asennettu, mitä yhteyksien seuranta näkee ja mistä osoitteesta asiakas lähtee. Vertaa uutta yhteyttä muutoksen jälkeen, sillä vakiintunut yhteys voi pitää vanhan polkunsa.
nft list flowtables
conntrack -L | head -n 20
curl -sS --max-time 8 https://api.ipify.org; echo
ping -c 3 192.168.50.20
Tunneliliikenteen kattava flowtable-merkintä kertoo, että nopea polku on pelissä, ja yhteystaulukko näyttää, seurataanko virtaa odotetulla tavalla. Osoitteen tarkistus vahvistaa lähdön, kun käytäntö koskee internetiin lähtöä, kun taas ping vahvistaa yksityisen kohteen, jonka pitäisi pysyä tavoitettavana. Aja sama sarja kiihdytys pois päältä ja sitten päälle, ja vertaa tuloksia älä aikoja.
Kirjaa edellinen asetus, jotta koe pysyy peruttavana. Yleisohje poistaa offload käytöstä kaikkialla lasketaan kiertotieksi, ei löydöksi.