Pontitaj OpenVPN-klientoj sen interreto? Kontrolu la regulon NAT
Pontitaj OpenVPN-klientoj eliras tra la tap-aparato, do masquerade-regulo, kiu nomas la fizikan retkarton, neniam kongruas kaj la nombrilo restas nulo.
La pontita servilo funkcias, la masquerade-regulo ĉeestas, kaj la retumilo ĉe la kliento ankoraŭ turniĝas. Ĉio aspektas tiel, kvazaŭ ĝi devus funkcii, kaj ĝuste tial la unua horo iras al kontrolado de la tunelo kaj la akreditaĵoj. Poste vi legas la nombrilon ĉe la NAT-regulo kaj trovas nulon, kiu ne moviĝis. Regulo, kiu neniam nombris paketon, neniam kongruis kun iu, kaj ĉe pontita servilo la kaŭzo estas struktura: la klienta trafiko eliras tra la virtuala tap-aparato, dum la regulo nomas la fizikan karton, kiun vi kopiis el pli malnova gvidilo.
La nombrilo estas la pruvo, ne la vico en la tabelo
Reguloj, kiuj ekzistas, kaj reguloj, kiuj kongruas, estas malsamaj aferoj, kaj la nombrilo apartigas ilin. Listigu la NAT-tabelon kun detalaj nombriloj kaj legu la nombrojn apud ĉiu regulo antaŭ ol ŝanĝi ion. Nombrilo, kiu staras ĉe nulo dum trafiko fluas, signifas, ke la regulo estis preterlasita, kiom ajn prudentaj ĝiaj adresoj aspektas. Nombrilo, kiu altiĝas dum la konekto ankoraŭ malsukcesas, sendas vin aliloken: plusendo, la revena vojo, aŭ la malproksima fino.
iptables -t nat -L POSTROUTING -v -nUnue legu la nombrilon apud la kongruo de la interfaco. Se la fonta gamo estas ĝusta kaj la elira flanko malĝusta, la korekto estas unu vorto en la regulo, ne tute nova regulo.
Trovu la nomon, kiun la kerno fakte registras
Identigu la tunelan aparaton per nomo antaŭ ol skribi la regulon, uzante la liston de interfacoj anstataŭ la memoron. Ĉe pontita OpenVPN agordo la aparato kutime estas tap-interfaco kreita de la servilo, kaj ĝia nomo estas parto de via loka agordo, ne universala konstanto. Konfirmu, ke ĝi ekzistas dum la tunelo funkcias, ĉar aparato, kiu aperas nur post kiam kliento konektiĝas, igos pli fruan teston aspekti kiel problema regulo.
ip -brief linkSkribu la nomon. Ĉiu posta komando en ĉi tiu diagnozo referencas ĝin, kaj tajperaro ĉi tie produktas ĝuste la saman nulan nombrilon kiel la originala eraro.
Reskribu la regulon por la tunela aparato
Direktu la regulon al la tunela aparato kaj konservu la klientan gamon kiel ĝian kongruan kondiĉon, por ke ĝi kovru tunelan trafikon kaj lasu la proprajn konektojn de la gastiganto trankvile. Anstataŭigu vian propran gamon kaj aparatan nomon, ĉar ambaŭ ekzemploj sube estas ekzemploj kaj neniu estas portebla inter instalaĵoj.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tap0 -j MASQUERADEPoste kontrolu la du aliajn kondiĉojn, kiujn la sama simptomo kaŝas. Kontrolu, ĉu plusendo estas ebligita, kaj se ne, ebligu ĝin en la propra agordo de la distribuaĵo anstataŭ per echo, kiu malaperas post restartiĝo. Legu ankaŭ la nombrilojn de la forward-ĉeno, kaj se ĝi forĵetas la tunelan trafikon, permesu precize tiun interfacon kaj lasu la politikon de la ĉeno netuŝita.
Legi la forward-ĉenon kun nombriloj postulas unu komandon kaj ekskludas duonon de la restantaj ebloj antaŭ ol vi tuŝos alian regulon.
Kial la fizika karto neniam kongruas
Ponto estas softvara komutilo kunmetita el la tap-aparato kaj unu fizika interfaco. La klienta kadro eniras tiun komutilon kaj eliras al la fizika reto kiel membro de la ponto, ne kiel paketo sur la karto. Tial la kerno atribuas la paketon al la ponto kaj ĝia pordo, kaj tial la karto, pri kiu vi pensis, neniam aperas en la kongruo. Nenio estas difektita ĉe la fizika interfaco; ĝi simple ne estas la aparato, kiun la kerno atribuas al tiu paketo.
La sekva problemo, kiun homoj renkontas, venas el la sama strukturo: kadra filtrado sur ponto estas aparta ekipaĵo disde IP-filtrado. Se la postulo estas limigo je kadra nivelo, ĝi apartenas al ponta filtrado, ne al regulo de IP-tabelo.
Pruvu ĝin de komenco ĝis fino, poste faru ĝin daŭra
Starigu unu klienton kaj pingu ion en la loka reto de la servilo; tiu vojo ekzercas plusendon sen ia traduko. Poste petu ion publikan, por ke la masquerade-regulo devu esti uzata, kaj legu la nombrilon ankoraŭfoje: ĝi devus moviĝi por ĉi tiu testo kaj ne por la antaŭa. Kaptaĵo prenita sur la tunela aparato montras kaj kie la kadro aperas kaj kiun adreson ĝi portas.
Lasta paŝo: metu la regulojn, kiuj funkcias, en la agordon, kiun legas restartigo, kaj notu la aparatan nomon, kiun la ponto de ĉi tiu gastiganto fakte uzas. Ĉio mane tajpita malaperas post restartigo, kaj la sama paneo revenas sen io, kio ĝin klarigus.
Se la nombrilo ankoraŭ ne moviĝas post la reskribo, komparu la fontan gamon en la regulo kun la adreso, kiun la kliento fakte ricevis, ĉar pontita servilo povas disdoni adresojn el gamo, kiun vi ne intencis.