Premošćeni OpenVPN klijenti nemaju internet? Provjerite NAT pravilo
Premošćeni OpenVPN klijenti izlaze kroz tap uređaj, pa se masquerade pravilo koje navodi fizičku mrežnu karticu nikada ne poklapa i brojač ostaje na nuli.
Premošćeni server radi, masquerade pravilo postoji, a preglednik na klijentu se i dalje vrti. Sve izgleda kao da bi trebalo raditi, i zato prvi sat odlazi na provjeru tunela i vjerodajnica. Zatim pročitate brojač na NAT pravilu i nađete nulu koja se nije pomakla. Pravilo koje nikad nije izbrojalo nijedan paket nikad se nije ni poklopilo s paketom, a na premošćenom serveru razlog je strukturni: promet klijenta izlazi kroz virtualni tap uređaj, dok pravilo navodi fizičku karticu koju ste kopirali iz starijeg vodiča.
Dokaz je brojač, a ne red u tablici
Pravila koja postoje i pravila koja se poklapaju različite su stvari, a brojač ih razdvaja. Izlistajte NAT tablicu s opširnim brojačima i pročitajte brojeve uz svako pravilo prije nego što bilo što promijenite. Brojač koji stoji na nuli dok promet teče znači da je pravilo preskočeno, koliko god njegove adrese izgledale razumno. Brojač koji raste dok veza još uvijek ne uspijeva upućuje vas negdje drugdje: prosljeđivanje, povratni put ili dalji kraj.
iptables -t nat -L POSTROUTING -v -nNajprije pročitajte brojač uz podudaranje sučelja. Ako je raspon izvora ispravan, a izlazna strana pogrešna, popravak je jedna riječ u pravilu, a ne posve novo pravilo.
Pronađite ime koje jezgra doista bilježi
Identificirajte tunelski uređaj po imenu prije nego što napišete pravilo, koristeći popis sučelja, a ne pamćenje. Na premošćenom OpenVPN postavu uređaj je obično tap sučelje koje je stvorio server, a njegovo je ime dio vaše lokalne konfiguracije, ne univerzalna konstanta. Potvrdite da postoji dok je tunel aktivan, jer će uređaj koji se pojavi tek nakon spajanja klijenta učiniti da raniji test izgleda kao problem s pravilom.
ip -brief linkZapišite ime. Svaka kasnija naredba u ovoj dijagnozi na njega se poziva, a tipfeler ovdje daje točno isti nulti brojač kao izvorna pogreška.
Prepišite pravilo prema tunelskom uređaju
Usmjerite pravilo na tunelski uređaj i zadržite raspon klijenata kao uvjet podudaranja, tako da pokriva promet tunela i ostavlja vlastite veze hosta na miru. Zamijenite svojim rasponom i imenom uređaja, jer su oba primjera niže samo primjeri i nijedan nije prenosiv između instalacija.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tap0 -j MASQUERADEZatim provjerite druga dva uvjeta koja isti simptom skriva. Provjerite je li prosljeđivanje omogućeno, a ako nije, omogućite ga u vlastitoj konfiguraciji distribucije umjesto echo naredbom koja nestaje nakon ponovnog pokretanja. Pročitajte i brojače forward lanca, a ako odbacuje promet tunela, dopustite točno tom sučelju i ostavite politiku lanca netaknutom.
Čitanje forward lanca s brojačima traje jednu naredbu i isključuje pola preostalih mogućnosti prije nego što dotaknete još jedno pravilo.
Zašto se fizička kartica nikada ne poklapa
Most je softverski preklopnik sastavljen od tap uređaja i jednog fizičkog sučelja. Okvir klijenta ulazi u taj preklopnik i izlazi prema fizičkoj mreži kao član mosta, a ne kao paket na kartici. Zato jezgra paket pripisuje mostu i njegovu portu, i zato se kartica o kojoj ste razmišljali nikada ne pojavljuje u podudaranju. S fizičkim sučeljem ništa nije pokvareno; ono jednostavno nije uređaj koji jezgra pripisuje tom paketu.
Sljedeći problem na koji ljudi nailaze dolazi iz iste strukture: filtriranje okvira na mostu odvojeno je od IP filtriranja. Ako je zahtjev ograničenje na razini okvira, ono pripada filtriranju mosta, a ne pravilu IP tablice.
Dokažite to od početka do kraja, pa učinite trajnim
Podignite jedan klijent i pingajte nešto na serverovu LAN mrežu; taj put provježbava prosljeđivanje bez ikakva prevođenja. Nakon toga zatražite nešto javno kako bi se masquerade pravilo moralo upotrijebiti, i pročitajte brojač još jednom: trebao bi se pomaknuti za ovaj test, a ne za prethodni. Snimka uzeta na tunelskom uređaju pokazuje i gdje se okvir pojavljuje i koju adresu nosi.
Posljednji korak: stavite pravila koja rade u konfiguraciju koju čita ponovno pokretanje i zabilježite ime uređaja koje most ovog hosta doista koristi. Sve ručno otipkano nestaje nakon ponovnog pokretanja, a ista se greška vraća bez ičega što bi je objasnilo.
Ako se brojač i nakon prepisivanja ne pomakne, usporedite raspon izvora u pravilu s adresom koju je klijent doista dobio, jer premošćeni server može dijeliti adrese iz raspona koji niste namjeravali.