Kwa nini mteja wa VPN kwenye LAN ya ofisi hupoteza kila jibu
Kompyuta ya mkononi iliyo kwenye LAN ya ofisi na kwenye handaki katika subnet moja hujibu kutoka kiolesura kisichofaa. Uchujaji legea wa njia ya kurudi unaeleza ukimya huu.
Kompyuta ya mkononi inakaa kwenye /24 ya ofisi kupitia Ethernet na pia hujiunga na seva ya OpenVPN inayoishi kwenye /24 hiyo hiyo. Mwenzake anapinga anwani ya handaki; ombi linafika wazi, na hakuna kinachorudi. Kumbukumbu ya handaki ni safi na kuvinjari bado kunafanya kazi, kwa hiyo handaki ndilo mtuhumiwa asiye sahihi. Uthibitishaji wa chanzo wa IPv4 kwenye mashine inayopokea hutupa pakiti kabla ya kitu chochote kuisona.
Kutupa hutokea kabla ya kitu chochote kusoma pakiti
Uthibitishaji wa chanzo huuliza swali moja kuhusu kila pakiti inayoingia: kama mwenyeji huyu angejibu chanzo hicho, jibu lingetoka kupitia kiolesura ambacho pakiti imeingia sasa hivi? Jibu linapokuwa hapana, kernel hutupa pakiti mara inapofika. Hakuna soketi au njia ya kusambaza inayoiona kamwe, ndiyo sababu kunasa kwenye handaki bado kunarekodi ombi ambalo programu haipokei kamwe.
Mteja hapa anashikilia 10.66.0.9 kwenye handaki lake, na seva ya OpenVPN hujibu kwa 192.168.80.10 ndani ya kiambishi cha ofisi. Mwenzake aliye 192.168.80.25 anapinga anwani ya handaki, kwa hiyo ombi linavuka LAN, seva inalielekeza kwenye handaki, na linafika kwenye kiolesura cha handaki cha mteja likiwa limebeba anwani ya chanzo ya ofisi. Katika jedwali la njia la mashine hiyo kiambishi cha ofisi ni cha kifaa cha Ethernet, si cha handaki. Uthibitishaji hulinganisha kiolesura cha kufika na njia, hupata kutokubaliana na hutupa pakiti, kwa hiyo mwenzake anaona hasara kamili wakati pande zote mbili zinaripoti handaki lenye afya.
Mwelekeo wa kioo una umbo lile lile: mteja anapoanza kuelekea ofisi, majibu yanaweza kutupwa upande wa ofisi kwa sababu hiyo hiyo. Sahihisho lililothibitishwa upande mmoja tu mara nyingi hurudi kama tiketi ya pili.
Thibitisha hali inayotumika kabla ya kugusa sysctl yoyote
Soma thamani halisi badala ya kuamini chaguo-msingi la usambazaji, kwa sababu mpangilio wa kila kiolesura ni nusu ya uamuzi. Hali inayotumika ni ile ya juu kati ya thamani ya kiolesura na thamani ya all, kwa hiyo sifuri kwenye kiolesura cha handaki haimaanishi chochote wakati all ni moja. Uamuzi wa hali kali ni uamuzi wa njia, kwa hiyo endesha utafutaji ambao kernel huendesha na linganisha jibu lake na kiolesura ambacho pakiti ilifika kweli.
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
Kisha rudia ping ukiangalia kihesabu cha makosa. Namba inayopanda kando ya ombi ambalo kunasa tayari kunaonyesha ni sahihi ya kutupa huku, si ya njia inayokosekana. Washa ukaguzi wa pakiti za Mirihi ukiwa huko, ili kernel itaje chanzo na kiolesura kilichokataliwa. Kwa pamoja huziondoa siri, ukuta wa moto na iroute inayokosekana kama maelezo.
Andika mstari wa msingi kabla ya kubadilisha chochote: thamani zote mbili, kifaa kilichochaguliwa na utafutaji, na kihesabu ulichokiangalia. Kumbukumbu hiyo ndiyo itakayokuambia baadaye kama mabadiliko yalifanya ulivyofikiri.
Kila hali ya rp_filter inakubali nini kwa kweli
Kernel huonyesha thamani tatu kwa kila kiolesura, na si vivuli vitatu vya kanuni moja. Sifuri huzima ukaguzi. Moja ni kali na inahitaji chanzo kuelekezwa nyuma kupitia kiolesura cha kufika. Mbili ni legea na inahitaji tu kwamba kuna njia fulani kuelekea chanzo kwenye jedwali, popote inapoelekea.
| Value | Name | Accepts | Still rejects |
|---|---|---|---|
| 0 | off | any source at all | nothing on this check |
| 1 | strict | a source routed back out the arrival interface | a source whose route points elsewhere |
| 2 | loose | a source with any route in the table | a source with no route at all |
Mstari unaohesabika hapa ni ule legea, na kile unachokataa bado. Chanzo cha kughushi kinachoweza kuelekezwa popote kwenye jedwali lako hupita, wakati chanzo kisicho na njia yoyote bado kinakataliwa. Kwenye kompyuta ya mkononi ni maelewano membamba; kwenye kipanga njia kinachosambaza trafiki ya watu wengine ni mapana. Hali ni ya mwenyeji, kwa hiyo namba hiyo hiyo inabeba uzito tofauti katika sehemu mbili.
Mstari gani unaohitajika na topolojia hii unatokana na jedwali si na mazoea. Pakiti ni halali na chanzo chake kinaweza kuelekezwa, kwa hiyo legea hulikubali na kali halikubali. Hakuna chochote katika kesi hii kinachohitaji sifuri, na kuchagua sifuri kungeondoa ukaguzi ambao haugharimu chochote hapa.
Chagua mabadiliko madogo zaidi yanayondoa utata
Hali legea ni mabadiliko madogo zaidi yanayofaa, na ni upunguzaji wa kweli wa ukali, si swichi isiyo na madhara. Chaguo bora lipo kila topolojia inaporuhusu: ondoa mwingiliano, na utata unatoweka.
Ambapo kiambishi cha ofisi kinahitajika tu kupitia Ethernet, kiondoe kwenye njia ambazo wasifu huvuta, na anwani itafikiwa kwa njia moja. Wakati njia zote mbili lazima ziwepo pamoja kwa kweli, bandika chanzo na kifaa kwa kanuni ya sera badala ya kulegeza uthibitishaji kwenye kila kiolesura. Hiyo inahifadhi uchujaji kali kwa kila kitu kingine kwenye mashine na kuandika kighairi mahali ambapo mhandisi anayefuata atakitafuta.
Njia yoyote utakayochagua, irekodi kwenye sysctl drop-in si kwenye amri hai. Weka funguo all na default pamoja, ili kuunganisha tena kusiweze kurudisha hali kali kwa utulivu.
# /etc/sysctl.d/99-rp-filter.conf
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2
sysctl --system
Hali legea inaachia nini, na wapi
Hali legea bado inakataa chanzo ambacho hakuna njia ingefikia, na inaacha kukataa chanzo cha kughushi kinachotokea kuwa kinakweza kuelekezwa. Kwenye kompyuta ya mkononi ni maelewano membamba. Kwenye kifaa kinachosambaza trafiki isiyo yake, chaguo hilo hilo ni pana zaidi. Kwa hiyo mpangilio huo huo unabeba maana mbili tofauti sana kulingana na mahali unapofanya kazi.
Kuzima ukaguzi kabisa kwenye mwenyeji anayesambaza trafiki kwa ajili ya watu wengine ndiyo sahihisho pekee la kuepukwa. Sifuri hutupa uthibitishaji ambao hali legea huuhifadhi kwa uangalifu. Kama mwenyeji anasambaza kwa ajili ya wengine, tetea badala yake chaguo la kanuni ya sera kutoka sehemu iliyopita.
Acha dokezo linalotaja kiolesura viwili, kiambishi kinachogongana na jaribio kamili ambalo sasa linafanikiwa. Hiyo ni muhimu zaidi kwa mhandisi anayefuata kuliko mstari unaosema uchujaji ulirekebishwa.