OpenVPN odjemalci v načinu mostu nimajo interneta? Preverite pravilo NAT
OpenVPN odjemalci v načinu mostu izhajajo skozi napravo tap, zato se pravilo masquerade, ki navaja fizično omrežno kartico, nikoli ne ujema in števec ostane na ničli.
Strežnik v načinu mostu deluje, pravilo masquerade obstaja, brskalnik na odjemalcu pa se še vedno vrti. Vse izgleda, kot da bi moralo delovati, zato prva ura gre za preverjanje tunela in poverilnic. Nato preberete števec pravila NAT in najdete ničlo, ki se ni premaknila. Pravilo, ki ni nikoli preštelo nobenega paketa, se ni nikoli ujemalo z nobenim, na strežniku v načinu mostu pa je vzrok strukturen: promet odjemalca izhaja skozi navidezno napravo tap, medtem ko pravilo navaja fizično kartico, ki ste jo prepisali iz starejšega priročnika.
Dokaz je števec, ne vnos v tabeli
Pravila, ki obstajajo, in pravila, ki se ujemajo, so različne stvari, in ločuje jih števec. Izpišite tabelo NAT s podrobnimi števci in preberite številke ob vsakem pravilu, preden karkoli spremenite. Števec, ki med pretokom prometa stoji na ničli, pomeni, da je bilo pravilo preskočeno, ne glede na to, kako smiselni so videti njegovi naslovi. Števec, ki narašča, medtem ko povezava še vedno ne uspe, vas pošlje drugam: k posredovanju, povratni poti ali oddaljenemu koncu.
iptables -t nat -L POSTROUTING -v -nNajprej preberite števec ob ujemanju vmesnika. Če je obseg vira pravilen in je izhodna stran napačna, je popravek ena beseda v pravilu, ne povsem novo pravilo.
Poiščite ime, ki ga jedro zares zabeleži
Pred pisanjem pravila določite ime tunelske naprave s seznama vmesnikov, ne po spominu. V nastavitvi OpenVPN v načinu mostu je naprava običajno vmesnik tap, ki ga ustvari strežnik, njegovo ime pa je del vaše krajevne konfiguracije, ne univerzalna konstanta. Potrdite, da obstaja, medtem ko je tunel aktiven, ker bo naprava, ki se pojavi šele po povezavi odjemalca, prejšnji test prikazala kot težavo s pravilom.
ip -brief linkZapišite ime. Vsak poznejši ukaz v tej diagnozi se nanj sklicuje, in tipkarska napaka tukaj ustvari natanko enak ničelni števec kot prvotna napaka.
Prepišite pravilo za tunelsko napravo
Usmerite pravilo na tunelsko napravo in obdržite obseg odjemalcev kot pogoj ujemanja, da pokriva tunelski promet in pusti lastne povezave gostitelja pri miru. Zamenjajte s svojim obsegom in imenom naprave, ker sta oba spodaj primera in noben ni prenosljiv med namestitvami.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tap0 -j MASQUERADENato preverite druga dva pogoja, ki jih isti simptom skriva. Preverite, ali je posredovanje omogočeno, in če ni, ga omogočite v konfiguraciji same distribucije, ne z echo, ki po ponovnem zagonu izgine. Preberite tudi števce verige forward in če ta zavrže tunelski promet, dovolite prav ta vmesnik in politiko verige pustite nespremenjeno.
Branje verige forward s števci zahteva en ukaz in izloči polovico preostalih možnosti, preden se dotaknete drugega pravila.
Zakaj se fizična kartica nikoli ne ujema
Most je programsko stikalo, sestavljeno iz naprave tap in enega fizičnega vmesnika. Okvir odjemalca vstopi v to stikalo in izstopi proti fizičnemu omrežju kot član mostu, ne kot paket na kartici. Jedro zato paket pripiše mostu in njegovim vratom, zato se kartica, o kateri ste razmišljali, nikoli ne pojavi v ujemanju. Na fizičnem vmesniku ni nič pokvarjeno; preprosto ni naprava, ki ji jedro pripiše ta paket.
Naslednja težava, s katero se ljudje srečajo, izhaja iz iste strukture: filtriranje okvirov na mostu je ločena možnost od filtriranja IP. Če je zahteva omejitev na ravni okvirov, spada k filtriranju mostu, ne k pravilu tabele IP.
Dokažite od začetka do konca in nato trajno shranite
Zaženite enega odjemalca in pingajte nekaj v omrežju LAN strežnika; ta pot preizkusi posredovanje brez kakršnega koli prevajanja. Nato zahtevajte nekaj javnega, da bo treba uporabiti pravilo masquerade, in še enkrat preberite števec: premakniti bi se moral za ta test in ne za prejšnjega. Zajem na tunelski napravi pokaže, kje se okvir pojavi in kateri naslov nosi.
Zadnji korak: delujoča pravila vstavite v konfiguracijo, ki jo bere ponovni zagon, in zapišite ime naprave, ki jo most tega gostitelja zares uporablja. Vse, kar je vneseno ročno, po ponovnem zagonu izgine, in ista okvara se vrne brez česar koli, kar bi jo pojasnilo.
Če se števec tudi po prepisu ne premakne, primerjajte obseg vira v pravilu z naslovom, ki ga je odjemalec zares prejel, ker lahko strežnik v načinu mostu dodeljuje naslove iz obsega, ki ga niste predvideli.