Isang laptop ang nakaupo sa /24 ng opisina sa Ethernet at sumasali rin sa isang OpenVPN server na naninirahan sa parehong /24. Isang katrabaho ang nagpi-ping sa address ng tunel; malinaw na dumarating ang kahilingan, at walang bumabalik. Malinis ang log ng tunel at gumagana pa rin ang pagba-browse, kaya mali ang hinalang tunel. Ang pagpapatunay ng pinagmulan ng IPv4 sa mákinang tumatanggap ay nagtatapon ng packet bago pa man ito basahin ng anuman.

Nangyayari ang pagtatapon bago pa basahin ng anuman ang packet

Nagtanong ng isang katanungan ang pagpapatunay ng pinagmulan tungkol sa bawat papasok na packet: kung sasagot ang host na ito sa pinagmulang iyon, lalabas ba ang sagot sa interface kung saan kararaang dumating ang packet? Kapag ang sagot ay hindi, itinatapon ng kernel ang packet pagdating. Walang socket at walang landas ng pagpapasa ang nakakakita nito kailanman, kaya nagtatala pa rin ang isang pagkuha sa tunel ng kahilingang hindi natatanggap ng aplikasyon.

Hawak ng kliyente dito ang 10.66.0.9 sa kanyang tunel, at sumasagot ang OpenVPN server sa 192.168.80.10 sa loob ng prefix ng opisina. Isang katrabaho sa 192.168.80.25 ang nagpi-ping sa address ng tunel, kaya tumatawid ang kahilingan sa LAN, itinuturo ito ng server sa tunel, at dumarating ito sa interface ng tunel ng kliyente habang dala ang address ng pinagmulan ng opisina. Sa talahanayan ng ruta ng mákinang iyon, ang prefix ng opisina ay pag-aari ng aparatong Ethernet, hindi ng tunel. Inihahambing ng pagpapatunay ang interface ng pagdating sa ruta, natagpuan ang pagkakaiba at itinatapon ang packet, kaya nakikita ng katrabaho ang ganap na pagkawala habang ang dalawang dulo ay nag-uulat ng malusog na tunel.

Ang salamin na direksyon ay may parehong anyo: kapag nagsimula ang kliyente patungo sa opisina, maaaring itapon ang mga sagot sa panig ng opisina sa eksaktong parehong dahilan. Ang pagtatama na naipakita lamang sa isang direksyon ay kadalasang bumabalik bilang pangalawang tiket.

Patunayan ang umiiral na mode bago hawakan ang anumang sysctl

Basahin ang mga epektibong halaga sa halip na magtiwala sa default ng distribusyon, dahil ang setting sa bawat interface ay kalahati lamang ng desisyon. Ang umiiral na mode ay ang mas mataas sa halaga ng interface at halaga ng all, kaya ang sero sa interface ng tunel ay walang ibig sabihin habang ang all ay isa. Ang desisyon ng mahigpit na mode ay desisyon sa ruta, kaya patakbuhin ang paghahanap na pinapatakbo ng kernel at ihambing ang sagot nito sa interface kung saan aktuwal na dumating ang packet.

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

Pagkatapos ay ulitin ang ping habang pinapanood ang tagabilang ng mga error. Ang bilang na tumataas sa tabi ng kahilingang ipinapakita na ng pagkuha ay ang lagda ng pagtatapon na ito, hindi ng nawawalang ruta. I-on ang pag-log ng mga packet ng Mars habang naroon ka, upang pangalanan ng kernel ang pinagmulan at interface na tinanggihan nito. Magkasama nilang inaalis ang cipher, firewall at nawawalang iroute bilang mga paliwanag.

Isulat ang baseline bago baguhin ang anuman: ang dalawang halaga, ang aparatong pinili ng paghahanap, at ang tagabilang na pinanood mo. Ang talaang iyon ang magsasabi sa iyo mamaya kung ginawa ng pagbabago ang inaakala mo.

Ano ang aktuwal na tinatanggap ng bawat mode ng rp_filter

Nagpapakita ang kernel ng tatlong halaga sa bawat interface, at hindi sila tatlong lilim ng isang tuntunin. Pinapatay ng sero ang pagsusuri. Ang isa ay mahigpit at hinihiling na ang pinagmulan ay iruta pabalik sa interface ng pagdating. Ang dalawa ay maluwag at hinihiling lamang na may umiiral na anumang ruta patungo sa pinagmulan sa talahanayan, saanman ito tumuturo.

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

Ang hanay na mahalaga dito ay ang maluwag, at ang patuloy nitong tinatanggihan. Ang pekeng pinagmulan na naruruta kahit saan sa iyong talahanayan ay dumadaan, habang ang pinagmulang walang anumang ruta ay tinatanggihan pa rin. Sa laptop ito ay makitid na pagpapahintulot; sa router na nagpapasa ng trapiko ng ibang tao ito ay malawak. Ang mode ay pag-aari ng host, kaya ang parehong bilang ay may ibang timbang sa dalawang lugar.

Kung aling hanay ang kailangan ng topolohiyang ito ay nagmumula sa talahanayan at hindi sa ugali. Ang packet ay lehitimo at ang pinagmulan nito ay naruruta, kaya tinatanggap ito ng maluwag at hindi ng mahigpit. Walang anuman sa kasong ito ang humihingi ng sero, at ang pagpili ng sero ay mag-aalis ng pagsusuring walang gastos dito.

Piliin ang pinakamaliit na pagbabago na nag-aalis ng kalabuan

Ang maluwag na mode ang pinakamaliit na pagbabagong umaangkop, at ito ay tunay na pagbaba ng kahigpitan, hindi isang hindi mapanganib na switch. May mas mabuting opsyon sa tuwing pinapayagan ng topolohiya: alisin ang overlap, at mawawala ang kalabuan.

Kung saan kailangan lamang ang prefix ng opisina sa Ethernet, alisin ito sa mga rutang hinihila ng profile at magiging maabot ang address sa isang landas. Kapag talagang kailangang magkasamang umiral ang dalawang landas, i-pin ang pinagmulan at aparato gamit ang tuntunin ng patakaran sa halip na luwagan ang pagpapatunay sa bawat interface. Pinapanatili nito ang mahigpit na pagsala para sa lahat ng iba pa sa makina at idinodokumento ang eksepsyon kung saan hahanapin ito ng susunod na inhinyero.

Anuman ang landas na piliin mo, itala ito sa isang sysctl drop-in at hindi sa isang buhay na utos. Itakda ang mga susi all at default nang magkasama, upang ang muling pagkonekta ay hindi tahimik na makapagbalik ng mahigpit na mode.

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

Ano ang isinusuko ng maluwag na mode, at saan

Tinatanggihan pa rin ng maluwag na mode ang pinagmulang hindi maabot ng anumang ruta, at tumitigil itong tanggihan ang pekeng pinagmulang nagkataong naruruta. Sa laptop ito ay makitid na pagpapahintulot. Sa aparatong nagpapasa ng trapikong hindi pag-aari nito, ang parehong pagpili ay mas malawak. Kaya ang parehong setting ay may dalawang lubos na magkaibang kahulugan depende sa lugar kung saan ito tumatakbo.

Ang ganap na pagpatay ng pagsusuri sa isang host na nagpapasa ng trapiko para sa ibang tao ang tanging pagkukumpuni na dapat iwasan. Itinatapon ng sero ang pagpapatunay na maingat na pinapanatili ng maluwag na mode. Kung ang host ay nagpapasa para sa iba, ipaglaban sa halip ang opsyon ng tuntunin ng patakaran mula sa naunang seksyon.

Mag-iwan ng tala na nagbibigay ng pangalan sa dalawang interface, ang magkakapatong na prefix at ang eksaktong pagsubok na nagtatagumpay ngayon. Iyon ay mas kapaki-pakinabang sa susunod na inhinyero kaysa sa isang linyang nagsasabing inayos ang pagsala.

Kaugnay na mga artikulo