Eramangarri bat bulegoko /24 sarean dago Ethernet bidez eta, aldi berean, /24 berean bizi den OpenVPN zerbitzari batera konektatzen da. Lankide batek tunelaren helbidera ping egiten du; eskaera argi iristen da, eta ez da ezer itzultzen. Tunelaren erregistroa garbia da eta nabigazioak oraindik funtzionatzen du, beraz tunela da susmagarri okerra. IPv4 jatorriaren baliozkotzeak, jasotzen duen makinan, paketea baztertu egiten du ezerk irakurri aurretik.

Bazterketa paketea ezerk irakurri aurretik gertatzen da

Jatorriaren baliozkotzeak galdera bat egiten du sartzen den pakete bakoitzeko: ostalari honek jatorri hari erantzungo balio, erantzuna paketea oraintxe iritsi den interfazetik aterako litzateke? Erantzuna ez bada, kernelak paketea baztertu egiten du iristean. Socket batek ere ez eta birbidaltze-bide batek ere ez dute sekula ikusten, eta horregatik tunelaren kapturak aplikazioak sekula jasotzen ez duen eskaera bat erregistratzen du oraindik.

Hemen bezeroak 10.66.0.9 du bere tunelean, eta OpenVPN zerbitzariak 192.168.80.10 helbidetik erantzuten du bulegoko aurrizkiaren barruan. 192.168.80.25 helbideko lankide batek tunelaren helbidera ping egiten du, beraz eskaerak sare lokala zeharkatzen du, zerbitzariak tunelera bideratzen du, eta bezeroaren tunel-interfazera iristen da bulegoko jatorri-helbidea eramanez. Makina horren bideratze-taulako bulegoko aurrizkia Ethernet gailuari dagokio, ez tuneleari. Baliozkotzeak iritsiera-interfazea bidearekin alderatzen du, desadostasun bat aurkitzen du eta paketea baztertzen du, beraz lankideak galera osoa ikusten du bi muturrok tunel osasuntsu baten berri ematen duten bitartean.

Ispilu-norabidearen forma bera da: bezeroa bulegorantz abiatzen denean, erantzunak bulegoko aldean bazter daitezke arrazoi beragatik. Norabide bakarrean egiaztatutako konponketa bigarren tiket gisa itzultzen da normalean.

Frogatu indarrean dagoen modua edozein sysctl ukitu aurretik

Irakurri balio eraginkorrak banaketaren lehenespen batean fidatu beharrean, interfaze bakoitzeko ezarpena erabakiaren erdia baino ez da eta. Indarrean dagoen modua interfazearen balioaren eta all balioaren arteko handiena da, beraz tunel-interfazean zero bat ez da ezer all bat den bitartean. Modu zorrotzaren erabakia bideratze-erabakia da, beraz exekutatu kernelak exekutatzen duen bilaketa eta alderatu haren erantzuna paketea benetan iritsi zen interfazearekin.

tcpdump -ni tun0 icmp and host 192.168.80.25
ip route get 192.168.80.25
sysctl net.ipv4.conf.all.rp_filter net.ipv4.conf.tun0.rp_filter

Ondoren errepikatu pinga errore-kontagailuari begiratuz. Kapturak jadanik erakusten duen eskaera baten ondoan igotzen den zenbaki bat bazterketa honen sinadura da, falta den bide batena ez. Piztu marterako paketeen erregistroa han zauden bitartean, kernelak baztertu zuen jatorria eta interfazea izenda ditzan. Elkarrekin kanpo uzten dituzte zifratzea, suebakia eta falta den iroute azalpen gisa.

Idatzi oinarria ezer aldatu aurretik: bi balioak, bilaketak aukeratu duen gailua eta begiratu duzun kontagailua. Erregistro horrek esaten dizu geroago aldaketak uste duzuna egin duen.

Zer onartzen duen rp_filter modu bakoitzak benetan

Kernelak hiru balio erakusten ditu interfaze bakoitzeko, eta ez dira arau beraren hiru tonu. Zeroak egiaztapena desgaitzen du. Bata zorrotza da eta jatorria iritsiera-interfazean zehar atzera bideratua izatea eskatzen du. Bik lasaia da eta taulan jatorrirako bideren bat existitzea baino ez du eskatzen, nora seinalatzen duen ere.

ValueNameAcceptsStill rejects
0offany source at allnothing on this check
1stricta source routed back out the arrival interfacea source whose route points elsewhere
2loosea source with any route in the tablea source with no route at all

Hemen axola duen errenkada lasaia da, eta hark baztertzen jarraitzen duena. Zure taulan edozein lekutan bideragarria den jatorri faltsu bat pasatzen da, inolako biderik ez duen jatorria oraindik ukatzen den bitartean. Eramangarrian kontzesio estua da; beste batzuen trafikoa birbidaltzen duen bideratzaile batean zabala da. Modua ostalariaren da, beraz zenbaki berak pisu desberdina du bi lekuetan.

Topologia honek zein errenkada behar duen taulatik dator, ohituratik ez. Paketea zilegia da eta haren jatorria bideragarria, beraz lasaiak onartzen du eta zorrotzak ez. Kasuan ezerk ez du zero eskatzen, eta zero aukeratzeak hemen ezer kostatzen ez duen egiaztapen bat kenduko luke.

Aukeratu anbiguotasuna kentzen duen aldaketarik txikiena

Modu lasaia da egokitzen den aldaketarik txikiena, eta zorroztasunaren benetako murrizketa da, ez etengailu kaltegabe bat. Aukera hobea dago topologiak uzten duen guztietan: kendu gainjartzea, eta anbiguotasuna desagertzen da.

Bulegoko aurrizkia Ethernet bidez baino behar ez denean, kendu profileko bideak ateratzen dituen bideetatik, eta helbidea bide bakarrera iristeko modukoa izango da. Bi bideek benetan elkarrekin egon behar dutenean, iltzatu jatorria eta gailua politika-arau batekin, interfaze guztietan baliozkotzea lasaitzen ibili beharrean. Horrek makina osoko gainerako guztiarentzako iragazketa zorrotza mantentzen du eta salbuespena hurrengo ingeniariak bilatuko duen tokian dokumentatzen du.

Edozein bide aukeratzen duzula ere, sysctl drop-in batean erregistratu, zuzeneko komando batean eta ez. Ezarri all eta default gakoak elkarrekin, berriz konektatzeak modu zorrotza isilean berrezarri ezin dezan.

# /etc/sysctl.d/99-rp-filter.conf
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2
sysctl --system

Zer uzten duen modu lasaiak, eta non

Modu lasaiak oraindik ukatzen du bide batek ere iritsi ezin izango lukeen jatorria, eta ustekabean bideragarria den jatorri faltsua ukatzen uztea. Eramangarrian kontzesio estua da. Bereak ez duen trafikoa birbidaltzen duen gailu batean, aukera bera askoz zabalagoa da. Beraz, ezarpen berak bi esanahi oso desberdin ditu exekutatzen den lekuaren arabera.

Egiaztapena erabat itzaltzea, beste batzuentzako trafikoa birbidaltzen duen ostalari batean, saihestu beharreko konponketa bakarra da. Zeroak modu lasaiak arretaz gordetzen duen baliozkotzea botatzen du. Ostalariak beste batzuentzat birbidaltzen badu, defendatu aurreko ataleko politika-arauaren aukera.

Utzi ohar bat bi interfazeak, gainjartzen den aurrizkia eta orain arrakastatsu den proba zehatza izendatuz. Hori baliagarriagoa da hurrengo ingeniariarentzat iragazketa egokitu zela dioen lerro bat baino.

Erlazionatutako artikuluak