Povezani ste na OpenVPN, ali nema pinga ni SMB dijeljenja? Provjerite tri kapije
Tunel koji radi ne govori ništa o prosljeđivanju, SMB portovima ili razrješavanju imena. Provjerite svaku kapiju po redu i zaustavite se na prvoj koja ne uspije.
Tunel se podigne, klijent dobije adresu, a ništa na udaljenom LAN-u ne odgovara. Ping ne uspijeva, dijeljenje se ne otvara, a VPN dnevnik izgleda čisto jer je iz njegove perspektive sesija zdrava. Između te sesije i datoteke na serveru stoje tri nezavisne kapije: politika prosljeđivanja, portovi koje usluga traži i ime koje ste upisali umjesto adrese.
Svaka kapija pada s drukčijim simptomom, a samo je prva na VPN serveru.
Prosljeđivanje je politika na FORWARD lancu
Prihvaćanje OpenVPN slušača događa se na INPUT lancu, zato se tunel može povezati dok se svaki paket usmjeren prema LAN-u odbacuje. Promet koji dolazi na tun0 i odlazi preko LAN sučelja prolazi kroz FORWARD, a host sa zadanom DROP politikom tamo ga tiho odbacuje. Prije svega drugog provjerite i sysctl i lanac: sysctl net.ipv4.ip_forward i iptables -L FORWARD -v -n.
Dopustite smjer koji želite i odgovore koji mu pripadaju, na primjer accept pravilo od tunelskog sučelja prema LAN sučelju plus stateful pravilo za established i related promet. Ako LAN stoji iza drugog rutera, tom ruteru treba ruta natrag prema bazenu klijenata ili source NAT na VPN serveru. Potvrdite taj put jednim pingom prije dodavanja novih pravila, jer pravilo do kojeg se ne može doći nikada se ne pojavi u brojaču.
SMB-u treba više od jednog porta
Dijeljenje datoteka nije jedan razgovor na TCP 445. Otkrivanje koristi UDP 137 i 138, starije NetBIOS sesije koriste TCP 139, a moderne SMB sesije koriste TCP 445. Pravilo koje otvara samo 445 stvara frustrirajući slučaj u kojem mapirani pogon radi, a pregledavanje mreže ne, ili obrnuto.
Veliki prijenosi kroz tunel također udaraju u MSS probleme koji izgledaju kao pokvareno dijeljenje. SYN koji najavljuje punu veličinu segmenta LAN-a biva odbačen zbog manjeg MTU-a tunela, a veza se objesi nakon rukovanja. Stezanje MSS-a na putu prosljeđivanja, iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu, uklanja tu vrstu zastoja. Provjerite kopijom od nekoliko megabajta umjesto popisa direktorija, jer mali odgovori prolaze i kada veliki prijenosi ne prolaze.
Tunelski adapter dolazi kao novi mrežni profil
Windows svaki adapter svrstava u mrežni profil, a novi tunelski adapter obično završi u Public, gdje su pravila za dijeljenje datoteka i printera blokirana. To je odluka host firewall-a na serveru datoteka, a ne problem usmjeravanja na VPN serveru. Namjerno promijenite kategoriju pomoću Set-NetConnectionProfile -InterfaceAlias "Ethernet 3" -NetworkCategory Private nakon što potvrdite da to politika dopušta, jer kategorija mijenja i to koja se ulazna pravila primjenjuju.
Isti profil objašnjava ping koji ne uspijeva dok TCP 445 uspijeva: echo zahtjevi se na Public profilu prema zadanim postavkama odbacuju.
Imena sama ne prelaze usmjereni tunel
NetBIOS razrješavanje imena i lokalno otkrivanje ovise o broadcast prometu koji usmjereni tunel ne prenosi. Zato upis kratkog imena servera ne uspijeva dok njegova adresa radi, a dijeljenje izgleda pokvareno iako je pokvaren samo lookup. Dodajte DNS zapis za server na resolver koji tunel daje ili upotrijebite adresu u prečacu.
Ako se implementacija još oslanja na WINS, konfigurirajte ga na klijentu umjesto da se nadate broadcast prometu. Prvo testirajte adresom kako se kvar imena ne bi zamijenio s kvarom firewall-a.
Testirajte jedan sloj po jedan i čitajte prvi kvar
Idite odozdo prema gore: pingajte tunelski gateway, pingajte LAN host adresom, zatim otvorite port usluge s Test-NetConnection -ComputerName 10.8.0.5 -Port 445, i tek onda se autentificirajte na dijeljenju. Prvi korak koji padne je sloj koji treba popraviti, a svaki kasniji korak je šum dok taj ne prođe. Ping koji odgovara dok port ostaje zatvoren upućuje na vlastiti firewall servera datoteka, a port koji se otvori unatoč tihim pingovima upućuje na ICMP filtriranje. Zapišite prvi korak koji pada prije nego bilo što promijenite, jer druga promjena skriva rezultat prve.
Ako VPN server nije ruter LAN-a, potvrdite povratnu rutu na tom ruteru prije nego serveru dodate još pravila. Bez toga zahtjevi stižu do hosta, a odgovori odlaze zadanom rutom prema internetu, što s klijentske strane izgleda točno kao firewall drop.
U svojim bilješkama držite račun za dijeljenje odvojeno od VPN prijave, jer uspješan tunel ne govori ništa o dozvolama za datoteke. Izlaganje SMB-a internetu da biste izbjegli nedostajuće pravilo nije rješenje.