Jedna NIC ili dvije? Kako odlučiti o rasporedu interfejsa VPN servera
Jedan adapter može nositi šifrovanu vezu i saobraćaj tunela. Odaberite jednu ili dvije NIC prema potrebi rutiranja, a ne prema hardverskom pravilu.
Jedan fizički adapter dovoljan je za mnoge VPN servere, a ni to nije univerzalno rješenje. Šifrovana veza dolazi na taj adapter, VPN proces je dešifruje i unutrašnji saobraćaj izlazi kroz virtuelni interfejs prije nego stigne do lokalne usluge ili rutirane LAN mreže. Da li to radi zavisi od tri uslova: gdje se nalazi odredište, da li LAN ima povratni put do skupa klijenata i da li vam jedan zajednički fizički link daje izolaciju koju tvrdite. Odgovorite na ta tri i broj adaptera slijedi sam.
Tri uslova koja to odlučuju
Prvi uslov je odredište. Do usluge na samom VPN hostu stiže se samo kroz tunelski interfejs, dok host na LAN mreži zahtijeva prosljeđivanje i povratni put. Drugi uslov je taj povratni put, jer LAN uređaj mora znati kako doći do skupa klijenata, bilo rutom bilo prevođenjem na serveru.
Treći uslov je razdvajanje. Jedan adapter znači da svaki paket, šifrovan ili ne, dijeli link i obično lanac politika, pa tvrdnju o izolaciji koja zavisi od odvojenog hardvera jedan interfejs ne zadovoljava. To je činjenica o putu, a ne o tome kako je operativni sistem konfigurisan. Možete i dalje filtrirati saobraćaj tunela, ali ne možete tvrditi granicu koju nemate.
Nijedan od tri nije o broju portova na kućištu. Oni su o rutiranju, vlasništvu nad adresama i tome koliko raspored zavisi od fizičkog razdvajanja.
Dva adaptera ostaju legitiman izbor kada fizičke zone, odvojeni uplinkovi, propusnost ili vanpojasni put za oporavak to opravdavaju. To su konkretni zahtjevi i vrijedi ih iznijeti prije nego što neko naruči hardver.
Kada usluga radi na VPN hostu
Najjednostavniji slučaj ne zahtijeva nikakvo prosljeđivanje. Demon prima pakete klijenta na tunelskom interfejsu i predaje ih lokalnom socketu, a odgovor se vraća kroz isti interfejs. Adresa skupa klijenata je stvarna lokalna adresa sa stanovišta hosta.
Dvije stvari ipak moraju biti ispravne: usluga mora slušati na adresi koju tunel može dosegnuti, a firewall hosta mora prihvatati saobraćaj koji dolazi na tunelski interfejs. Oboje je vidljivo u naredbama ispod.
ss -lntup | grep -E "5432|8080"
ip -brief addr show
ip route get 10.8.0.6 from 10.8.0.1Vezivanje usluge samo na javnu adresu, ili greškom filtriranje tunelskog interfejsa, daje vezu koja stigne do hosta i zatim umre. To izgleda kao kvar VPN-a i obično je odluka o socketu ili firewallu.
Kada je odredište na LAN mreži
Ovdje raspored s jednim adapterom stiče reputaciju nezgodnog. Server mora prosljeđivati pakete klijenta prema LAN mreži, a LAN uređaj mora slati odgovore natrag u skup klijenata. Ili taj skup nosite kao rutu na LAN mreži, ili prevodite izvornu adresu na serveru da se odgovori vraćaju na sam server.
Oba odgovora su legitimna i padaju na različit način. Povratna ruta drži originalnu adresu klijenta vidljivom za odredište, što je dobro za zapise a loše za firewall pravila koja pretpostavljaju LAN adrese. Prevođenje drži LAN jednostavnom i skriva identitet klijenta od odredišta.
sysctl net.ipv4.ip_forward
nft list ruleset | grep -A4 'chain forward'
ip route show table main | grep 10.8.0Asimetričan put je klasičan simptom: zahtjev klijenta stigne, odgovor izađe kroz drugi ruter i veza istekne bez greške na oba kraja. Snimite saobraćaj na obje strane prije nego zaključite bilo šta o tunelu.
Zašto alias ne stvara drugu zonu
Dodavanje druge adrese istom adapteru, ili stvaranje lažnog interfejsa da oponaša drugi port, mijenja vrlo malo. Paketi i dalje izlaze kroz isti fizički link, isti port prekidača i obično isti lanac firewall-a, pa između njih ne postoji nova granica. To je pogodnost konfiguracije, ne segmentacija. Tretirati to kao granicu zone jeste način na koji tvrdnja o izolaciji preživi samo na papiru.
Odvojena zona treba stvarno razdvajanje u putu, a to je zahtjev koji zadovoljava drugi adapter. Ako pravilo zavisi od toga da saobraćaj okrenut VPN-u nikada ne dijeli broadcast domen sa saobraćajem okrenutim LAN mreži, jedan kabl ne može dati to svojstvo, kako god host bio adresiran.
Gdje proizvod dokumentuje topologiju s više interfejsa za određeni režim, slijedite dokumentaciju tog proizvoda umjesto da izmišljate zaobilazno rješenje. Proizvođači takođe mijenjaju podržane topologije između izdanja, što je još jedan razlog da čitate aktuelni vodič, a ne staru sliku čarobnjaka.
Provjerite raspored prema saobraćaju koji dozvoljavate
Navedite klase saobraćaja koje server treba nositi: klijent prema hostu, klijent prema LAN mreži, host prema LAN mreži i šifrovanu vanjsku vezu. Svaka klasa ima izvor, odredište i interfejs, a raspored mora zadovoljiti sve četiri odjednom. Dizajn koji rješava tri od njih obično je onaj koji stvara tikete.
Zatim potvrdite stvarne interfejse i stvarni snimak, a ne dijagram u projektnom dokumentu. Naredbe ispod ispisuju oba prikaza.
ip -brief addr
ip route
tcpdump -ni any udp port 51820 -c 5
tcpdump -ni tun0 -c 5Ako vanjski snimak pokazuje šifrovani saobraćaj, a unutrašnji snimak pokazuje dešifrovani saobraćaj na tunelskom interfejsu dok fizički adapter nosi oboje, jedna NIC obavlja posao. Ako je unutrašnji snimak prazan, problem je u tunelu ili pravilima prosljeđivanja, ne u broju adaptera. Odlučite topologiju na osnovu ta dva snimka i tablice rutiranja, i sljedeća promjena će imati s čim da se mjeri.