Linux VPN atbildes pazūd? Pārbaudiet rp_filter un maršrutu
IPv4 avota validācija var noraidīt paketi, kuras atpakaļceļš neatbilst režīmam. Pirms to izslēgt, pārbaudiet maršrutēšanu un faktisko iestatījumu.
Pieprasījumi pamet mašīnu, VPN partneris atbild, un atbilde nekad nesasniedz ligzdu. Tunelis ir pacelts, partnera žurnāli rāda, ka pakete tiek sūtīta, un nekas lietotnē neizskaidro klusumu. Linux vidē viens no ierastajiem aizdomās turamajiem ir apgrieztā ceļa filtrēšana: ienākošu IPv4 paketi var noraidīt, ja avota validācija nesakrīt ar maršrutu, ko kodols sagaida šim avotam. Secīga pārbaude pasaka, vai tas ir cēlonis vai sagadīšanās. Tā arī neļauj izslēgt drošības kontroli, lai salabotu trūkstošu maršrutu.
Ko izlemj avota validācija
Kodols pārbauda, vai paketes avota adrese ir ticama saskarnei, pa kuru tā ieradās, meklējot maršrutu tabulā atpakaļceļu uz šo avotu. Ja atpakaļceļš rāda citur, paketi var izmest, pirms to ierauga jebkurš ugunsmūra noteikums vai lietotnes ligzda. Šī pārbaude pastāv, lai noteiktus viltošanas modeļus padarītu grūtākus, un tāpēc asimetriski un politikas maršrutēti risinājumi tajā ieskrien, kamēr jebkurš parasts klients tajā pašā tīklā strādā labi. Parastiem klientiem ir simetriska maršrutēšana, un tieši to pārbaude pieņem.
Svarīgais vārds ir ticama. Pakete var būt pilnīgi likumīga un tomēr neizturēt pārbaudi, jo netiek pārbaudīta likumība.
Lasiet faktisko režīmu, nevis vienu lauku
Ir trīs režīmi: izslēgts, stingrs un vaļīgs. Stingrs uzliek citādu maršruta gaidu nekā vaļīgs, un globālais iestatījums mijiedarbojas ar tiem, kas noteikti katrai saskarnei, tāpēc viena faila lasīšana var nepareizi aprakstīt to, kas faktiski ir spēkā. Lasiet abus un lasiet tos saskarnē, kas saņem atbildi, nevis noklusējuma maršruta saskarnē.
sysctl net.ipv4.conf.all.rp_filter
sysctl net.ipv4.conf.<iface>.rp_filter
ip route get <source-of-the-reply>Maršruta meklēšana trešajā rindā ir tā daļa, ko cilvēki izlaiž. Tā pasaka, ko kodols domā par avotu, un tas ir tieši pārbaudes ievads.
Atrodiet neatbilstību pirms pārbaudes maiņas
Noskaidrojiet, kāpēc atbilde ierodas šajā saskarnē un vai tās atpakaļceļam jābūt citādam. Politikas noteikums, kas pieprasījumus sūta pa vienu ceļu, bet atbildes atgriež pa citu, ir likumīgs risinājums, un tieši šo risinājumu noraida stingrā validācija. Politikas maršrutēšanā izmantotās atzīmes šeit var būt svarīgas arī tāpēc, ka tās maina, ko atgriež apgrieztā meklēšana.
Ja atpakaļceļš vienkārši trūkst, tā pievienošana salabo cēloni, nevis izslēdz pārbaudi. Trūkstošs maršruts, ugunsmūra noraidījums un nepareizs trafika atlasītājs rada vienu un to pašu redzamo simptomu, un tikai viens no tiem ir par avota validāciju.
Neizslēdziet avota pārbaudes globāli kā pirmo reakciju. Tas apmaina konkrētu diagnozi pret plašu uzvedības maiņu, kas jums vēlāk būs jāatceras.
Selektīva pielāgošana, ko varat aizstāvēt
Ja šaura pielāgošana patiešām ir vajadzīga, ierobežojiet to ar saskarni, kurai tā ir nepieciešama, pierakstiet, kāpēc, un ievietojiet to konfigurācijā, kurai pieder šī saskarne, lai tā pārdzīvotu pārstartēšanu. Pēc tam vēlreiz pārbaudiet tieši to plūsmu, kas neizdevās, no tā paša avota uz to pašu mērķi, nevis ping uz kaut ko ērtu.
Iekļaujiet gadījumu, kas joprojām būtu jānoraida. Ja šis gadījums tagad izdodas, pielāgošana vājināja vairāk nekā vienu ceļu, ko gribējāt salabot.
Turiet IPv4 un IPv6 atsevišķi
Pazīstami izskatošs sysctl nav politika katrai adrešu saimei. IPv6 ir sava uzvedība un savi iestatījumi, un mašīna var būt stingra vienā saimē un iecietīga otrā, neviens to nepamana, līdz neizdodas konkrēts mērķis. Pārbaudiet abus, ja darba slodze izmanto abus.
Pierakstiet režīmu, saskarni, maršruta meklēšanas izvadi un izmaiņu iemeslu vienā vietā. Nākamais cilvēks atradīs iestatījumu un nekādu skaidrojumu, un vai nu to noņems, vai nokopēs tur, kur tam nav vietas.