VPN sugovornik pinga druga sučelja jer su lokalna
Lokalna tablica usmjeravanja šalje pakete na svaku adresu koju host posjeduje, bez obzira na kojem se sučelju nalazi. Postavke prosljeđivanja nikada ne ulaze na taj put.
WireGuard klijent se povezuje i pinga adresu na posve drugom sučelju, i odgovor stiže. Snimke pokazuju zahtjev samo na tunelu. Ništa nije pokvareno, a postavka prosljeđivanja koja je pažljivo onemogućena nema nikakve veze s tim. Ovo je usporedba dvaju putova koji na dijagramu izgledaju slično, a u kernelu su posve različiti.
Jedan put prosljeđuje pakete za nekoga drugoga; drugi ih dostavlja samom hostu.
Paket adresiran na host ostaje u hostu
Udaljeni klijent šalje IP paket na adresu koju host posjeduje. Usmjeravanje postavlja jedno pitanje o tom paketu: je li ovo odredište lokalno? Svaka adresa koju host drži pojavljuje se u lokalnoj tablici usmjeravanja, i ta se tablica pregledava prije glavne, pa paket ide u vlastiti stog hosta umjesto da izađe kroz drugo sučelje. Odgovor se generira lokalno i vraća se kroz tunel jer je upit došao odatle.
To je cijeli mehanizam. Nikakvo prosljeđivanje se ne događa, nikakva promjena stanja sučelja nije uključena, a dotična adresa ne mora biti dostupna ni odakle drugdje.
Zašto se ip_forward ne primjenjuje
Prosljeđivanje upravlja paketima koji moraju izaći kroz drugo sučelje od onoga na koje su stigli. Ping prema samom hostu nikada ne ide tim putem: paket se troši lokalno i odgovor se generira lokalno. Postavljanje net.ipv4.ip_forward=0 zato ovdje ništa ne mijenja, a pravilo u lancu prosljeđivanja nikada ne vidi taj promet. Ispravna kontrola nalazi se na ulaznom putu, ograničena dolaznim sučeljem ili izvorom.
Zato onemogućavanje prosljeđivanja i pretpostavka da je host izoliran stvaraju lažan osjećaj sigurnosti.
Pročitajte lokalnu tablicu koja je odlučila
ip rule show obično prijavljuje pravilo s prioritetom nula koje sve pretrage prvo šalje u lokalnu tablicu, a ip route show table local navodi vlastite adrese hosta s lokalnim opsegom. Ta tablica uključuje adrese na sučeljima koja su administrativno isključena ali još konfigurirana. IPv4 adrese dodijeljene statički obično prežive prekid veze, i tako ping prema isključenom mostu može ipak uspjeti i iznenaditi operatera.
IPv6 se razlikuje upravo u ovoj točki. Njegove se adrese obično povlače kada veza padne, osim ako je postavljen keep_addr_on_down. Usporedite porodice umjesto da pretpostavite da jedno pravilo pokriva oboje.
Što sugovornik zapravo doseže
Odgovor s vlastite adrese usmjerivača na segmentu ne govori ništa o strojevima iza tog segmenta. Sugovornik ne može doći do hosta iza drugog sučelja ovim putem; doseže samo adrese koje sam usmjerivač posjeduje. Testiranje usluge na zasebnom LAN hostu, umjesto pinganja adrese usmjerivača, ono je što utvrđuje je li prosljeđivanje uopće dopušteno.
Ograničavanje sugovornika na usluge vezane na adresi tunela pitanje je ulazne politike. Dopustite željenu uslugu na sučelju tunela i ograničite izvore koji je smiju koristiti, jer paket zaista stiže tamo.
Provjerite i adrese koje ste namjeravali ukinuti. Uklanjanje adrese sa sučelja pouzdanije je od slaganja firewall pravila na zastarjelu adresu.