Wat een iftop-scherm wel en niet kan bewijzen over een VPN
Een bandbreedtemonitor toont één interface op één moment. Bepaal wat u test, welke interface het draagt en wat het filter verbergt.
Een iftop-scherm beantwoordt één vraag tegelijk: welke hostparen bytes uitwisselen via de interface waarop u het richtte. Het beantwoordt niet of elke toepassing een VPN-beleid volgt, en een leeg scherm bewijst niet dat er niets is gelekt. Juist in het verschil tussen die twee uitspraken gaat het meeste debat over lektests mis. Drie voorwaarden bepalen wat de weergave werkelijk betekent, en alle drie zijn zichtbaar in de opdrachtregel die u gebruikte.
Drie voorwaarden bepalen wat het scherm betekent
De voorwaarden zijn welke interface wordt getoond, wat het filter en het gereedschap zelf verbergen, en wat de test werkelijk heeft uitgeoefend. Beantwoord ze in die volgorde, want een fout in de eerste maakt de andere twee betekenisloos.
De interfacevoorwaarde is belangrijk omdat een tunnelbeeld en een fysiek beeld verschillende lagen van hetzelfde verkeer tonen. Naar de tunnelinterface kijken toont de stromen in de tunnel; naar de fysieke interface kijken toont de drager van de tunnel, plus alle legitieme installatie-, controle- of lokaal verkeer dat die verbinding deelt. Geen van beide beelden is fout, en geen van beide is het volledige beeld. Benoemen welke u bekijkt is het verschil tussen bewijs en indruk.
Voorwaarde één: welke interface wordt getoond
iftop neemt de interface expliciet met -i, en de handleiding beschrijft het gedrag wanneer u dat niet doet: het kiest er een, dat het uiterlijk externe apparaat kan zijn in plaats van de tunnel. Die standaard is een redelijke keuze voor een bandbreedtegereedschap en een slechte voor een lektest.
Geef altijd de interface op, en schrijf die naast het resultaat. Een schermafbeelding zonder de interfacenaam is niet reproduceerbaar.
Voorwaarde twee: wat het filter en het gereedschap verbergen
iftop accepteert een filterexpressie, en een stroom die het filter uitsluit is onzichtbaar door de constructie en niet door afwezigheid. Het gereedschap doet standaard ook hostnaamopzoekingen om adressen te labelen, en die opzoekingen genereren hun eigen DNS-verkeer, dat wil zeggen verkeer dat u niet wilde observeren. -n schakelt de opzoekingen uit en maakt de weergave numeriek; de DNS-regels achteraf verbergen is niet hetzelfde als de query's niet genereren.
Dat onderscheid is de moeite waard om ronduit te zeggen, omdat het ook in andere gereedschappen voorkomt: het onderdrukken van de weergave van een activiteit is niet hetzelfde als het voorkomen ervan. Als de DNS-opzoekingen deel uitmaken van wat u test, voer de test dan uit met opzoekingen uitgeschakeld, zodat de waarneming niet door de waarnemer wordt vervuild.
Voorwaarde drie: wat de test werkelijk heeft uitgeoefend
Eén verzoek van één toepassing, naar één bestemming, in één adresfamilie bewijst iets over dat verzoek. Het bewijst niets over een andere toepassing, een andere bestemming of de andere adresfamilie, en IPv6 is de familie die juist bij dit soort controle het vaakst wordt vergeten.
Definieer daarom het verzoek voordat u begint: een onschuldige bestemming, vanuit de toepassing die u belangrijk vindt, in de familie die u belangrijk vindt, met de tunnel in de goedgekeurde toestand. Controleer daarna de ontvangende kant of de eigen diagnose van de client, want het verre uiteinde weet wat er aankwam op een manier die het lokale scherm niet kan. Oefen daarna het goedgekeurde geval van een niet-beschikbare tunnel en kijk of het verkeer stopt, want dat is het gedrag waar de eis meestal werkelijk over gaat.
DNS verdient zijn eigen observatie. De ontvanger van de query en de route die de query nam zijn twee feiten, en een bandbreedtescherm toont geen van beide.
iftop als ondersteunend bewijs gebruiken
Pas dan voegt iftop waarde toe, en het voegt die toe als bevestiging. sudo iftop -i wg0 -n -B -P -f "host 203.0.113.9" toont of de verwachte stroom op de verwachte interface verschijnt, met bytetellingen die een bewering over inactiviteit verifieerbaar maken.
Vergelijk dat met ss -tnp voor de weergave op socketniveau en ip route get voor de route die de kernel zou kiezen, en u hebt drie waarnemingen van één verzoek in plaats van één indruk van een machine. De iftop-handleiding documenteert de interfacekeuze, de filtersyntaxis en het opzoekgedrag, en dat zijn de drie dingen waarvan een lektest afhangt. Een bandbreedtescherm lokaliseert activiteit; de route, de uitzonderingen en het faalgedrag bepalen of die activiteit aan de eis voldoet.