De bruorrene server rint, de masquerade-regel is der, en de browser op ’e klant draait noch. Alles liket te wêzen sa’t it wurkje moat, en dêrom giet de earste oere nei it kontrolearjen fan de tunnel en de ynloggegevens. Dan lêsto de teller op ’e NAT-regel en fynst in nul dy’t net beweegd is. In regel dy’t nea in pakket teld hat, hat nea ien met, en op in bruorrene server is de reden struktureel: klantferkear ferlit it systeem fia it firtuele tap-apparaat, wylst de regel de fysike kaart neamt dy’tsto út in âldere hânlieding kopiearre hast.

De teller is it bewiis, net de rigel yn ’e tabel

Regels dy’t bestean en regels dy’t oerienkomme binne ferskillende dingen, en de teller skiedt se. List de NAT-tabel mei wiidweidige tellers en lês de sifers njonken elke regel foardatst wat feroarje. In teller dy’t op nul stiet wylst it ferkear streamt, betsjut dat de regel oerslein is, hoe sinfol syn adressen ek lykje. In teller dy’t klimt wylst de ferbining noch mislearret, stjoert dy earne oars hinne: trochstjoering, de weromwei of it fierste ein.

iptables -t nat -L POSTROUTING -v -n

Lês earst de teller njonken de ynterface-oerienkomst. As it boarneberik goed is en de útgongskant ferkeard, is de repaarsje ien wurd yn ’e regel en net in hiel nije regel.

Fyn de namme dy’t de kernel echt fêstleit

Bepaal it tunnelapparaat by namme foardatst de regel skriuwst, mei de ynterfacelist yn stee fan dyn ûnthâld. By in bruorrene OpenVPN opset is it apparaat meastentiids in tap-ynterface makke troch de server, en syn namme is part fan dyn lokale konfiguraasje, net in universele konstante. Befêstigje dat it bestiet wylst de tunnel oan is, want in apparaat dat pas ferskynt nei’t in klant ferbynt, lit in eardere test op in regelprobleem lykje.

ip -brief link

Skriuw de namme op. Elk letter kommando yn dizze diagnoaze ferwiist dernei, en in typflater hjir jout krekt deselde nulteller as de oarspronklike flater.

Skriuw de regel opnij foar it tunnelapparaat

Rjochtsje de regel op it tunnelapparaat en hâld it klantberik as syn oerienkomstbetingst, sadat it tunnelferkear dekt en de eigen ferbiningen fan ’e host gewurde lit. Ferfange troch dyn eigen berik en apparatnamme, want beide foarbylden hjirûnder binne foarbylden en gjin fan beide is oerdraachber tusken ynstallaasjes.

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tap0 -j MASQUERADE

Kontrolearje dan de beide oare betingsten dy’t itselde symptoom ferberget. Kontrolearje oft trochstjoering oan is, en sa net, skeakelje it dan yn ’e eigen konfiguraasje fan ’e distribúsje yn stee fan mei in echo dy’t by it opnij starten ferdwynt. Lês ek de tellers fan ’e forward-keten, en as dy it tunnelferkear wergriist, stean dan krekt dat ynterface ta en lit it belied fan ’e keten gewurde.

It lêzen fan ’e forward-keten mei tellers kostet ien kommando en slút de helte fan ’e oerbliuwende mooglikheden út foardatst in oare regel oanrekkest.

Wêrom’t de fysike kaart nea oerienkomt

In brêge is in software-swits gearstald út it tap-apparaat en ien fysike ynterface. De frame fan ’e klant giet dy swits yn en ferlit him nei it fysike netwurk as lid fan ’e brêge, net as in pakket op ’e kaart. Dêrom skriuwt de kernel it pakket ta oan ’e brêge en syn poarte, en dêrom ferskynt de kaart dêr’tsto oan tochtst nea yn ’e oerienkomst. Der is neat stikken oan ’e fysike ynterface; it is gewoan net it apparaat dêr’t de kernel dat pakket oan taskriuwt.

It folgjende probleem dêr’t minsken tsjin oan rinne, komt út deselde struktuer: framefiltering op in brêge is in aparte foarsjenning fan IP-filtering. As de eask in beheining op framenivo is, heart it by brêgefiltering, net by in IP-tabelregel.

Bewiis it fan begjin oant ein en meitsje it dan bliuwend

Set ien klant oan en ping wat op it LAN fan ’e server; dy wei oefenet trochstjoering sûnder ienige oersetting. Freegje dêrnei om wat iepenbiers, sadat de masquerade-regel brûkt wurde moat, en lês de teller noch ien kear: hy moat bewege foar dizze test en net foar de foarige. In opname op it tunnelapparaat lit sawol sjen wêr’t de frame ferskynt as hokker adres er draacht.

Lêste stap: set de regels dy’t wurkje yn ’e konfiguraasje dy’t in opnij starten lêst, en skriuw de apparatnamme op dy’t de brêge fan dizze host echt brûkt. Alles wat mei de hân typt is nei in opnij starten fuort, en deselde flater komt werom sûnder wat om it te ferklearjen.

As de teller nei it opnij skriuwen noch net beweecht, fergelykje dan it boarneberik yn ’e regel mei it adres dat de klant echt krigen hat, want in bruorrene server kin adressen útjaan út in berik datsto net bedoelde.

Relatearre artikelen